Using a reverse proxy is a common way of accessing dockerized services outside your local network. Some typical reverse proxy docker images include Traefik and SWAG. The latter, SWAG, is extremely easy to use and I do have a working configuration for Koel (in the case of using Linuxserver's latest SWAG docker container, this config should be placed by default in ~/.config/appdata/swag/nginx/proxy-confs/koel.subdomain.conf):
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name koel.*;
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
resolver 127.0.0.11 valid=30s;
set $upstream_app koel;
set $upstream_port 8090;
set $upstream_proto http;
proxy_pass $upstream_proto://<your_server_ip>:$upstream_port;
}
location ~ (/koel)?/api {
include /config/nginx/proxy.conf;
resolver 127.0.0.11 valid=30s;
set $upstream_app koel;
set $upstream_port 8090;
set $upstream_proto http;
proxy_pass $upstream_proto://<your_server_ip>:$upstream_port;
}
}
For this config to work, however, the environment variable FORCE_HTTPS=true needs to be added in the compose file for koel; otherwise, a blank page is served (no error, only a blank, uninformative page). For completion, this is an extract of the docker-compose.yml used for these services: SWAG and Koel:
FYI: I think it's related to your card https://github.com/koel/docker/projects/1#card-31191171
Using a reverse proxy is a common way of accessing dockerized services outside your local network. Some typical reverse proxy docker images include Traefik and SWAG. The latter, SWAG, is extremely easy to use and I do have a working configuration for Koel (in the case of using Linuxserver's latest SWAG docker container, this config should be placed by default in ~/.config/appdata/swag/nginx/proxy-confs/koel.subdomain.conf):
For this config to work, however, the environment variable FORCE_HTTPS=true needs to be added in the compose file for koel; otherwise, a blank page is served (no error, only a blank, uninformative page). For completion, this is an extract of the docker-compose.yml used for these services: SWAG and Koel: