Руководства
Self-hosting с Docker
Запустите версию сообщества на собственной инфраструктуре.
Версия сообщества (AGPL-3.0) — это полноценная платформа для чата, которую вы можете запустить везде, где работает Docker. Корпоративные надстройки находятся в отдельном приватном репозитории, защищённом лицензионным ключом.
Требования
- Docker 24+ и docker compose v2
- Минимум 2 vCPU, 4 ГБ ОЗУ (рекомендуется 8 ГБ)
- Домен, указывающий на ваш сервер (для 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, чтобы убедиться, что все пять контейнеров работоспособны.
Первоначальная настройка
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 без повышения мажорной версии.