Actualización del 2025-08-16 a las 13:12:01
This commit is contained in:
parent
b44096b07c
commit
b26e9ad87f
13 changed files with 710 additions and 222 deletions
65
docker-compose.yml
Normal file
65
docker-compose.yml
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
# Servicio de la Base de Datos PostgreSQL
|
||||
db:
|
||||
image: postgres:15
|
||||
container_name: rss_db
|
||||
environment:
|
||||
- POSTGRES_DB=${DB_NAME}
|
||||
- POSTGRES_USER=${DB_USER}
|
||||
- POSTGRES_PASSWORD=${DB_PASS}
|
||||
volumes:
|
||||
# Volumen para persistir los datos de la base de datos
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
# Monta la carpeta local con los scripts SQL para inicializar la BD la primera vez
|
||||
- ./init-db:/docker-entrypoint-initdb.d
|
||||
restart: always
|
||||
healthcheck:
|
||||
# Comprueba si la base de datos está lista para aceptar conexiones
|
||||
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
# Servicio de la Aplicación Web (Gunicorn)
|
||||
web:
|
||||
build: .
|
||||
container_name: rss_web
|
||||
command: gunicorn --bind 0.0.0.0:8000 --workers 3 app:app
|
||||
ports:
|
||||
- "8001:8000"
|
||||
environment:
|
||||
- DB_HOST=db
|
||||
- DB_PORT=5432
|
||||
- DB_NAME=${DB_NAME}
|
||||
- DB_USER=${DB_USER}
|
||||
- DB_PASS=${DB_PASS}
|
||||
- SECRET_KEY=${SECRET_KEY}
|
||||
depends_on:
|
||||
db:
|
||||
# Espera a que el healthcheck de la base de datos sea exitoso antes de iniciar
|
||||
condition: service_healthy
|
||||
restart: always
|
||||
|
||||
# Servicio del Planificador de Tareas (Scheduler)
|
||||
scheduler:
|
||||
build: .
|
||||
container_name: rss_scheduler
|
||||
command: python scheduler.py
|
||||
environment:
|
||||
- DB_HOST=db
|
||||
- DB_PORT=5432
|
||||
- DB_NAME=${DB_NAME}
|
||||
- DB_USER=${DB_USER}
|
||||
- DB_PASS=${DB_PASS}
|
||||
- SECRET_KEY=${SECRET_KEY}
|
||||
depends_on:
|
||||
db:
|
||||
# También espera a que la base de datos esté saludable
|
||||
condition: service_healthy
|
||||
restart: always
|
||||
|
||||
# Define el volumen nombrado para la persistencia de datos
|
||||
volumes:
|
||||
postgres_data:
|
||||
Loading…
Add table
Add a link
Reference in a new issue