
推荐一个开源项目Moments - 极简朋友圈
🌟 Moments - 极简朋友圈
💡 从 v0.2.1 开始,Moments 采用 Golang 重写服务端,包体积更小,功能更强!
🔍 仍需 v0.2.0 版本?点这里
🎯 功能亮点
👤 用户系统
- 🏠 默认账号:
admin/a123456
,登录后可在后台修改 - 👥 支持多用户模式,可控制是否允许注册
📝 Memo 记录
- 🔖 标签管理,让内容更清晰
- 🖼️ 支持图片上传,可存储至本地或 S3
- 🖼️ 自动生成缩略图(目前仅支持本地上传)
- 📝 支持 Markdown 语法,后续增加更多标签支持
- ❤️ 点赞 & 评论,可在后台控制评论功能
- 🎵 支持网易云音乐、B 站视频、外部链接嵌入
- 📖 支持豆瓣读书 & 豆瓣电影引用
🛠️ 其他功能
- 📱 完美适配移动端
- 🌙 支持暗黑模式
- ⏫ 回到顶部按钮
- 🗄️ 数据库采用 SQLite,随时可备份
- 🖼️ 支持自定义头图、头像、网站标题
🚀 快速上手
🛠️ 环境变量
Moments 支持以下 环境变量 进行配置:
变量名 | 说明 | 默认值 |
---|---|---|
PORT | 监听端口 | 3000 |
JWT_KEY | JWT 密钥 | 不填写则随机生成,重启后需重新登录 |
DB | SQLite 数据库存放目录 | db.sqlite (默认 /app/data/db.sqlite ) |
UPLOAD_DIR | 上传文件本地目录 | upload (默认 /app/data/upload ) |
LOG_LEVEL | 日志级别 | info (可选 debug ) |
ENABLE_SWAGGER | 启用 Swagger 文档 | false (可选 true ,访问 /swagger/index.html ) |
⚡ 支持 .env
文件加载环境变量,示例:
1 |
|
🐳 使用 Docker
🔹 启动容器(需替换 $JWT_KEY
):
1 |
|
📌 持久化数据: /app/data
挂载至 /var/moments
📌 可选: latest
(稳定版) 或 dev
(开发版,功能前沿但相对不稳定)
📝 使用 Docker Compose
1 |
|
💻 可执行文件安装
🔽 下载最新版本
示例(Windows 版):
文件名 | 说明 |
---|---|
moments-windows-amd64-x.x.x.exe.zip | 压缩包,解压后可直接运行 |
moments-windows-amd64-x.x.x.exe-checksum.txt | MD5 校验码,验证文件完整性 |
🔑 生成 JWT_KEY
📌 方法 1:OpenSSL
1 |
|
📌 方法 2:SHA256
1 |
|
📌 方法 3:在线生成(点这里 生成 UUID)
🛠️ 开发
🔧 依赖环境
📌 后端: Go 1.22.5+
📌 前端: NodeJS 18+
,推荐使用 PNPM
📌 VSCode 推荐插件:
gitlens
(Git 扩展)prettier
(代码格式化)eslint
(代码规范检查)golang
(Go 语言支持)
🏗️ 启动
1️⃣ 使用 make
(推荐)
后端:
1 |
|
前端(新终端):
1 |
|
2️⃣ 手动运行
后端:
1 |
|
前端:
1 |
|
📍 启动后访问 http://localhost:3000
🌐 其他版本
项目 | 演示地址 |
---|---|
RandallAnjie/moments | https://moments.randallanjie.com |
❤️ 致谢 Contributors
感谢所有贡献者!🎉
kingwrcy | Randall | jonny | akari | yee | Chef | 小王先森 |
Athurg Gooth | xuewenG | Secretlovez | 浪子 | lateautumn2 | Jinvic | DIANSO |
This project follows the all-contributors specification. Contributions of any kind welcome!
📌 欢迎贡献! 详情见 all-contributors 规范。
⭐ Star History
🔥 如果你觉得 Moments 还不错,欢迎点个 Star! 🚀