Unable to load the start page

Hi everyone, trying to start immich on a VM via docker. Here is how it's looking right now: All the required components are running
docker container ls | grep immich
30f8013405c3 altran1502/immich-proxy:release "/docker-entrypoint.…" 10 minutes ago Up 10 minutes 0.0.0.0:2283->8080/tcp immich_proxy_container
76b35cfdce9d altran1502/immich-server:release "/bin/sh ./start-mic…" 10 minutes ago Up 10 minutes 3001/tcp immich_microservices
1f73320a528c altran1502/immich-server:release "/bin/sh ./start-ser…" 10 minutes ago Up 10 minutes 3001/tcp immich_server
61a302e18287 redis:6.2 "docker-entrypoint.s…" 10 minutes ago Up 10 minutes 6379/tcp immich_redis
74cd3db2970c postgres:14 "docker-entrypoint.s…" 10 minutes ago Up 10 minutes 5432/tcp immich_postgres
a261c43255e1 altran1502/immich-machine-learning:release "/bin/sh ./entrypoin…" 10 minutes ago Up 10 minutes immich_machine_learning_container
2ec9dc5068ad altran1502/immich-web:release "/bin/sh ./entrypoin…" 10 minutes ago Up 10 minutes 3000/tcp immich_web_container
docker container ls | grep immich
30f8013405c3 altran1502/immich-proxy:release "/docker-entrypoint.…" 10 minutes ago Up 10 minutes 0.0.0.0:2283->8080/tcp immich_proxy_container
76b35cfdce9d altran1502/immich-server:release "/bin/sh ./start-mic…" 10 minutes ago Up 10 minutes 3001/tcp immich_microservices
1f73320a528c altran1502/immich-server:release "/bin/sh ./start-ser…" 10 minutes ago Up 10 minutes 3001/tcp immich_server
61a302e18287 redis:6.2 "docker-entrypoint.s…" 10 minutes ago Up 10 minutes 6379/tcp immich_redis
74cd3db2970c postgres:14 "docker-entrypoint.s…" 10 minutes ago Up 10 minutes 5432/tcp immich_postgres
a261c43255e1 altran1502/immich-machine-learning:release "/bin/sh ./entrypoin…" 10 minutes ago Up 10 minutes immich_machine_learning_container
2ec9dc5068ad altran1502/immich-web:release "/bin/sh ./entrypoin…" 10 minutes ago Up 10 minutes 3000/tcp immich_web_container
And here are the urls for proxy container: " docker inspect immich_proxy_container | grep IMMICH "IMMICH_WEB_URL=immich_web_container:3000", "IMMICH_SERVER_URL=immich_server:3001", ``` Any idea what I might be doing wrong? I am using docker containers and not docker-compose, as I am deploying everything via terraform docker provider on a linode server 🙂
No description
51 Replies
Alex Tran
Alex Tran3y ago
Can you provide your docker-compose and .env file?
level0gamer
level0gamerOP3y ago
Like I said in the post, I am not using docker-compose. Just plain docker. I can inspect containers and give you the envs passed.
Alex Tran
Alex Tran3y ago
ah just saw your comment So all the containers communicate with each other using the docker dns might be problem with terraform docker provider not putting them into the same network
level0gamer
level0gamerOP3y ago
I have a special network created for this setup. "immich_network" and all the containers are using this network. I will recheck if that's the case or not
bo0tzz
bo0tzz3y ago
Please check the logs of the server container to make sure it's running OK
level0gamer
level0gamerOP3y ago
docker inspect immich_web_container | grep network
"immich_network": {
root@immich-server:~# docker inspect immich_server | grep network
"immich_network": {
docker inspect immich_web_container | grep network
"immich_network": {
root@immich-server:~# docker inspect immich_server | grep network
"immich_network": {
it's running okay.
bo0tzz
bo0tzz3y ago
Did you check the logs?
level0gamer
level0gamerOP3y ago
docker container logs immich_server | tail
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/server-info, GET} route +1ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/server-info/ping, GET} route +3ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/server-info/version, GET} route +4ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/server-info/stats, GET} route +2ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RoutesResolver] JobController {/jobs}: +6ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/jobs, GET} route +1ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/jobs/:jobId, PUT} route +2ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [NestApplication] Nest application successfully started +158ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [ImmichServer] Running Immich Server in PRODUCTION environment - version 1.47.3 - Listening on port: 3001
[Nest] 1 - 02/16/2023, 3:02:32 PM WARN [ImmichServer] Machine learning is enabled
docker container logs immich_server | tail
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/server-info, GET} route +1ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/server-info/ping, GET} route +3ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/server-info/version, GET} route +4ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/server-info/stats, GET} route +2ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RoutesResolver] JobController {/jobs}: +6ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/jobs, GET} route +1ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [RouterExplorer] Mapped {/jobs/:jobId, PUT} route +2ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [NestApplication] Nest application successfully started +158ms
[Nest] 1 - 02/16/2023, 3:02:32 PM LOG [ImmichServer] Running Immich Server in PRODUCTION environment - version 1.47.3 - Listening on port: 3001
[Nest] 1 - 02/16/2023, 3:02:32 PM WARN [ImmichServer] Machine learning is enabled
container is healthy.
Alex Tran
Alex Tran3y ago
From the web container, can you ping other container?
level0gamer
level0gamerOP3y ago
All are on the same network. just confirmed.
docker network inspect immich_network | grep Name
"Name": "immich_network",
"Name": "dozzle_container",
"Name": "immich_server",
"Name": "immich_web_container",
"Name": "immich_proxy_container",
"Name": "immich_redis",
"Name": "immich_postgres",
"Name": "immich_microservices",
"Name": "immich_machine_learning_container",
docker network inspect immich_network | grep Name
"Name": "immich_network",
"Name": "dozzle_container",
"Name": "immich_server",
"Name": "immich_web_container",
"Name": "immich_proxy_container",
"Name": "immich_redis",
"Name": "immich_postgres",
"Name": "immich_microservices",
"Name": "immich_machine_learning_container",
docker container exec -it immich_web_container sh
ping immich_server
PING immich_server (172.18.0.7): 56 data bytes
64 bytes from 172.18.0.7: seq=0 ttl=64 time=0.415 ms
64 bytes from 172.18.0.7: seq=1 ttl=64 time=0.179 ms
64 bytes from 172.18.0.7: seq=2 ttl=64 time=0.246 ms
^C
--- immich_server ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.179/0.280/0.415 ms
docker container exec -it immich_web_container sh
ping immich_server
PING immich_server (172.18.0.7): 56 data bytes
64 bytes from 172.18.0.7: seq=0 ttl=64 time=0.415 ms
64 bytes from 172.18.0.7: seq=1 ttl=64 time=0.179 ms
64 bytes from 172.18.0.7: seq=2 ttl=64 time=0.246 ms
^C
--- immich_server ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.179/0.280/0.415 ms
pinging works. 😉
bo0tzz
bo0tzz3y ago
what about curl immich_server:3001?
Alex Tran
Alex Tran3y ago
it is looking for immich-server not immich_server
bo0tzz
bo0tzz3y ago
Good catch, interesting
level0gamer
level0gamerOP3y ago
What is "It" in this case?
Alex Tran
Alex Tran3y ago
the error message you showed
level0gamer
level0gamerOP3y ago
you are right.
bo0tzz
bo0tzz3y ago
What's the output of docker inspect immich_web_container | grep IMMICH?
Alex Tran
Alex Tran3y ago
No description
level0gamer
level0gamerOP3y ago
Haven't defined any envs in web_container, do they need them too.
bo0tzz
bo0tzz3y ago
Yes, it does
level0gamer
level0gamerOP3y ago
I will check where the immich-server is coming from, and will also add all the envs to web-container.
bo0tzz
bo0tzz3y ago
https://github.com/immich-app/immich/blob/main/docker/docker-compose.yml#L52-L53 The immich-server is a default because you haven't set the env var
Alex Tran
Alex Tran3y ago
No description
level0gamer
level0gamerOP3y ago
Yes correct, since i am using docker and not docker-compose, I didn't provide it a .env file, and adding all envs manually. Make sense That error is gone, but new one is here:
connect EADDRNOTAVAIL ::1:80 - Local (:::0) - EADDRNOTAVAIL
Stacktrace
Error: connect EADDRNOTAVAIL ::1:80 - Local (:::0)
at internalConnect (node:net:953:16)
at defaultTriggerAsyncIdScope (node:internal/async_hooks:465:18)
at node:net:1044:9
at processTicksAndRejections (node:internal/process/task_queues:78:11)
connect EADDRNOTAVAIL ::1:80 - Local (:::0) - EADDRNOTAVAIL
Stacktrace
Error: connect EADDRNOTAVAIL ::1:80 - Local (:::0)
at internalConnect (node:net:953:16)
at defaultTriggerAsyncIdScope (node:internal/async_hooks:465:18)
at node:net:1044:9
at processTicksAndRejections (node:internal/process/task_queues:78:11)
Alex Tran
Alex Tran3y ago
Can you check the immich-proxy log?
level0gamer
level0gamerOP3y ago
proxy logs show nothing other than the generic nginx startup logs. Any idea how can I enable logging? LOG_LEVEL doesn't seem to work.
bo0tzz
bo0tzz3y ago
Which container is this on?
level0gamer
level0gamerOP3y ago
I cannot see that, all the logs show nothing. which is also weird.
No description
bo0tzz
bo0tzz3y ago
Is ipv6 enabled on your system?
Alex Tran
Alex Tran3y ago
it should be fixed with the latest release
level0gamer
level0gamerOP3y ago
docker container inspect immich_web_container | grep IMMICH
"IMMICH_SERVER_URL=immich_server:3001",
docker container inspect immich_web_container | grep IMMICH
"IMMICH_SERVER_URL=immich_server:3001",
this should be correct, then what's the problem. Also no stack traces shown in container logs.
Alex Tran
Alex Tran3y ago
please make sure to use the - instead of underscore
level0gamer
level0gamerOP3y ago
for the server url? okay. but I would not make any mistake as the name is generated as follows: "IMMICH_SERVER_URL=${docker_container.immich_server_container.name}:3001", and it will always be correct. this is how terraform makes sure that the names are consistent. But if you want I can change the _ to -, but only if it's really required.
Alex Tran
Alex Tran3y ago
maybe try this first to see if it is the problem
level0gamer
level0gamerOP3y ago
changing now. deploying with -
level0gamer
level0gamerOP3y ago
docker container inspect immich_web_container | grep IMMICH
"IMMICH_SERVER_URL=immich-server:3001",
docker container inspect immich_web_container | grep IMMICH
"IMMICH_SERVER_URL=immich-server:3001",
New error
No description
Alex Tran
Alex Tran3y ago
you problably need http://
level0gamer
level0gamerOP3y ago
docker container inspect immich_web_container | grep IMMICH
"IMMICH_SERVER_URL=http://immich-server:3001",
docker container inspect immich_web_container | grep IMMICH
"IMMICH_SERVER_URL=http://immich-server:3001",
Problem solved. But I still don't know why I had to change from _ to - :/
jrasm91
jrasm913y ago
When you use docker compose the service names in the compose file are DNS resolvable. Since you don't use compose you need to connect via container name or something else.
level0gamer
level0gamerOP3y ago
yes, that's correct. I am using container names to resolve the names, and the names are consistent as I am using terraform variables. But nevertheless, learned something today.
jrasm91
jrasm913y ago
So that's why you had to change hyphen to underscore
bo0tzz
bo0tzz3y ago
Per the RFC standards, a hostname isn't allowed to have an underscore in it, while a DNS name is. Those are kinda mixing here, so that's when you get the situation where it sometimes does or doesn't work - best to avoid the situation and just not use underscores
level0gamer
level0gamerOP3y ago
although in both cases the name of the container name and the variable was the same, but yes, not DNS resolvable. Alright this helps a lot. One more quick question. Does anyone have any short post somewhere on how to enable quick https support using nginx? I will be using self signed certs for my domain.
Alex Tran
Alex Tran3y ago
self-signed cert doesn't work with the mobile app
level0gamer
level0gamerOP3y ago
Ah okay. good to know. will probably use web browser for now, not the app.
jrasm91
jrasm913y ago
A lot of people use Nginx proxy manager, traefik, caddy, or other proxies to configure ssl. (for external access) or use http on lan
level0gamer
level0gamerOP3y ago
thanks again for the help everyone. 🙂
jrasm91
jrasm913y ago
Good luck trying it out. Let us know if you find any bugs 🐛🐛🐛
bo0tzz
bo0tzz3y ago
Another route you can try, since you're using terraform, is this with a DNS challenge https://registry.terraform.io/providers/vancluever/acme/latest/docs/resources/certificate
level0gamer
level0gamerOP3y ago
Thanks a lot folks once again, this was super fast help. Such a nice user experience to get help on discord about a free service. Kudos. I hope I can dig in to the code soon and can help in whatever way I can.
Alex Tran
Alex Tran3y ago
Thank you! 😄

Did you find this page helpful?