Use the shared edge nginx instead of Musify's own
CI/CD / BackEnd (push) Successful in 1m27s
CI/CD / WebPlayer (push) Successful in 39s
CI/CD / Deploy (push) Skipped
CI/CD / BackEnd (pull_request) Successful in 1m16s
CI/CD / WebPlayer (pull_request) Successful in 39s
CI/CD / Deploy (pull_request) Skipped

Remove deploy/nginx and the nginx service from compose.prod.yml: the
shared edge in Infrastructure owns ports 80/443 and serves every
domain. Make the deploy job fail when zitadel-init or seaweedfs-init
fail, and document the runner and edge setup.
This commit is contained in:
2026-09-23 16:56:27 +02:00
parent 8970f29410
commit 5efd59826b
7 changed files with 67 additions and 259 deletions
+6 -13
View File
@@ -7,8 +7,8 @@
# subdomains),
# 2. replace every CHANGE_ME with a strong random value
# (`openssl rand -hex 24`),
# 3. point each *_DOMAIN below at the server, proxied/TLS-terminated the
# same way.
# 3. point each domain below at the server and add its vhost to the shared
# edge (Infrastructure's edge/conf.d).
#
# Requires ../../../Infrastructure running first, on the same Docker host,
# with its own `infra-net` network already created. See
@@ -18,14 +18,9 @@
DOTNET_ENVIRONMENT=Production
# --- Domains -------------------------------------------------------------
# Each *_DOMAIN drives its own nginx vhost (deploy/nginx/templates); the
# PUBLIC_*_URL/S3_PUBLIC_URL below must agree with it (https://<domain>).
WEB_DOMAIN=musify.example.com
API_DOMAIN=musifyapi.example.com
STREAM_DOMAIN=musifystream.example.com
AUTH_DOMAIN=auth.example.com
S3_DOMAIN=s3.example.com
# Public URLs. They must match the vhosts of the shared edge nginx
# (Infrastructure's edge/conf.d), which is what serves them; the domains are
# independent, they don't need to share a root.
PUBLIC_WEB_URL=https://musify.example.com
PUBLIC_API_URL=https://musifyapi.example.com
PUBLIC_STREAM_URL=https://musifystream.example.com
@@ -71,6 +66,4 @@ SESSION_SECRET=CHANGE_ME
AUTH_ALLOW_INSECURE_HTTP=false
# --- Misc --------------------------------------------------------------------
AUTH_REQUIRE_HTTPS=true
# Largest request body nginx accepts (audio uploads go through the web player).
MAX_UPLOAD_SIZE=1024m
AUTH_REQUIRE_HTTPS=true