From 9f9f326af97ba96ebf9ed6e6b1403eb796096a26 Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 13 Apr 2026 19:27:07 -0400 Subject: [PATCH] Add root docker-compose and osrm data directory --- .gitignore | 4 +++ docker-compose.yml | 77 ++++++++++++++++++++++++++++++++++++++++++++++ osrm/data/.gitkeep | 0 3 files changed, 81 insertions(+) create mode 100644 docker-compose.yml create mode 100644 osrm/data/.gitkeep diff --git a/.gitignore b/.gitignore index 80a0d88..857c5fc 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,10 @@ estore/out/ # Runtime data estore/data/catalog-cache.json estore/data/item-overrides.json +main-site/photo-gallery-app/backend/uploads/ +mongodb_data/ +osrm/data/* +!osrm/data/.gitkeep # Environment variables — never commit .env diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..1154361 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,77 @@ +services: + + # ── Main website ───────────────────────────────────────────────────────────── + main-site: + build: ./main-site + container_name: bpb-main + ports: + - "3052:3050" + environment: + NODE_ENV: production + ADMIN_PASSWORD: ${MAIN_ADMIN_PASSWORD} + volumes: + - ./main-site/update.json:/usr/src/app/update.json + restart: always + depends_on: + - gallery-backend + + # ── Photo gallery backend ───────────────────────────────────────────────────── + gallery-backend: + build: ./main-site/photo-gallery-app/backend + container_name: bpb-gallery + ports: + - "5001:5000" + environment: + MONGO_URI: mongodb://mongodb:27017/photogallery + WATERMARK_URL: http://watermarker:8000/watermark + volumes: + - ./main-site/photo-gallery-app/backend/uploads:/usr/src/app/uploads + depends_on: + - mongodb + - watermarker + restart: always + + # ── Watermarker ─────────────────────────────────────────────────────────────── + watermarker: + build: ./main-site/photo-gallery-app/watermarker + container_name: bpb-watermarker + ports: + - "8000:8000" + restart: always + + # ── MongoDB ─────────────────────────────────────────────────────────────────── + mongodb: + image: mongo:latest + container_name: bpb-mongodb + ports: + - "27017:27017" + volumes: + - ./mongodb_data:/data/db + restart: always + + # ── eStore (Next.js / Square) ───────────────────────────────────────────────── + estore: + build: ./estore + container_name: bpb-estore + ports: + - "3000:3000" + env_file: ./estore/.env + restart: unless-stopped + depends_on: + - osrm + healthcheck: + test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/catalog"] + interval: 30s + timeout: 10s + retries: 3 + + # ── OSRM (routing engine) ───────────────────────────────────────────────────── + osrm: + image: osrm/osrm-backend + container_name: bpb-osrm + ports: + - "5002:5000" + volumes: + - ./osrm/data:/data + command: osrm-routed --algorithm mld /data/connecticut-latest.osrm + restart: unless-stopped diff --git a/osrm/data/.gitkeep b/osrm/data/.gitkeep new file mode 100644 index 0000000..e69de29