help immich on windows
I have immich running on my pc using wsl. I can acces from my browser but not from my phone.
I am using the ip of the wsl machine as the endpoint.
Can somebody help?
35 Replies
Is it normal that immich_web is listening at 0.0.0.0:3000
Yes, it is internal docker ip address
Hey Alex! Just wanted to tell you how amazing your immich concept and work is. But I am having issues having it up and running. Could you give me some advice? Maybe future windows users can refer back to this post
Windows' firewall is probably blocking the port
I have disable windows firewall
I think there is some setting about private network or something similar that block the port to be discovered
And the endpoint should be the WSL up?
IP*?
Is that a different ip from the windows machine itself?
If so you probably need to do something special to forward the port
Is there somewhere in docker where I can look at the IP of the server?
If I try from multiple IPs I can access from my computer
But not to the app
I think you will need to search Google a bit since none of us running Docker on Windows 🤔
It is wired cuz I have the app running in my machine and I can upload photos and create users
But I cannot figure out how to connect to it
you need to use a fiurewall rule to port forward through to the internal docker IP
by default it will let u access it from the host machine, but not other machines on your network
i had the same issue when i offloaded my ML docker to my windows machine to speed it up
try this:
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=<port de destination sur la machine Linux> connectaddress=3000
New-NetFireWallRule -DisplayName 'WSL 2' -Direction Outbound -LocalPort "3000" -Action Allow -Protocol TCP
New-NetFireWallRule -DisplayName 'WSL 2' -Direction Inbound -LocalPort "3000" -Action Allow -Protocol TCP
run those from an admin powershell terminal
oh hang on i messed that up..
Hey karmacop! Thanks I will try them now
hang on..
I am hanging
:icebearp2:
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=<immichvmip>
New-NetFireWallRule -DisplayName 'WSL 2' -Direction Outbound -LocalPort "3000" -Action Allow -Protocol TCP
New-NetFireWallRule -DisplayName 'WSL 2' -Direction Inbound -LocalPort "3000" -Action Allow -Protocol TCP
change <immichvmip> to the IP address of the docker container
172.blah.blah
its the same idea as port forwarding through a router
Okay, I think I get it. I will try now and let you know. I am kind of a computers guy just not a network guy
sorry not the docker container, the WSL machine IP
Yeah yeah
😄
mixing my metaphors there...
(base) PS C:\Windows\system32> netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=172.17.240.1
(base) PS C:\Windows\system32> New-NetFireWallRule -DisplayName 'WSL 2' -Direction Outbound -LocalPort "3000" -Action Allow -Protocol TCP
Name : {9876769a-7b70-4848-b3b4-223871d327f4}
DisplayName : WSL 2
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Outbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : The rule was parsed successfully from the store. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
RemoteDynamicKeywordAddresses :
PolicyAppId :
(base) PS C:\Windows\system32>
(base) PS C:\Windows\system32> New-NetFireWallRule -DisplayName 'WSL 2' -Direction Inbound -LocalPort "3000" -Action Allow -Protocol TCP
Name : {d51f3d36-4f32-4824-afe2-36de6c62c21c}
DisplayName : WSL 2
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : The rule was parsed successfully from the store. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
RemoteDynamicKeywordAddresses :
PolicyAppId :
Still no luck
I can ping it from the computer
But no access from phone
what do you get if u run this:
netstat -ano | findstr 3000
C:\Users\crodr>netstat -ano | findstr 3000
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 6416
UDP 0.0.0.0:53000 : 9380
that looks correct
its listening on all interfaces (0.0.0.0)..
hmm
sorry dude ive got to shoot off, but hopefully ive pointed you roughly in the right direction..
Thanks man
If I find a solution I will post
its going to be along those lines im sure
I understand that I need to connect the Immich app to the outside that is running on docker through wsl?
Just to let you know that I got it
A very por implementation but I decided to use ngrok
hmm
Probably hurts perfomance a lot, but I have no other idea how to open the ports or everything
Do you have a server at home to use or just personal PC?
I am using my personal PC
We are just talking about internal network port, not opening a port on your router, right?
Yes, I tried in my local network
But no luck
Do you have any linux distro running on wsl? like Ubuntu? If yes, you can use that distro to run docker engine by enabling 'docker for windows' to use it in docker's settings.
Sorry, im neither computer nor network guy. But i offloaded my ML container to windows and able to access it locally using window's ip and not wsl's ip. Not to mention , i didn't fiddle w any ports/firewalls.
Hope it helps