• 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;
}

} `

  • Qazwsxedcrfv000@lemmy.unknownsys.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 year ago

    I am not sure if Immich supports configuring base URL. You can look into that.

    If it is not supported, you may need to try your luck with URL rewriting. Nginx can do it natively. Briefly, you need to configure Nginx to strip the /immich from the request URL before proxying the request to the Immich instance.

    • varaki@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thanks, eventually I went for the subdomain approach, it turned out to be a less headache and working just fine with wildcard letsencrypt ssl cert.