ar-test/docker-compose.yml

73 lines
2.7 KiB
YAML

# =============================================================================
# AR TEST — Application services
# Deploy path on droplet: /projects/ar-test/
#
# Traefik runs in a separate compose (shared infra project) and owns ports 80/443.
# This project only joins the shared external network `traefik_public`.
# =============================================================================
services:
app:
container_name: ar-test-app
image: registry.digitalocean.com/bop/ar-test:latest
pull_policy: always
restart: unless-stopped
build:
context: .
dockerfile: Dockerfile
args:
- VITE_POCKETBASE_URL=${VITE_POCKETBASE_URL:-https://pb.thob.studio}
expose:
- "3000"
environment:
- VITE_POCKETBASE_URL=${VITE_POCKETBASE_URL:-https://pb.thob.studio}
- VITE_FRONTEND_URL=${VITE_FRONTEND_URL:-https://ar.thob.studio}
depends_on:
- pocketbase
networks:
- traefik_public
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_public"
- "traefik.http.routers.ar-test-app.rule=Host(`ar.thob.studio`)"
- "traefik.http.routers.ar-test-app.entrypoints=websecure"
- "traefik.http.routers.ar-test-app.tls.certresolver=defaultresolver"
- "traefik.http.services.ar-test-app.loadbalancer.server.port=3000"
- "traefik.http.routers.ar-test-app-http.rule=Host(`ar.thob.studio`)"
- "traefik.http.routers.ar-test-app-http.entrypoints=web"
- "traefik.http.routers.ar-test-app-http.middlewares=ar-test-app-https-redirect"
- "traefik.http.middlewares.ar-test-app-https-redirect.redirectscheme.scheme=https"
pocketbase:
container_name: ar-test-pb
image: ghcr.io/muchobien/pocketbase:latest
restart: unless-stopped
command:
- serve
- --http=0.0.0.0:8090
- --dir=/pb_data
- --migrationsDir=/pb_migrations
volumes:
- pb_data:/pb_data
- ./pb_migrations:/pb_migrations
networks:
- traefik_public
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_public"
- "traefik.http.routers.ar-test-pb.rule=Host(`pb.thob.studio`)"
- "traefik.http.routers.ar-test-pb.entrypoints=websecure"
- "traefik.http.routers.ar-test-pb.tls.certresolver=defaultresolver"
- "traefik.http.services.ar-test-pb.loadbalancer.server.port=8090"
- "traefik.http.routers.ar-test-pb-http.rule=Host(`pb.thob.studio`)"
- "traefik.http.routers.ar-test-pb-http.entrypoints=web"
- "traefik.http.routers.ar-test-pb-http.middlewares=ar-test-pb-https-redirect"
- "traefik.http.middlewares.ar-test-pb-https-redirect.redirectscheme.scheme=https"
networks:
traefik_public:
external: true
volumes:
pb_data: