← Volver al Generador Principal

Configuración de Docker Compose para Supabase Local Development Stack

Cuándo usar esta combinación

Utiliza el stack local de Supabase para desarrollar, probar y depurar aplicaciones desacopladas de la nube, eliminando costos durante el ciclo de desarrollo. Es ideal para entornos de integración continua (CI/CD), desarrollo offline, validación de migraciones de esquemas en PostgreSQL, pruebas exhaustivas de políticas de seguridad a nivel de fila (RLS) y simulación integral de servicios de autenticación, almacenamiento y funciones serverless en entornos locales idénticos a producción.

Variables de entorno críticas para producción

  1. POSTGRES_PASSWORD: Define la contraseña del superusuario de la base de datos PostgreSQL. En entornos locales suele ser un valor por defecto inseguro (ej. postgres); debe reemplazarse por una cadena criptográficamente segura.
  2. JWT_SECRET: Clave simétrica utilizada por GoTrue (Auth), PostgREST y Realtime para firmar y validar tokens de sesión. Si se ve comprometida, permite la falsificación de tokens de administrador.
  3. ANON_KEY y SERVICE_ROLE_KEY: Tokens JWT generados a partir de JWT_SECRET. La SERVICE_ROLE_KEY evade totalmente las políticas RLS (Row Level Security), por lo que jamás deben usarse los valores predeterminados de desarrollo local en un despliegue productivo.

Consejo de DevOps (Seguridad y Rendimiento)

Aislamiento de red y gestión de conexiones: En producción, no expongas los puertos directos de la base de datos (5432) ni el dashboard de gestión (Supabase Studio / 54323) a la red pública. Restringe el acceso mediante un Reverse Proxy (Traefik/NGINX) protegido por VPN o mTLS.

En términos de rendimiento, activa y calibra PgBouncer o Supavisor (connection pooler) ajustando el parámetro max_client_conn y el tamaño del pool según los límites de RAM del contenedor, evitando el agotamiento de recursos (OOM Killer) ante picos de tráfico causados por conexiones concurrentes de PostgREST y Edge Functions.

Checklist de Seguridad antes de desplegar