diff --git a/server/.env b/server/.env index 9c7f16aa..9e245d09 100644 --- a/server/.env +++ b/server/.env @@ -13,8 +13,6 @@ REDIS_PASSWORD=R3d1sP@ssw0rd2025SecureCache # Gitea GITEA=/mnt/md0/gitea -# ------------------- - # Immich IMMICH_UPLOAD_LOCATION=/mnt/md0/immich/uploads IMMICH_DB_DATA_LOCATION=/mnt/md0/immich/db @@ -23,6 +21,13 @@ IMMICH_DB_PASSWORD=postgres IMMICH_DB_USERNAME=postgres # Do not change IMMICH_DB_DATABASE_NAME=immich # Do not change +# Pi-hole +PIHOLE=/mnt/md0/pihole +FTLCONF_webserver_api_password="wX<|h(mav(;rGU}FTrz<)x<(J" +FTLCONF_dns_listeningMode=all # If using Docker's default `bridge` network setting the dns listening mode should be set to 'all' + +# ------------------- + # Home Assistant HA_CONFIG=/mnt/md0/ha/config OWW_CUSTOM_MODEL_DIR=/mnt/md0/ha/openwakeword-model @@ -31,11 +36,6 @@ PIPER_DATA=/mnt/md0/ha/piper-data WHISPER_DATA=/mnt/md0/ha/whisper-data ESPHOME_CONFIG=/mnt/md0/esphome/config -# Pi-hole -PIHOLE=/mnt/md0/pihole -FTLCONF_webserver_api_password="wX<|h(mav(;rGU}FTrz<)x<(J" -FTLCONF_dns_listeningMode=all # If using Docker's default `bridge` network setting the dns listening mode should be set to 'all' - # FileBrowser FILEBROWSER_DATA=/mnt/md0/files diff --git a/server/docker-compose.yml b/server/docker-compose.yml index bae1fa7b..f1c1b64a 100644 --- a/server/docker-compose.yml +++ b/server/docker-compose.yml @@ -76,71 +76,97 @@ services: ports: - "22:22" - # # --- Immich Server --- - # immich-server: # immich-server:2283 - # container_name: immich-server - # image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} - # # extends: - # # file: hwaccel.transcoding.yml - # # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding - # volumes: - # # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file - # - ${IMMICH_UPLOAD_LOCATION}:/usr/src/app/upload - # - /etc/localtime:/etc/localtime:ro - # env_file: - # - .env - # depends_on: - # - redis - # - database - # restart: unless-stopped - # healthcheck: - # disable: false - # networks: - # - server-network + # --- Immich Server --- + immich-server: # immich-server:2283 + ports: + - "2283:2283" # Local HTTP + container_name: immich-server + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + # extends: + # file: hwaccel.transcoding.yml + # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding + volumes: + # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file + - ${IMMICH_UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + environment: + - REDIS_HOSTNAME=immich-redis + - DB_HOSTNAME=immich-database + env_file: + - .env + depends_on: + - immich-redis + - immich-database + - immich-machine-learning + restart: unless-stopped + healthcheck: + disable: false + networks: + - server-network + - immich-network - # immich-machine-learning: - # container_name: immich-machine-learning - # # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag. - # # Example tag: ${IMMICH_VERSION:-release}-cuda - # image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} - # # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration - # # file: hwaccel.ml.yml - # # service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable - # volumes: - # - model-cache:/cache - # env_file: - # - .env - # restart: unless-stopped - # healthcheck: - # disable: false - # networks: - # - server-network + immich-machine-learning: + container_name: immich-machine-learning + # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag. + # Example tag: ${IMMICH_VERSION:-release}-cuda + image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} + # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration + # file: hwaccel.ml.yml + # service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable + volumes: + - model-cache:/cache + env_file: + - .env + restart: unless-stopped + healthcheck: + disable: false + networks: + - immich-network - # redis: - # container_name: immich-redis - # image: docker.io/valkey/valkey:8-bookworm@sha256:fec42f399876eb6faf9e008570597741c87ff7662a54185593e74b09ce83d177 - # healthcheck: - # test: redis-cli ping || exit 1 - # restart: unless-stopped - # networks: - # - server-network + immich-redis: + container_name: immich-redis + image: docker.io/valkey/valkey:8-bookworm@sha256:fec42f399876eb6faf9e008570597741c87ff7662a54185593e74b09ce83d177 + healthcheck: + test: redis-cli ping || exit 1 + restart: unless-stopped + networks: + - immich-network - # database: - # container_name: immich-postgres - # image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 - # environment: - # POSTGRES_PASSWORD: ${IMMICH_DB_PASSWORD} - # POSTGRES_USER: ${IMMICH_DB_USERNAME} - # POSTGRES_DB: ${IMMICH_DB_DATABASE_NAME} - # POSTGRES_INITDB_ARGS: "--data-checksums" - # # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs - # B_STORAGE_TYPE: "HDD" - # volumes: - # # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file - # - ${IMMICH_DB_DATA_LOCATION}:/var/lib/postgresql/data - # restart: unless-stopped - # networks: - # - server-network + immich-database: + container_name: immich-database + image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 + environment: + POSTGRES_PASSWORD: ${IMMICH_DB_PASSWORD} + POSTGRES_USER: ${IMMICH_DB_USERNAME} + POSTGRES_DB: ${IMMICH_DB_DATABASE_NAME} + POSTGRES_INITDB_ARGS: "--data-checksums" + # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs + B_STORAGE_TYPE: "HDD" + volumes: + # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file + - ${IMMICH_DB_DATA_LOCATION}:/var/lib/postgresql/data + restart: unless-stopped + networks: + - immich-network + + # --- Pi-hole --- + pihole: + container_name: pihole + image: pihole/pihole:latest + ports: + # DNS Ports + - "53:53/tcp" + - "53:53/udp" + # Default HTTP Port + - "2100:80/tcp" + env_file: + - .env + volumes: + - "${PIHOLE}:/etc/pihole" + cap_add: + # Optional, if Pi-hole should get some more processing time + - SYS_NICE + restart: unless-stopped # # --- Home Assistant --- # homeassistant: @@ -238,25 +264,6 @@ services: # - ${WHISPER_DATA}:/data # restart: unless-stopped - # # --- Pi-hole --- - # # pihole: - # # container_name: pihole - # # image: pihole/pihole:latest - # # ports: - # # # DNS Ports - # # - "53:53/tcp" - # # - "53:53/udp" - # # # Default HTTP Port - # # - "2100:80/tcp" - # # - "2101:443/tcp" - # # env_file: - # # - .env - # # volumes: - # # - "${PIHOLE}:/etc/pihole" - # # cap_add: - # # # Optional, if Pi-hole should get some more processing time - # # - SYS_NICE - # # restart: unless-stopped @@ -307,5 +314,7 @@ networks: driver: bridge nextcloud-network: driver: bridge + immich-network: + driver: bridge homeassistant-network: driver: bridge