TOC
开始
本来程序就小,非要装docker。
硬盘都不够下镜像,官网更是只有docker部署教程。
记录一下二进制部署。
所需材料
memos : https://github.com/usememos/memos
cloudflare R2 [需要绑卡] : https://developers.cloudflare.com/r2/
下载memos二进制
https://github.com/usememos/memos/releases
这是官方项目的发布页,找到自己的架构下载下来。
更多构建
https://github.com/k0baya/memos-binary/releases
https://github.com/memospot/memos-builds
版本选择请看 https://blog.memos.ee/archives/227.html
注意 如果你R2需要自定义域名而并非直接使用 预签名的url 请使用0.21.0及更旧的版本。 从22开始强制使用预签名的url也就是不支持自定义域名
# 创建 /opt/memos/memos/data 目录mkdir -p /opt/memos/data/
# 解压 tar.gz 文件到 /opt/memos/memostar -xzvf memos*.tar.gz -C /opt/memos/
创建memos rc服务
touch /etc/init.d/memos
vi /etc/init.d/memos
粘贴以下内容进去
#!/sbin/openrc-run
name="memos"description="memos daemon"supervisor="supervise-daemon"
command="/opt/memos/memos"command_user="memos:memos"directory="${DATA_FOLDER:-/opt/memos/}"pidfile="/run/${RC_SVCNAME}.pid"
command_args="--data ${directory}data/ --mode prod --port 5230 --addr 127.0.0.1"
depend() { need net}
start_pre() { checkpath -d -m 0755 -o memos:memos "${directory}"}
权限
#非root用户运行更安全,添加用户memosadduser -D memos
chmod +x /etc/init.d/memos
chmod +x /opt/memos/memoschown -R memos:memos /opt/memos/chown -R memos:memos /opt/memos/data/chown -R memos:memos /opt/memos/memoschmod -R 755 /opt/memos/
开机启动
rc-update add memos
创建反代
因为监听 127.0.0.1本地地址不能端口直接访问。不需要反代删除rc服务中--addr 127.0.0.1
#caddy 示例,没有证书删除tls。证书可以通过cloudflare申请15年的:443 { reverse_proxy :5230 tls /ssl/pem /ssl/key}
Cloudflare R2
部署完成后。创建一个桶 前往设置,存储设置
#文件名存储方式Filepath template详解https://www.usememos.com/docs/advanced-settings/local-storage
#创建Api与R2会出现,对着填Access key id访问密钥 ID
Access key secret机密访问密钥
Endpoint上传端点即入口
Region桶地区可填auto
Bucket桶名
URL 前缀自定义的桶链接。
打开跨域 Cloudflare R2 设置 CORS 策略
域名修改成自己的,修复无法访问桶资源
[ { "AllowedOrigins": ["https://memos.me"], "AllowedMethods": ["GET"], "AllowedHeaders": ["*"], "ExposeHeaders": ["x-amz-request-id"], "MaxAgeSeconds": 3000 }]