NeoDB(原 boofilsic)是开源的豆瓣替代项目,支持书籍/电影/音乐/播客等收藏、评分、社交,基于 Django + PostgreSQL,推荐用 Docker 一键部署。
一、准备环境
- 安装 Docker + Docker Compose(必装)
- 安装 Git
- 内存 ≥ 2GB,磁盘 ≥ 10GB
二、一键 Docker 部署(推荐)
# 1. 克隆代码 git clone https://github.com/neodb-social/neodb.git cd neodb # 2. 复制环境变量模板 cp neodb.env.example .env # 3. 编辑 .env(至少改这3项) # SECRET_KEY=生成一个随机字符串(可在线生成) # ALLOWED_HOSTS=localhost,127.0.0.1,你的域名 # DEBUG=False(生产环境) # 4. 构建并启动(后台运行) docker-compose up -d --build # 5. 初始化数据库(首次必做) docker-compose exec web python manage.py migrate docker-compose exec web python manage.py createsuperuser # 创建管理员账号 # 6. 访问 http://localhost:8000
三、手动部署(不推荐,适合开发)
# 1. 安装依赖 python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt # 2. 配置 .env(同上) cp neodb.env.example .env # 3. 启动 PostgreSQL(自行安装) # 4. 初始化 python manage.py migrate python manage.py createsuperuser # 5. 启动开发服务器 python manage.py runserver 0.0.0.0:8000
四、关键配置(.env)
# 基础 SECRET_KEY=your-random-key DEBUG=False ALLOWED_HOSTS=localhost,127.0.0.1,your-domain.com # 数据库(Docker 下默认即可) DATABASE_URL=postgres://neodb:neodb@db:5432/neodb # 邮件(找回密码用) EMAIL_HOST=smtp.example.com EMAIL_PORT=587 EMAIL_HOST_USER=your-email EMAIL_HOST_PASSWORD=your-password EMAIL_USE_TLS=True # 社交登录(可选) MASTODON_CLIENT_ID=xxx MASTODON_CLIENT_SECRET=xxx
五、常用命令
# 查看日志 docker compose ps docker compose --profile production logs -f # 重启服务 docker-compose restart # 停止服务 docker compose --profile dev down # 备份数据库 docker-compose exec db pg_dump -U neodb neodb > backup.sql # 运行和启动 docker compose --profile production pull docker compose --profile production up -d
六、导入豆瓣数据
1. 登录 NeoDB → 个人设置 → 数据导入
2. 选择 豆瓣,按提示授权或上传 CSV
3. 等待导入完成(数据量大可能需几分钟)
七、常见问题
- 端口被占用:修改 docker-compose.yml 中 8000:8000 为 8001:8000
- 数据库连接失败:检查 .env 中 DATABASE_URL
- 无法发送邮件:检查邮件配置,或开启 DEBUG 用控制台输出
VAPID 工具https://knock.app/tools/vapid-key-generator