78 lines
2.8 KiB
YAML
78 lines
2.8 KiB
YAML
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
|