Guías
Autoalojamiento con Docker
Ejecuta la edición comunitaria en tu propia infraestructura.
La edición comunitaria (AGPL-3.0) es una plataforma de chat completa que puedes ejecutar en cualquier lugar donde funcione Docker. Los complementos empresariales se encuentran en un repositorio privado independiente, protegido por una clave de licencia.
Requisitos previos
- Docker 24+ y docker compose v2
- 2 vCPU, 4 GB de RAM como mínimo (8 GB recomendado)
- Un dominio que apunte a tu servidor (para TLS)
Instalación
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 -dDe forma predeterminada, esto levanta Postgres (con pgvector), Redis, MinIO, web, ws y worker. Ejecuta docker compose ps para verificar que los cinco contenedores estén saludables.
Configuración inicial
docker compose exec web pnpm db:migrate deploy
docker compose exec web pnpm db:seed # optional demo tenantProxy inverso
Coloca nginx (o Caddy) por delante. Tanto /api/* como /v1/ws deben llegar al mismo origen para compartir cookies. El endpoint WS requiere cabeceras 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;
}Copias de seguridad
- Postgres —
pg_dumpdiario; esto incluye todo excepto los archivos adjuntos de S3 - S3 / MinIO — usa el versionado de buckets o
rclone synca otra región - Redis — efímero (colas), no se necesita copia de seguridad; los trabajos se reproducen al reiniciar
Actualizaciones
git fetch && git checkout v0.x.y
docker compose pull
docker compose up -d
docker compose exec web pnpm db:migrate deployLas migraciones son compatibles hacia adelante; no romperemos una instancia en ejecución con un cambio de schema incompatible sin un aumento de versión mayor.