在CyberPanel的Docker管理器中安装memos

本文假设memos在服务器的数据安装位置为:/home/note.maizixing.com/memos

1 在CyberPanel 的 Docker 中创建memos

下载镜像

先在CyberPanel左边菜单中找到Docker Manager。

Docker Manager > Mange Images,搜索memos,选第一个neosmemo/memos,下来选latest,点击Pull.

创建新容器

Docker Manager > Create New Container,会跳出如下界面,Select Owner 为自己的CyberPanel默认账号用户名,或则其他,Memory limit 随便。

添加参数后,最终设置结果如下: 

具体设置的参数如下: 在ENV 这条 默认有的参数下点击Add more,添加下面2条参数:

url: https://note.maizixing.com/

mode: prod

在Map Volumes下

Add field:

/var/opt/memos /home/note.maizixing.com/memos

运行memos容器

在memos容器的管理界面中有个LOGS面板,刷新边上的圈圈键,如下截图,可以看到,运行LOG信息中显示似乎正常,但是输入网址后是无效的。

用SSH登录到服务器中,输入docker ps -a查看memos运行状态(注意运行这个命令会使停止的docker服务自动启动),你会发现端口5230出问题了,因为在之前Docker创建过程中没有port条目的输入,这个就是问题所在,我们需要手动修改port信息,添加上5230。

2 容器配置文件修改

先到cyberpanel中停止docker服务。

在CyberPanel左边菜单中最下面中找到:Manage Services > Service Status,进入后把Docker 停止,就是点击显示的暂停键。

SSH登录到服务器中,找到配置文件的位置,星号就是你的容器:

/var/lib/docker/containers/**********************

进入后,在容器的文件中分别对下面2个配置文件进行修改:

hostconfig.json文件:

用笔记本打开,搜索PortBindings后,把这个项目替换成 “PortBindings”:{“5230/tcp”:[{“HostIp”:””,”HostPort”:”5230″}]},

config.v2.json文件:

找到这个位置,”AttachStderr”:false, 到这里输入 “Tty”:false, 把端代码添加到上面红色位置,”ExposedPorts”:{“5230/tcp”:{}},

然后,使用SSH登录服务器输入docker ps -a查看memos运行状态,在显示的信息中已经出现了端口 5230的信息,说明port起作用了。

这个时候你已经可以在地址后添加端口进入memos了。

3 免port登入设置

使用SSH 登录到服务器,运行以下命令:

sudo vim /usr/local/lsws/conf/httpd_config.conf

按要求输入密码后,按一次 i 键 开始进入编辑模式,把下面的内容添加到文档末尾:

extprocessor dockerbackendmemos {
type proxy
address 127.0.0.1:5230
maxConns 100
pcKeepAliveTimeout 60
initTimeout 60
retryTimeout 0
respBuffer 0
}

按一下 Esc 键, 再输入 :wq 后,保存退出。

在你的电脑上用 笔记本 制作一个空文档另存为 .htaccess 文件,上传到memos的安装目录。

从CyberPanel面板中按次序 Websites > List Domains,找到你的memos网站,点击管理,在新窗口中找到Rewrite Rules 然后把下面的内容拷贝到里面. 以下命令也包含把HTTP强制跳转到HTTPS。

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
REWRITERULE ^(.*)$ [<http://dockerbackendmemos/$1>](<http://dockerbackendmemos/$1>) [P]

保存退出后,就可以直接输入网址进入memos网站了。

Leave a Reply

Your email address will not be published. Required fields are marked *