ガイド
Docker でセルフホスト
コミュニティ版を自分のインフラ上で実行します。
コミュニティ版(AGPL-3.0)は、Docker が動作する場所ならどこでも実行できる 完全なチャットプラットフォームです。エンタープライズ向けアドオンは、ライセンスキーで 保護された別のプライベートリポジトリに置かれています。
前提条件
- Docker 24+ と docker compose v2
- 最低 2 vCPU、4 GB RAM(8 GB 推奨)
- サーバーを指すドメイン(TLS 用)
インストール
git clone https://github.com/singlink/singlink
cd singlink
cp .env.example .env
# edit .env: AUTH_SECRET, DATABASE_URL, REDIS_URL, S3_*
docker compose up -dデフォルトでは、Postgres(pgvector 付き)、Redis、MinIO、web、ws、worker が起動します。docker compose ps を実行して、5 つのコンテナすべてが正常であることを確認してください。
初期セットアップ
docker compose exec web pnpm db:migrate deploy
docker compose exec web pnpm db:seed # optional demo tenantリバースプロキシ
前段に nginx(または Caddy)を配置します。/api/* と /v1/ws の両方が cookie を共有するために同じオリジンに到達する必要があります。WS エンドポイントには upgrade ヘッダーが必要です:
location /v1/ws {
proxy_pass http://ws:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
}バックアップ
- Postgres — 毎日
pg_dump。これには S3 添付ファイルを 除くすべてが含まれます - S3 / MinIO — バケットのバージョニングを使用するか、
rclone syncで 別のリージョンに同期します - Redis — 一時的(キュー)であり、バックアップは不要です。ジョブは再起動時に再実行されます
アップグレード
git fetch && git checkout v0.x.y
docker compose pull
docker compose up -d
docker compose exec web pnpm db:migrate deployマイグレーションは前方互換です。メジャーバージョンの引き上げなしに、破壊的な schema 変更で稼働中のインスタンスを壊すことはありません。