I
Immich2y ago
badmas

Jobs page is blank

Hi, I had some uploading issue yesterday when I uploaded about 2GB worth of pics and videos. I uploaded through my domain running on Cloudflare tunnel. Nothing showed up on Immich web portal until today after uploading from the android app . I believe this is cloudflare bandwidth or cache issue. All my pics and videos are still sitting under Upload folder on my hdd, nothing in the monthly folder, but I can see them in the web portal now. Searching about this issue it was mentioned that manually running thumbnail jobs might fix the issue, but the problem I am having is that I don't see any jobs listed that I can manually run. When I go to Administrator > Jobs, the page is just blank. Tried the Immich demo site and I can see all the jobs fine on the same browser. So I am not sure what issue I am having. I am running the latest v1.67.2 version and tried rebooting my docker stack with no success. Going to the Jobs page also crashes Immich web portal, and I can no longer browse anything until the page is refreshed. I appreciate any help. Thanks
No description
25 Replies
badmas
badmasOP2y ago
No description
bo0tzz
bo0tzz2y ago
Can you post the logs of the server container, your docker-compose.yml, and your .env?
badmas
badmasOP2y ago
version: "3.8"

services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
command: ["start-server.sh"]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
hostname: immich_server
env_file:
- stack.env
depends_on:
- redis
- database
- typesense
restart: always

immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:release
command: ["start-microservices.sh"]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
hostname: immich_microservices
env_file:
- stack.env
depends_on:
- redis
- database
- typesense
restart: always

immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:release
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- model-cache:/cache
hostname: immich_machine_learning
env_file:
- stack.env
restart: always

immich-web:
container_name: immich_web
image: ghcr.io/immich-app/immich-web:release
# entrypoint: ["/bin/sh", "./entrypoint.sh"]
hostname: immich_web
env_file:
- stack.env
restart: always

typesense:
container_name: immich_typesense
image: typesense/typesense:0.24.0
environment:
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_DATA_DIR=/data
hostname: immich_typesense
logging:
driver: none
volumes:
- tsdata:/data
restart: always

redis:
container_name: immich_redis
image: redis:6.2
hostname: immich_redis
restart: always
version: "3.8"

services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
command: ["start-server.sh"]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
hostname: immich_server
env_file:
- stack.env
depends_on:
- redis
- database
- typesense
restart: always

immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:release
command: ["start-microservices.sh"]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
hostname: immich_microservices
env_file:
- stack.env
depends_on:
- redis
- database
- typesense
restart: always

immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:release
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- model-cache:/cache
hostname: immich_machine_learning
env_file:
- stack.env
restart: always

immich-web:
container_name: immich_web
image: ghcr.io/immich-app/immich-web:release
# entrypoint: ["/bin/sh", "./entrypoint.sh"]
hostname: immich_web
env_file:
- stack.env
restart: always

typesense:
container_name: immich_typesense
image: typesense/typesense:0.24.0
environment:
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_DATA_DIR=/data
hostname: immich_typesense
logging:
driver: none
volumes:
- tsdata:/data
restart: always

redis:
container_name: immich_redis
image: redis:6.2
hostname: immich_redis
restart: always
database:
container_name: immich_postgres
image: postgres:14
env_file:
- stack.env
hostname: immich_postgres
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
PG_DATA: /var/lib/postgresql/data
volumes:
- /var/lib/docker/volumes/pgdata:/var/lib/postgresql/data
restart: always

immich-proxy:
container_name: immich_proxy
image: ghcr.io/immich-app/immich-proxy:release
environment:
# Make sure these values get passed through from the env file
- IMMICH_SERVER_URL
- IMMICH_WEB_URL

hostname: immich_proxy
ports:
- 2283:8080
logging:
driver: none
depends_on:
- immich-server
restart: always

volumes:
pgdata:
model-cache:
tsdata:
database:
container_name: immich_postgres
image: postgres:14
env_file:
- stack.env
hostname: immich_postgres
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
PG_DATA: /var/lib/postgresql/data
volumes:
- /var/lib/docker/volumes/pgdata:/var/lib/postgresql/data
restart: always

immich-proxy:
container_name: immich_proxy
image: ghcr.io/immich-app/immich-proxy:release
environment:
# Make sure these values get passed through from the env file
- IMMICH_SERVER_URL
- IMMICH_WEB_URL

hostname: immich_proxy
ports:
- 2283:8080
logging:
driver: none
depends_on:
- immich-server
restart: always

volumes:
pgdata:
model-cache:
tsdata:
DB_HOSTNAME=immich_postgres
DB_USERNAME=xxxx
DB_PASSWORD=xxxx
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
UPLOAD_LOCATION=path
TYPESENSE_API_KEY=xxxxx
PUBLIC_LOGIN_PAGE_MESSAGE=xxxxx
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
DB_HOSTNAME=immich_postgres
DB_USERNAME=xxxx
DB_PASSWORD=xxxx
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
UPLOAD_LOCATION=path
TYPESENSE_API_KEY=xxxxx
PUBLIC_LOGIN_PAGE_MESSAGE=xxxxx
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
Above is my docker compose and env variables
bo0tzz
bo0tzz2y ago
Is that the log from immich-server or from immich-microservices?
badmas
badmasOP2y ago
Microservices, I don't see anything unusual on server logs. All green I do see some odd stuff up so here are the logs
bo0tzz
bo0tzz2y ago
Seems like your redis container is having trouble Is that running? Does it have any errors in the logs?
badmas
badmasOP2y ago
Yes running
bo0tzz
bo0tzz2y ago
Hmm, no idea. Maybe some of the others will know once they wake up
jrasm91
jrasm912y ago
Can you screenshot the network request for the http request that has the 500 error? In the dev console there is a network tab and the request should be red. If you click on that item you should see sub tabs for the headers, body, etc. Seeing the response body would be useful.
badmas
badmasOP2y ago
Not sure if I am looking at the right place, but I don't see anything like 500 error or body and headers.
No description
badmas
badmasOP2y ago
I am also not able to create a share link of an Album. Could this also be realted or a new issue? I get the below error when I try to create a share link
No description
bo0tzz
bo0tzz2y ago
The errors might be in the logs of the immich-web container
jrasm91
jrasm912y ago
OK. Can you send the results of this url, assuming you swap out demo.immich.app for your ip/domain. https://demo.immich.app/api/jobs
badmas
badmasOP2y ago
This is what I get on my url
{"thumbnailGeneration":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"metadataExtraction":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"videoConversion":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"objectTagging":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"recognizeFaces":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"clipEncoding":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"backgroundTask":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"storageTemplateMigration":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"search":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"sidecar":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}}}
{"thumbnailGeneration":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"metadataExtraction":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"videoConversion":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"objectTagging":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"recognizeFaces":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"clipEncoding":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"backgroundTask":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"storageTemplateMigration":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"search":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}},"sidecar":{"jobCounts":{"active":0,"completed":0,"failed":0,"delayed":0,"waiting":0,"paused":0},"queueStatus":{"isActive":false,"isPaused":false}}}
badmas
badmasOP2y ago
Here are the logs from the web container
jrasm91
jrasm912y ago
It looks the immich-web container is throwing some unhandled http errors trying to communicate the the immich-server container. Is there anything non-standard about your setup/deployment? Hmm, looks like the immich-web container receives this back from the server:
data: { statusCode: 500, message: 'Internal server error' }
data: { statusCode: 500, message: 'Internal server error' }
I would think you'd see a matching log in the immich-server for this. Are there no errors in immich-server?
badmas
badmasOP2y ago
I restarted all my containers to see if errors show when I try to load the jobs page, but nothing showed upm When there is a new update, do I just need to pull a new image for the server container only?That is all I have been doing so hopefully that is fine.
bo0tzz
bo0tzz2y ago
No, you would need to pull new images for all of the containers That's pretty likely to be causing your issues here :D
badmas
badmasOP2y ago
Hmm I'll try that out
jrasm91
jrasm912y ago
I was going to say it is almost as if the web files were out of sync with the API but I wasn't sure how that could be possible lol. Only pulling the server containers would explain that though.
badmas
badmasOP2y ago
Wooohooo, had some trouble with existing folders, but updating all containers fixed the issue. I can see the jobs and I can also create a share link. Awesome! Only one problem now though, all my newly uploaded photos are in Upload folder. How do I get them to move to appropriate monthly folder?
jrasm91
jrasm912y ago
There is a storage migration job you can run
badmas
badmasOP2y ago
Awesome, back in business. Thank you very much all.

Did you find this page helpful?