• I tried to bring up an immich server on a cloud provider server with docker, which is successful, but I’d like to organize multiple services into locations under the top level domain, which is a duckdns.org domain with nginx reverse proxy.

  • So I’d like to reach immich under “https://something.duckdns.org/immich/”, but I can’t seem to make it work, because if I load it, it redirects me to “https://something.duckdns.org/auth/login” (so it uses the top level, not relative to the /immich location)

  • If I manually change it to “https://something.duckdns.org/immich/auth/login” the page loads, but it shows an error message “Unable to connect”

  • If I put it under the / location, it works, but I don’t want that

  • Do I need to change something in the docker compose yaml or the .env files to make it work?

  • Or is my nginx config messed up?

  • On my home server I was able to successfuly set up multiple services in a similar way, I just can’t make it work with immich-app.

Does anyone has any idea?

Here is my nginx configuration:

`server { listen 80 default_server; listen [::]:80 default_server;

listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/MYDUCKDNS_DOMAIN_GOES_HERE/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/MYDUCKDNS_DOMAIN_GOES_HERE/privkey.pem; # managed by Certbot

root /var/www/html;

index index.html index.htm index.nginx-debian.html;

server_name _;

location / {
    try_files $uri $uri/ =404;
}

location /immich/ {
    proxy_pass http://localhost:2283/;
    include proxy_params;

    proxy_http_version 1.1;
    proxy_set_header   Upgrade    $http_upgrade;
    proxy_set_header   Connection "upgrade";
    proxy_redirect off;
}

} `

  • chripede@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    Immich probably uses full paths and expects to be hosted in the root. Hosting on a subdomain will be the easy choice. If you insist on the sub-path you can rewrite requests in nginx to remove part of the path before proxying to immich