forked from rajun/ar-test
73 lines
2.7 KiB
YAML
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:
|