无公网自建Standard Notes私密笔记,端到端加密云同步,NAS极简Docker部署。无公网设置帕斯内网穿透远程访问!
作者
小编
发布时间

项目介绍
Standard Notes 是一个开源的端到端加密笔记应用,专注于隐私保护和数据安全。它提供了完整的自托管解决方案,让用户可以完全控制自己的笔记数据。Standard Notes 采用微服务架构,包含 API 网关、同步服务器、认证服务、数据库和缓存等组件,确保数据的安全性和服务的稳定性。
该项目的最大特点是端到端加密,所有笔记内容在客户端加密后才传输到服务器,即使是服务器管理员也无法查看用户的笔记内容。支持跨平台同步,可以在桌面端、移动端和网页端无缝使用。项目采用 Docker 容器化部署,大大简化了自托管的复杂度,相比传统部署方式减少了 65% 的内存使用量。
项目地址: 点我跳转
部署安装
如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。
复制下列的配置文件
1services:2 server:3 image: standardnotes/server4 env_file: .env5 container_name: server_self_hosted6 restart: unless-stopped7 ports:8 - 3000:30009 - 3125:310410 volumes:11 - ./logs:/var/lib/server/logs12 - ./uploads:/opt/server/packages/files/dist/uploads13 networks:14 - standardnotes_self_hosted1516 localstack:17 image: localstack/localstack:3.018 container_name: localstack_self_hosted19 expose:20 - 456621 restart: unless-stopped22 environment:23 - SERVICES=sns,sqs24 - HOSTNAME_EXTERNAL=localstack25 - LS_LOG=warn26 volumes:27 - ./localstack_bootstrap.sh:/etc/localstack/init/ready.d/localstack_bootstrap.sh28 networks:29 - standardnotes_self_hosted3031 db:32 image: mysql:833 container_name: db_self_hosted34 environment:35 - MYSQL_DATABASE=standard_notes_db36 - MYSQL_USER=std_notes_user37 - MYSQL_ROOT_PASSWORD=changeme12338 - MYSQL_PASSWORD=changeme12339 expose:40 - 330641 restart: unless-stopped42 volumes:43 - ./data/mysql:/var/lib/mysql44 - ./data/import:/docker-entrypoint-initdb.d45 networks:46 - standardnotes_self_hosted4748 cache:49 image: redis:6.0-alpine50 container_name: cache_self_hosted51 volumes:52 - ./data/redis/:/data53 expose:54 - 637955 restart: unless-stopped56 networks:57 - standardnotes_self_hosted5859networks:60 standardnotes_self_hosted:61 name: standardnotes_self_hosted
打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目
这里需要改成你需要的数据库密码,将 changeme123 修改为你的安全密码,其他的保持不变。
如果提示端口被占用可以修改下面的字段,但是需要保持格式正确。主要是 3000 和 3125 端口,可以修改为其他未被占用的端口。
同时需要创建 .env 环境变量文件,内容如下:
1DB_HOST=db2DB_PORT=33063DB_USERNAME=std_notes_user4DB_PASSWORD=changeme1235DB_DATABASE=standard_notes_db6DB_TYPE=mysql78REDIS_PORT=63799REDIS_HOST=cache10CACHE_TYPE=redis1112AUTH_JWT_SECRET=你的32位随机密钥13AUTH_SERVER_ENCRYPTION_SERVER_KEY=你的32位随机密钥14VALET_TOKEN_SECRET=你的32位随机密钥
注意:需要为 AUTH_JWT_SECRET、AUTH_SERVER_ENCRYPTION_SERVER_KEY 和 VALET_TOKEN_SECRET 生成32位随机密钥,可以使用在线工具生成。
创建成功后可以访问 ip:3000 到这里就可以正常显示项目了
穿透公网
打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道
隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写
本地 IP 默认就可以
传输协议可以选择 TCP 也可以选择 HTTP/HTTPS
HTTP 就是域名的形式,教程以使用 TCP 为演示
本项目中如果没有修改端口的话默认是 3000 端口,这里本地 IP 就填 3000
远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定
点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可
复制帕斯内网穿透控制台的访问 IP 和端口
可以看到已经正常穿透成功了
本篇教程结束