I’m trying to host Immich on a home server running NixOS, but having some trouble connecting to it. I haven’t got much experience with networking in general, so this may be a simple question that’s not particularly related to NixOS, so apologies in advance .
Locally, everything works fine. I have services.immich.enable = true
in my config, and if I go to localhost:2283
in my browser, it works. But if I use another device on my and go to server:2283
it fails.
Some fixes/troubleshooting steps I’ve tried so far:
- on the other device,
host server
gives the correct IP address (at least, one that matchesifconfig
on the server - other services have the same behavior (e.g.
open-webui
) - I can
ping server
andping <ip address of server>
- I tried adding
services.immich.openFirewall = true
, no change - I tried adding
networking.firewall.allowedTCPPorts = [2283]
, no change (somewhat expected, I assume this is whatservices.immich.openFirewall
does) - I looked at
journalctl --follow
to see what was happening to the requests - when I tried to access the page from the other machine, I got lots of logs like:
Jun 10 19:33:07 server kernel: refused connection: IN=wlp195s0 OUT= MAC=98:bd:80:8e:ec:fc:7e:55:00:ff:e6:d7:08:00 SRC=192.168.0.177 DST=192.168.0.205 LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=57399 DPT=2283 WINDOW=65535 RES=0x00 SYN URGP=0
which makes me think that it’s still a firewall issue
- so I added
networking.firewall.enable = false
to fully disable the firewall. After doing this, I no longer see therefused connection
logs when I try from the other machine - I just see nothing
At this point, I’m out of debugging steps - any suggestions are much appreciated.
Thanks