NeoDB一键 Docker 部署(推荐)

11月前 277

NeoDB(原 boofilsic)是开源的豆瓣替代项目,支持书籍/电影/音乐/播客等收藏、评分、社交,基于 Django + PostgreSQL,推荐用 Docker 一键部署。已搭建完成https://polg.cn


一、准备环境

- 安装 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

本文链接:https://sweetly.cn/thread-108.htm
转载请注明:1月前 于 一起微笑的博客 发表
推荐阅读
最新回复 (2)
  • 11月前
    引用2
    grep -r "mastodon.social" /neodb
    sed -i "s/mastodon.social/mastodon.work/g" /neodb/locale/zh_Hant/LC_MESSAGES/django.po
    grep -r "joinmastodon.org/servers" /neodb 
    sed -i "s|joinmastodon.org/servers|mastodon.work|g" /neodb/locale/zh_Hant/LC_MESSAGES/django.po
    docker compose restart

    搜索替换docker里的NeoDB模版

  • 11月前
    引用3
    NeoDB 是目前综合功能与文化适配性上最接近豆瓣的替代品,尤其适合国内用户寻找去中心化、可自建条目的多领域内容社区。以下是具体分析:

    一、NeoDB 的核心优势
    多领域覆盖:支持书籍、电影、音乐、游戏、播客五大内容类型的标记、评论与分享,功能维度与豆瓣高度重合,避免了国外替代品(如IMDB仅影视、Goodreads仅读书)的垂直局限性。
    去中心化架构:基于 Mastodon 构建的分布式社区,用户可自建条目,摆脱对单一平台(如豆瓣)的依赖,同时支持导入豆瓣、IMDB、Goodreads 等主流平台数据,降低迁移成本。
    文化适配性:相比纯国外社区,NeoDB 允许用户保留中文内容生态,且支持中文搜索与交互,解决了语言与文化习惯差异导致的体验割裂问题。
    数据自主权:用户可完全控制自己的内容(如评论、收藏),避免因平台政策调整(如豆瓣条目下架、广告增多)导致的数据丢失或体验下降。
    二、与国内外替代品的对比
    对比国外垂直社区:

    影视类(IMDB、TMDB、Letterboxd):功能单一,仅聚焦影视评分与资讯,缺乏书籍、音乐等跨领域整合。

    读书类(Goodreads、StoryGraph):以书籍推荐为主,社交属性较弱,且用户群体以英文用户为主。

    音乐类(AllMusic、RateYourMusic):专注音乐分类与评论,无电影、书籍等关联内容。

    NeoDB 优势:通过一个账号实现跨领域内容管理,符合豆瓣用户“一站式”使用习惯。

    对比国内替代品:

    豆瓣小组替代品(如Bangumi、贴吧):功能分散,缺乏统一的内容标记与评分系统。

    数据迁移工具(如豆伴插件):仅解决数据导出问题,未提供社交互动场景。

    NeoDB 优势:整合数据迁移与社交功能,用户可导入豆瓣收藏后直接在社区内互动。

    三、NeoDB 的功能细节
    条目管理:
    支持自建条目(如未被收录的冷门书籍、独立音乐),补充豆瓣等平台的空白。

    可导入外部链接(如豆瓣电影条目、Steam 游戏页面),自动抓取关键信息生成本地卡片。

    社交互动:
    评论、点赞、转发等基础功能与豆瓣一致,同时支持“标签”分类内容(如按年代、流派筛选电影)。

    用户可关注其他用户,形成个性化内容流,类似豆瓣的“友邻动态”。

    数据迁移:
    通过豆伴插件可一键导出豆瓣收藏(书籍、电影、音乐),导入后保留原有评分与评论。

    支持从 Goodreads、TMDB 等平台导入数据,方便多平台用户整合内容。

    四、适用场景与用户群体
    豆瓣老用户:因条目缺失或广告问题迁移,需保留原有收藏与社交关系。
    多领域内容爱好者:希望在一个平台管理书籍、电影、音乐等不同类型内容,避免切换多个应用。
    去中心化社区支持者:追求数据自主权,反感平台垄断或算法推荐。
    五、使用建议
    迁移数据:优先通过豆伴插件导出豆瓣收藏,再导入 NeoDB 以快速构建个人库。
    探索自建条目:对未被主流平台收录的内容(如独立音乐、小众书籍),可自行创建条目丰富社区生态。
    参与社区互动:关注活跃用户或标签,发现符合个人兴趣的内容,逐步替代豆瓣的“发现”功能。
返回