services: app: build: context: . dockerfile: Dockerfile container_name: merchbay_admin_app restart: unless-stopped environment: - APP_ENV=${APP_ENV:-production} - APP_DEBUG=${APP_DEBUG:-false} - APP_URL=${APP_URL:-http://localhost} - DB_CONNECTION=mysql - DB_HOST=${DB_HOST:-localhost} - DB_PORT=${DB_PORT:-3306} - DB_DATABASE=${DB_DATABASE:-merchbay_admin} - DB_USERNAME=${DB_USERNAME:-root} - DB_PASSWORD=${DB_PASSWORD:-} volumes: - ./storage:/var/www/html/storage - ./public/uploads:/var/www/html/public/uploads labels: - "traefik.enable=true" - "traefik.http.routers.merchbay-admin.rule=Host(`${DOMAIN:-merchbay-admin.localhost}`)" - "traefik.http.routers.merchbay-admin.entrypoints=websecure" - "traefik.http.routers.merchbay-admin.tls=true" - "traefik.http.routers.merchbay-admin.tls.certresolver=letsencrypt" - "traefik.http.services.merchbay-admin.loadbalancer.server.port=80" # HTTP to HTTPS redirect - "traefik.http.routers.merchbay-admin-http.rule=Host(`${DOMAIN:-merchbay-admin.localhost}`)" - "traefik.http.routers.merchbay-admin-http.entrypoints=web" - "traefik.http.routers.merchbay-admin-http.middlewares=https-redirect" - "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https" networks: - traefik-public - default networks: traefik-public: external: true default: driver: bridge