From c3d1420c4c2db996c2b1d8a02e50c14d287b7701 Mon Sep 17 00:00:00 2001 From: Spencer Twaddle <7374698+stwaddle@users.noreply.github.com> Date: Sat, 2 May 2026 15:58:06 -0500 Subject: [PATCH] Add docker-compose.yml following stwaddle stack pattern Joins web (nginx-proxy), apps-internal (database), and auth-public (OIDC discovery without hairpinning) networks. External networks are pre-created by the stwaddle infra compose; apps-db is defined here so the budget service can be deployed standalone. Co-Authored-By: Claude Sonnet 4.6 --- docker-compose.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..0b7fd12 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,40 @@ +services: + budget: + image: ${IMAGE_REGISTRY:-}budget:latest + environment: + - VIRTUAL_HOST=${BUDGET_VIRTUAL_HOST:-budget.stwaddle.com} + - LETSENCRYPT_HOST=${BUDGET_LETSENCRYPT_HOST:-budget.stwaddle.com} + - VIRTUAL_PORT=8080 + - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Production} + - ConnectionStrings__DefaultConnection=Host=apps-db;Port=5432;Database=${POSTGRES_DB:-budget};Username=${POSTGRES_USER:-budget};Password=${POSTGRES_PASSWORD} + depends_on: + - apps-db + - auth + networks: + - web + - apps-internal + - auth-public + restart: unless-stopped + + apps-db: + image: postgres:16-alpine + environment: + - POSTGRES_DB=${POSTGRES_DB:-budget} + - POSTGRES_USER=${POSTGRES_USER:-budget} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + volumes: + - apps-db-data:/var/lib/postgresql/data + networks: + - apps-internal + restart: unless-stopped + +networks: + web: + external: true + apps-internal: + external: true + auth-public: + external: true + +volumes: + apps-db-data: