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