diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 2d44a1f07..ab1fa0c5d 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 030429985..74e8b1f1e 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 000000000..83e4f370d --- /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`.