​​你是否厌倦了主流社交平台的臃肿与广告?是否想搭建一个属于自己的极简社交空间?
​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/


  • reward_image1
偶尔认真,经常摆烂,但总归在学点东西。
最后更新于 2025-05-25