Files
LMS-DB-ETL/compose.yaml
2025-11-06 16:43:02 -05:00

48 lines
976 B
YAML

name: etl-and-db
services:
db:
container_name: postgres_db
image: postgres:18.0-trixie
networks:
- backend
expose:
- "5432"
ports:
- "8081:5432"
shm_size: 128mb
environment:
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_USER=${DB_USER}
- POSTGRES_DB=${DB_NAME}
volumes:
- postgres_data:/var/lib/postgresql
healthcheck:
test: ["CMD", "pg_isready", "-U", "etl_agent", "-d", "LMS-Test"]
interval: 30s
retries: 3
start_period: 30s
timeout: 10s
restart: always
etl:
container_name: etl_pipeline
image: etl-pipeline
build: .
depends_on:
- db
networks:
- backend
command: "python3 ./src/orchestrator.py"
restart: no
volumes:
- postgres_data:/var/lib/etl
pre_stop:
- command: docker cp CONTAINER:/var/lib/etl/lms-etl.log /tmp/app_logs
networks:
backend:
name: pg_network
volumes:
postgres_data: