moments: 极简朋友圈
支持匿名评论/点赞
支持引入网易云音乐,b站视频,插入链接等
支持自定义头图,个人头像,网站标题等
支持上传图片到S3兼容的云存储,支持本地存储
适配手机
支持暗黑模式
数据库采用sqlite,可随时备份
支持引入豆瓣读书/豆瓣电影,样式来源于这里
有其他需求欢迎提issues.
默认用户名密码:admin/a123456,登录进去后后台可以自己修改密码.
自定义其他配置
鉴于萝卜青菜各有所爱,每个人情况不一致,特此使用配置文件配置各项特性化需求,目前支持以下环境变量配置见.
同时也支持使用配置文件的方式,环境变量的优先级高于配置文件.
配置文件的使用方法:docker启动时把配置文件挂载进去,挂载目录为
/app/data/config.properties
你可以先复制这个文件,修改,然后挂载进docker内就可以了.
点我查看支持的个性化配置
使用google recaptchaV3(可选)
自行去google recaptchaV3 admin console开通,每月100万次免费调用. 开通成功后复制网站密钥和通信密钥,填入上方的环境变量对应的key里面.
Docker启动
Docker首次启动看这里
Docker更新看这里
Docker Compose启动
Docker Compose启动看这里
源码编译启动
首先设置环境变量:
-- sqlite数据库位置
DATABASE_URL="file:/app/data/db.sqlite"
-- 本地上传的文件目录
UPLOAD_DIR="/app/data/upload"
执行命令
-- 安装依赖
npm install
-- 脚本迁移
npx prisma migrate dev
-- 执行构建
npm run build
-- 预览
npm run preview
编辑SQLITE数据库
# 容器内部执行
npx prisma studio
执行上面的命令会在容器内部暴露一个5555端口,暴露到主机后可以通过 http://容器IP:5555 访问数据库,直接修改/删除/新增数据.
配置S3(可选)
由于使用了使用预签名 URL 上传对象方案来上传图片到S3,简单来说就是前端直接上传文件到S3,不经过服务端.
不支持这个预签名技术的S3无法上传,据我所知,号称兼容S3的云存储大部分都支持这个特性.比如腾讯云,七牛云,阿里云等.
另外,要求在S3上配置跨域,配置你当前的域名能够访问S3的资源,不配置的话,是无法使用的.
参考