Skip to content
牛牛
EN

Self-Hosted 自部署

docker compose 模板、PostgreSQL 配置、Caddy 反代示例、首次管理员。

Self-Hosted 适合需要私有化、合规、内网部署的团队。底层用 PostgreSQL,支持任意用户数。

前置条件

  • Linux 服务器(Ubuntu 22.04+ / Debian 12+ 推荐)
  • Docker 24+ 与 Docker Compose v2
  • 一个绑定到该服务器的域名(用于 HTTPS)
  • 至少 2 vCPU / 4 GB RAM / 20 GB 磁盘

1. 下载部署模板

git clone https://github.com/niuniu-dev/niuniu.git
cd niuniu/relay/deploy
cp server.yaml.example server.yaml

编辑 server.yaml

auth:
  enabled: true
  users:
    - username: admin
      password: 设置你的强密码
      role: admin
storage:
  driver: postgres
  postgres:
    dsn: "postgres://niuniu:niuniu_pwd@db:5432/niuniu_server?sslmode=disable"

2. 启动栈

docker compose up -d

第一次启动会自动初始化数据库 schema。

3. 配置 Caddy

Caddyfile

your-domain.com {
    reverse_proxy niuniu-server:3000
}

Caddy 会自动签发 HTTPS 证书。

4. 验证

curl -I https://your-domain.com/api/health
# 期望:HTTP/2 200

打开浏览器访问 https://your-domain.com,用 admin + 你设置的密码登录。

备份

每周用 pg_dump 备份数据库:

docker compose exec db pg_dump -U niuniu niuniu_server | gzip > backup-$(date +%F).sql.gz

留存 4~8 周。

升级

git pull
docker compose pull
docker compose up -d --force-recreate

升级前必备份。

下一步

  • 核心概念 帮你理解组织、成员、资源所有权
  • Team 版 与 Self-Hosted 共享代码,行为一致

在 GitHub 上编辑此页 →