diff --git a/scripts/auto-deploy.sh b/scripts/auto-deploy.sh index ff026c0..9baa0e2 100755 --- a/scripts/auto-deploy.sh +++ b/scripts/auto-deploy.sh @@ -77,6 +77,19 @@ echo "Restarting flutter-web container..." cd /opt/traefik docker-compose up -d --force-recreate flutter-web +# Copy Traefik dynamic configs (public share proxy) +echo "Copying traefik dynamic configs..." +mkdir -p /opt/traefik/dynamic +if [ -d "$DEPLOY_DIR/traefik/dynamic" ]; then + cp -r "$DEPLOY_DIR/traefik/dynamic"/* /opt/traefik/dynamic/ || true +fi + +# Reload Traefik to pick up dynamic config +echo "Reloading Traefik..." +cd /opt/traefik +# Try graceful recreate, fallback to restart +docker-compose up -d --no-deps --force-recreate traefik || docker-compose restart traefik + echo "=== Deployment completed successfully at $(date) ===" # Record deployment time diff --git a/traefik/dynamic/public_share.yml b/traefik/dynamic/public_share.yml new file mode 100644 index 0000000..fe8926b --- /dev/null +++ b/traefik/dynamic/public_share.yml @@ -0,0 +1,30 @@ +http: + middlewares: + public-cors: + headers: + accessControlAllowOrigin: + - "*" + accessControlAllowMethods: + - "GET" + - "HEAD" + - "OPTIONS" + accessControlAllowHeaders: + - "Range" + - "Authorization" + - "Content-Type" + addVaryHeader: true + routers: + public-share-router: + rule: "Host(`www.b0esche.cloud`) && PathPrefix(`/public/`)" + entryPoints: + - websecure + middlewares: + - public-cors + service: public-share-service + tls: {} + services: + public-share-service: + loadBalancer: + servers: + - url: "http://go-backend:8080" + passHostHeader: true