Add immich and pihole

This commit is contained in:
2025-07-23 19:35:39 +01:00
parent 6966007060
commit 412693827e
2 changed files with 97 additions and 88 deletions

View File

@@ -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

View File

@@ -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