Guias
Auto-hospedagem com Docker
Execute a edição comunitária na sua própria infraestrutura.
A edição comunitária (AGPL-3.0) é uma plataforma de chat completa que você pode executar em qualquer lugar onde o Docker rode. Os complementos empresariais ficam em um repositório privado separado, protegido por uma chave de licença.
Pré-requisitos
- Docker 24+ e docker compose v2
- 2 vCPU, 4 GB de RAM no mínimo (8 GB recomendado)
- Um domínio apontando para o seu servidor (para TLS)
Instalação
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 -dPor padrão, isso inicia Postgres (com pgvector), Redis, MinIO, web, ws e worker. Execute docker compose ps para verificar se os cinco contêineres estão saudáveis.
Configuração inicial
docker compose exec web pnpm db:migrate deploy
docker compose exec web pnpm db:seed # optional demo tenantProxy reverso
Coloque o nginx (ou Caddy) na frente. Tanto /api/* quanto /v1/ws precisam atingir a mesma origem para compartilhar cookies. O endpoint WS requer cabeçalhos 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;
}Backups
- Postgres —
pg_dumpdiário; isso inclui tudo exceto os anexos do S3 - S3 / MinIO — use versionamento de bucket ou
rclone syncpara outra região - Redis — efêmero (filas), nenhum backup necessário; os jobs são reexecutados na reinicialização
Atualizações
git fetch && git checkout v0.x.y
docker compose pull
docker compose up -d
docker compose exec web pnpm db:migrate deployAs migrações são compatíveis com versões futuras; não vamos quebrar uma instância em execução com uma mudança de schema incompatível sem um aumento de versão maior.