
standardnotes/syncing-server-jsStandard Notes Syncing Server JS 是基于 JavaScript/Node.js 构建的 Standard Notes 自托管同步服务器实现。作为 Standard Notes 生态的核心组件,它允许用户脱离官方云服务,自行部署服务器以存储和同步笔记数据,实现数据私有化管理,确保用户对笔记数据的完全控制。
bashdocker run -d \ --name standard-notes-server \ -p 3000:3000 \ -v /path/to/local/data:/app/data \ -e NODE_ENV=production \ standardnotes/syncing-server-js
参数说明:
-p 3000:3000:映射容器端口到主机(默认服务端口为3000)-v /path/to/local/data:/app/data:挂载数据卷,持久化存储笔记数据-e NODE_ENV=production:设置生产环境模式创建 docker-compose.yml 文件:
yamlversion: '3' services: standard-notes-server: image: standardnotes/syncing-server-js container_name: standard-notes-server restart: always ports: - "3000:3000" volumes: - ./server-data:/app/data environment: - NODE_ENV=production - PORT=3000 - DATABASE_URL=sqlite:///app/data/db.sqlite - LOG_LEVEL=info - CORS_ORIGIN=[***]
启动服务:
bashdocker-compose up -d
| 环境变量 | 描述 | 默认值 |
|---|---|---|
NODE_ENV | 运行环境(development/production) | development |
PORT | 服务监听端口 | 3000 |
DATABASE_URL | 数据库连接URL,支持SQLite/PostgreSQL/MySQL | sqlite:///app/data/db.sqlite |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
CORS_ORIGIN | 允许的跨域请求源,多个源用逗号分隔 | [***] |
JWT_SECRET | JWT签名密钥,用于用户认证(生产环境必须自定义) | 自动生成随机值(容器重启后会变化) |
SYNCING_SERVER_URL | 服务器对外访问URL(用于客户端配置) | http://localhost:3000 |
部署完成后,需在 Standard Notes 客户端中配置自定义同步服务器:
[***])为确保数据不丢失,需通过 -v 参数挂载主机目录到容器内 /app/data 路径。SQLite 数据库文件(默认)、日志及其他持久化数据将存储在此目录。若使用外部数据库(如 PostgreSQL),需确保数据库服务独立部署并配置持久化。
bashdocker pull standardnotes/syncing-server-js docker restart standard-notes-server
定期备份挂载的 /path/to/local/data 目录或外部数据库数据,避免数据丢失。
JWT_SECRET 并妥善保管,避免容器重启导致认证失效
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务