diff --git a/docker-compose.yml b/docker-compose.yml index 85cb849..63a5de4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -189,6 +189,21 @@ services: networks: - db + navidrome: + <<: *logging + image: deluan/navidrome:latest + restart: unless-stopped + environment: + - ND_SCANSCHEDULE=1h + - ND_LOGLEVEL=info + - ND_SESSIONTIMEOUT=24h + - ND_BASEURL=https://radio.${DOMAIN} + volumes: + - navidrome:/data + - /mnt/tower/stardust/chris/files/Music:/music:ro + networks: + - nginx + pihole: <<: *logging image: pihole/pihole:latest @@ -592,6 +607,7 @@ services: - foundry - tt-rss - homebox + - navidrome ports: - 443:443 networks: @@ -627,6 +643,7 @@ volumes: nextcloud: foundry: homebox: + navidrome: networks: db: diff --git a/nginx/nginx.conf.template b/nginx/nginx.conf.template index 3c2cfad..7032387 100644 --- a/nginx/nginx.conf.template +++ b/nginx/nginx.conf.template @@ -278,6 +278,13 @@ http { server_name labs.${DOMAIN}; location / { + if ($http_origin ~* (https?://(?:www\.)?5e\.tools|https?://(?:www\.)?rec\.scarif\.space)) { + add_header 'Access-Control-Allow-Origin' "$http_origin"; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; + } + proxy_pass http://gitea-handler; } } @@ -302,6 +309,26 @@ http { } } + upstream navidrome-handler { + server navidrome:4533; + } + + server { + listen 443 ssl http2; + + ssl_certificate /etc/nginx/certs/${DOMAIN}.crt; + ssl_certificate_key /etc/nginx/certs/${DOMAIN}.key; + + gzip_types text/plain text/css application/json application/x-javascript + text/xml application/xml application/xml+rss text/javascript; + + server_name radio.${DOMAIN}; + + location / { + proxy_pass http://navidrome-handler; + } + } + upstream tt-rss-handler { server tt-rss:9000; }