From f6180fccdc1a974b108c25c126c52696470ce634 Mon Sep 17 00:00:00 2001 From: Jason Rasmussen Date: Tue, 7 Nov 2023 11:34:03 -0500 Subject: [PATCH] chore(server): compose updates (#4878) * chore: compose updates * chore: docs for troubleshooting * chore: add reference in docker compose to docs --- docker/docker-compose.dev.yml | 8 +++--- docker/docker-compose.prod.yml | 39 ++++++++++++-------------- docs/docs/developer/troubleshooting.md | 19 +++++++++++++ 3 files changed, 41 insertions(+), 25 deletions(-) create mode 100644 docs/docs/developer/troubleshooting.md diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 2d44a1f070..ab1fa0c5d6 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -1,3 +1,7 @@ +# See: +# - https://immich.app/docs/developer/setup +# - https://immich.app/docs/developer/troubleshooting + version: "3.8" services: @@ -71,10 +75,6 @@ services: command: npm run dev --host env_file: - .env - environment: - # Rename these values for svelte public interface - - PUBLIC_IMMICH_SERVER_URL=${IMMICH_SERVER_URL} - - PUBLIC_IMMICH_API_URL_EXTERNAL=${IMMICH_API_URL_EXTERNAL} ports: - 3000:3000 - 24678:24678 diff --git a/docker/docker-compose.prod.yml b/docker/docker-compose.prod.yml index 0304299857..74e8b1f1e8 100644 --- a/docker/docker-compose.prod.yml +++ b/docker/docker-compose.prod.yml @@ -7,9 +7,9 @@ services: build: context: ../server dockerfile: Dockerfile - command: ["./start-server.sh"] + command: [ "./start-server.sh" ] volumes: - - ${UPLOAD_LOCATION}:/usr/src/app/upload + - ${UPLOAD_LOCATION}/photos:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env @@ -18,19 +18,6 @@ services: - database - typesense - immich-machine-learning: - container_name: immich_machine_learning - image: immich-machine-learning:latest - build: - context: ../machine-learning - dockerfile: Dockerfile - volumes: - - ${UPLOAD_LOCATION}:/usr/src/app/upload - - model-cache:/cache - env_file: - - .env - restart: always - immich-microservices: container_name: immich_microservices image: immich-microservices:latest @@ -40,9 +27,9 @@ services: build: context: ../server dockerfile: Dockerfile - command: ["./start-microservices.sh"] + command: [ "./start-microservices.sh" ] volumes: - - ${UPLOAD_LOCATION}:/usr/src/app/upload + - ${UPLOAD_LOCATION}/photos:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env @@ -64,6 +51,18 @@ services: depends_on: - immich-server + immich-machine-learning: + container_name: immich_machine_learning + image: immich-machine-learning:latest + build: + context: ../machine-learning + dockerfile: Dockerfile + volumes: + - model-cache:/cache + env_file: + - .env + restart: always + typesense: container_name: immich_typesense image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd @@ -73,7 +72,7 @@ services: # remove this to get debug messages - GLOG_minloglevel=1 volumes: - - tsdata:/data + - ${UPLOAD_LOCATION}/typesense:/data restart: always redis: @@ -91,7 +90,7 @@ services: POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - - pgdata:/var/lib/postgresql/data + - ${UPLOAD_LOCATION}/postgres:/var/lib/postgresql/data restart: always immich-proxy: @@ -113,6 +112,4 @@ services: restart: always volumes: - pgdata: model-cache: - tsdata: diff --git a/docs/docs/developer/troubleshooting.md b/docs/docs/developer/troubleshooting.md new file mode 100644 index 0000000000..83e4f370df --- /dev/null +++ b/docs/docs/developer/troubleshooting.md @@ -0,0 +1,19 @@ +# Troubleshooting + +:::tip +A great option to get assistance with troubleshooting is to join our [Discord](https://discord.gg/D8JsnBEuKb) server, where we have a dedicated channel for `#contributing`. +::: + +## Known Issues + +### Running on Windows + +Running Immich on Windows can be frustrating and there are lots of ways it can go wrong. Where possible we recommend using Docker on Linux. However, several people have had success running Immich on Windows using Docker via WSL2. + +### NTFS Mounted Volumes + +The docker-compose.dev.yml and docker-compose.prod.yml use volume mounts for the postgres database. On start-up, postgres will try to `chown` the data directory, but fail. See [this post](https://forums.docker.com/t/data-directory-var-lib-postgresql-data-pgdata-has-wrong-ownership/17963/24) for more information about this issue and possible solutions. + +### `Cannot read properties of null (reading 'split')` + +This error occurs when trying to access the app via port `3000` instead of `2283`. During development `immich-proxy` runs on port 2283, while `immich-web` runs on `3000`.