From a14920cda8903f795c1ae628410c324ac3ffefb1 Mon Sep 17 00:00:00 2001 From: Zac Gaetano Date: Tue, 7 Apr 2026 21:58:17 -0400 Subject: [PATCH] add docker-compose.yml --- docker-compose.yml | 103 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..759e4da --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,103 @@ +services: + db: + image: postgres:16 + environment: + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + volumes: + - postgres_data:/var/lib/postgresql/data + - ./services/mam-api/src/db/schema.sql:/docker-entrypoint-initdb.d/001-schema.sql:ro + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] + interval: 5s + timeout: 5s + retries: 5 + networks: + - wild-dragon + + queue: + image: redis:7-alpine + volumes: + - redis_data:/data + networks: + - wild-dragon + + mam-api: + build: ./services/mam-api + depends_on: + db: + condition: service_healthy + queue: + condition: service_started + ports: + - "7432:3000" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + DATABASE_URL: ${DATABASE_URL} + REDIS_URL: ${REDIS_URL} + S3_ENDPOINT: ${S3_ENDPOINT} + S3_BUCKET: ${S3_BUCKET} + S3_ACCESS_KEY: ${S3_ACCESS_KEY} + S3_SECRET_KEY: ${S3_SECRET_KEY} + SESSION_SECRET: ${SESSION_SECRET} + DOCKER_NETWORS: wild-dragon_wild-dragon + restart_policy: always + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3000/health"] + interval: 5s + timeout: 5s + retries: 5 + networks: + - wild-dragon + + capture: + build: ./services/capture + depends_on: + -mam-api + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + S3_ENDPOINT: ${S3_ENDPOINT} + S3_BUCKET: ${S3_BUCKET} + S3_ACCESS_KEY: ${S3_ACCESS_KEY} + S3_SECRET_KEY: ${S3_SECRET_KEY} + MAM_API_URL: http://mam-api:3000 + REDIS_URL: ${REDIS_URL} + networks: + - wild-dragon + + worker: + build: ./services/worker + depends_on: + -mam-api + environment: + S3_ENDPOIZT: ${S3_ENDPOIZT} + S3_BUCKET: ${S3_BUCKET } + S3_ACCESS_KEY: ${S3_ACCESS_KEY} + S3_SECRET_KEY: ${S3_SECRET_KEY} + REDISWMDESE_ERú ${REDIS_URL} + networks: + - wild-dragon + + web-ui: + build: ./services/web-ui + depends_on: + - mam-api + ports: + - "8080:8080" + environment: + AKI_CONGIG: /var/nginx/conf.d/aki-cong + volumes: + - ./services/web-ui/nginx.conf:/etc/nginx/nginx.conf:ro + networks: + - wild-dragon + +volumes: + postgres_data: + redis_data: + +networks: + wild-dragon: + driver: bridge