From b0a3d744123ad241dd75f04473877d7246730cd6 Mon Sep 17 00:00:00 2001 From: Tim Shepardson Date: Mon, 15 Jun 2026 14:02:52 -0500 Subject: [PATCH] Add docker compose --- docker-compose.yml | 51 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c9f1e88 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,51 @@ +services: + + webserver: + image: nginx:alpine + container_name: nginx_webserver + volumes: + - ./html:/usr/share/nginx/html:ro + - ./nginx/conf.d:/etc/nginx/conf.d:ro + - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro + - ./logs:/var/log/nginx + restart: unless-stopped + depends_on: + api: + condition: service_started + networks: + - proxy # external — reachable by your reverse proxy / traefik + - internal # needs a path to the api container + + api: + build: . + container_name: wp_api + restart: unless-stopped + depends_on: + db: + condition: service_healthy # waits for postgres to accept connections + networks: + - internal + + db: + image: postgres:16-alpine + container_name: wp_db + volumes: + - pgdata:/var/lib/postgresql/data + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 10s + timeout: 5s + retries: 5 + networks: + - internal + +volumes: + pgdata: + +networks: + proxy: + name: proxy + external: true + internal: + internal: true # no outbound internet access from api/db \ No newline at end of file