你是否厌倦了主流社交平台的臃肿与广告?是否想搭建一个属于自己的极简社交空间?
Moments 是一款开源的极简朋友圈应用,支持 Markdown 笔记、图片上传、音乐视频嵌入等功能,且完全免费开源。本文将手把手教你通过 Docker 部署 Moments,并解锁其隐藏玩法。
一、为什么选择 Moments?
✅ 轻量高效:基于 SQLite 数据库,无需复杂配置
✅ 功能纯粹:无广告干扰,专注内容创作
✅ 开源可控:支持私有化部署,数据完全自主管理
✅ 亮点功能:
- 📝 Markdown 笔记 + 图片本地存储
- 🎵 嵌入网易云音乐/B站视频/外部链接
- 📚 豆瓣读书/电影引用
- 🌙 暗黑模式 + 自定义主题
二、准备工作:生成 JWT 密钥
JWT 密钥是系统安全的核心,需通过以下任一方式生成:
# 方法 1:OpenSSL(推荐)
openssl rand -hex 32
# 方法 2:SHA256 哈希
echo $RANDOM | sha256sum | awk '{print $1}'
# 方法 3:在线生成(备用)
https://www.uuidgenerator.net/
⚠️ 务必将生成的密钥替换到后续配置中,否则服务将无法启动!
三、Docker 一键部署
1. 创建项目目录
mkdir -p docker/Moments && cd docker/Moments
2. 编写 docker-compose.yml
新建文件并粘贴以下内容(替换 JWT_KEY
为生成的密钥):
version: '3'
services:
moments:
image: kingwrcy/moments:latest
container_name: moments
restart: always
environment:
PORT: 3000
JWT_KEY: "你的生成的密钥" # 🔴 此处必须修改!
ports:
- "3000:3000"
volumes:
- ./data:/app/data # 数据持久化目录
3. 启动容器
docker compose up -d
等待 10-20 秒,访问 http://localhost:3000
即可看到登录界面。
四、初始化与配置
1. 默认账号
- 用户名:
admin
- 密码:
a123456
💡 登录后可修改密码或通过后台启用多用户注册。
2. 关键配置项
功能 | 配置方法 |
---|---|
禁用用户注册 | 添加环境变量 REGISTER_ENABLED=false |
修改网站标题 | 添加环境变量 SITE_TITLE="你的标题" |
使用 S3 存储图片 | 配置 AWS 凭证(需额外环境变量) |
五、进阶玩法:打造个性化社交空间
1. 自定义主题
- 头图/头像:替换
./data
目录下的默认图片文件 - 暗黑模式:系统自动适配,也可通过 CSS 深度定制
2. 内容嵌入技巧
平台 | 嵌入方法 |
---|---|
豆瓣电影 | 输入 [豆瓣电影: 电影ID] |
B 站视频 | 直接粘贴视频链接 |
网易云音乐 | 使用官方分享代码 |
3. 数据备份与迁移
# 备份数据库
docker exec moments sqlite3 /app/data/database.sqlite ".backup /path/to/backup.db"
# 恢复数据库
docker cp /path/to/backup.db moments:/app/data/database.sqlite
六、常见问题排查
❌ 容器启动失败
- 检查 JWT 密钥:确认已替换占位符且无特殊字符
- 端口冲突:修改
docker-compose.yml
中的PORT
值
❌ 图片上传无效
- 确认
./data/uploads
目录权限:chmod -R 777 ./data
- 本地存储默认启用,S3 存储需额外配置
七、结语
通过本文,你已经成功搭建了一个完全自主可控的极简社交平台。无论是作为个人知识库,还是小众社区,Moments 都能完美胜任。
下一步尝试:
- 部署 HTTPS(推荐使用 Nginx 反代)
- 集成 RSS 订阅功能
- 通过 CSS 实现主题切换
声明:本文遵循 CC-BY-NC-SA 4.0 协议,转载请注明出处。
原文链接:https://oneln.org/archives/191/
Comments NOTHING