Files
photon-dashboard/examples/compose-traefik.yml
T

58 lines
1.6 KiB
YAML

services:
# Photon services
photon:
container_name: photon_dashboard
image: git.jrdn.dev/jordanwalster/photon-dashboard:latest
volumes:
- ./db:/var/www/html/db # Only required if migrating from SQLite
- type: bind
source: ${DATA_PATH}
target: /var/www/html/data
bind:
propagation: rshared
env_file:
- .env
labels:
# Dashboard configuration
- "traefik.enable=true"
- "traefik.http.routers.photon.rule=Host(`${PHOTON_DOMAIN}`)"
- "traefik.http.routers.photon.service=photon"
- "traefik.http.services.photon.loadbalancer.server.port=80"
# Custom domain for share links
- "traefik.http.routers.photon-share.rule=Host(`${PHOTON_SHARE_DOMAIN}`)"
- "traefik.http.routers.photon-share.service=photon-share"
- "traefik.http.middlewares.photon-share-path.addprefix.prefix=/share"
- "traefik.http.routers.photon-share.middlewares=photon-share-path"
- "traefik.http.services.photon-share.loadbalancer.server.port=80"
worker:
container_name: photon_worker
image: git.jrdn.dev/jordanwalster/photon-worker:latest
volumes:
- ${DATA_PATH}:/var/www/html/data
env_file:
- .env
# Database
db:
container_name: photon_db
image: mariadb
volumes:
- db:/var/lib/mysql
env_file:
- .env
# Reverse proxy
traefik:
container_name: traefik
image: traefik:v3
command:
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
volumes:
db: