Despliegue
Desarrollo local
Sección titulada «Desarrollo local»docker compose builddocker compose up -dServicios levantados:
- PostgreSQL:
serconsa-postgres - Redis:
serconsa-redis - Backend:
serconsa-backend→http://localhost:18345 - Frontend:
serconsa-frontend→http://localhost:5176
Health checks:
- Backend:
GET http://localhost:18345/api/v1/health - Frontend:
wget http://127.0.0.1:80
Variables de entorno
Sección titulada «Variables de entorno»Copiar backend/.env.example a backend/.env y rellenar:
cp backend/.env.example backend/.envVariables mínimas:
| Variable | Descripción | Ejemplo |
|---|---|---|
SECRET_KEY |
Clave JWT | change-me |
DATABASE_URL |
PostgreSQL async | postgresql+asyncpg://serconsa:serconsa_secret@postgres:5432/serconsa |
REDIS_URL |
Redis | redis://redis:6379/0 |
CORS_ORIGINS |
Orígenes frontend | http://localhost:5176,https://serconsa.ovlicuo.com |
DEBUG |
Modo debug | true |
Producción
Sección titulada «Producción»docker compose -f docker-compose.prod.yml up -dEn producción Plesk actúa como proxy inverso. El contenedor Nginx solo se usa en entornos sin Plesk:
docker compose -f docker-compose.prod.yml --profile production up -d nginxEstructura de Docker Compose
Sección titulada «Estructura de Docker Compose»Desarrollo (docker-compose.yml)
Sección titulada «Desarrollo (docker-compose.yml)»- PostgreSQL 16 alpine con health check.
- Redis 7 con AOF y
maxmemory-policy allkeys-lru. - Backend FastAPI con hot-reload (
--reload). - Frontend servido por Nginx.
- Volúmenes:
postgres_data,redis_data,files_data.
Producción (docker-compose.prod.yml)
Sección titulada «Producción (docker-compose.prod.yml)»- Imágenes del registry de GitLab.
- Sin volúmenes de código fuente montados.
- Nginx con perfil
productionopcional.
Backups
Sección titulada «Backups»docker exec serconsa-postgres pg_dump -U serconsa serconsa > backup_$(date +%Y%m%d).sqlRestaurar
Sección titulada «Restaurar»docker exec -i serconsa-postgres psql -U serconsa serconsa < backup_20260101.sqlAutomático (cron)
Sección titulada «Automático (cron)»0 2 * * * docker exec serconsa-postgres pg_dump -U serconsa serconsa > /root/backups/serconsa_$(date +\%Y\%m\%d).sqlMonitorización
Sección titulada «Monitorización»# Estado de serviciosdocker compose ps
# Logsdocker compose logs -f backenddocker compose logs -f --tail=100El módulo de logs del sistema registra actividad en la tabla system_logs.
URLs de entornos
Sección titulada «URLs de entornos»| Entorno | URL | Servidor |
|---|---|---|
| Desarrollo | https://serconsa.ovlicuo.com |
Local |
| Producción | https://serconsa.dlmapp.net |
146.59.171.101 |
El pipeline de .gitlab-ci.yml se ejecuta solo en main:
- Lint de backend y frontend.
- Build de imágenes Docker.
- Deploy vía SSH al servidor de producción.
Véase también Flujo git.