From ac0608e5b98c961c5262966219792d43672ce527 Mon Sep 17 00:00:00 2001 From: Michael Davis Date: Thu, 26 Feb 2026 16:01:03 -0600 Subject: [PATCH] Add compose files --- homepage/homepage-compose.yml | 15 +++++ immich/immich-compose.yml | 91 +++++++++++++++++++++++++++ starr/starr-compose.yml | 114 ++++++++++++++++++++++++++++++++++ 3 files changed, 220 insertions(+) create mode 100644 homepage/homepage-compose.yml create mode 100644 immich/immich-compose.yml create mode 100644 starr/starr-compose.yml diff --git a/homepage/homepage-compose.yml b/homepage/homepage-compose.yml new file mode 100644 index 0000000..ddc7962 --- /dev/null +++ b/homepage/homepage-compose.yml @@ -0,0 +1,15 @@ + +services: + homepage: + image: ghcr.io/gethomepage/homepage:latest + container_name: homepage + environment: + HOMEPAGE_ALLOWED_HOSTS: home.mpdavis.com,10.0.2.0:3001 + PUID: 1000 + PGID: 1000 + ports: + - "3001:3000" + volumes: + - /mnt/nas/homelab/docker/homepage:/app/config + - /var/run/docker.sock:/var/run/docker.sock:ro + restart: unless-stopped diff --git a/immich/immich-compose.yml b/immich/immich-compose.yml new file mode 100644 index 0000000..b24f443 --- /dev/null +++ b/immich/immich-compose.yml @@ -0,0 +1,91 @@ +name: immich + +services: + immich-server: + 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 + user: '1000:1000' + security_opt: + - no-new-privileges:true + cap_drop: + - NET_RAW + 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 + - ${UPLOAD_LOCATION}:/data + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + ports: + - '2283:2283' + depends_on: + - redis + - database + restart: always + healthcheck: + disable: false + + 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://docs.immich.app/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 + user: '1000:1000' + security_opt: + - no-new-privileges:true + cap_drop: + - NET_RAW + volumes: + - ./ml-model-cache:/cache + - ./ml-dotcache:/.cache + - ./ml-config:/.config + env_file: + - .env + restart: always + healthcheck: + disable: false + + redis: + container_name: immich_redis + image: docker.io/valkey/valkey:9@sha256:930b41430fb727f533c5982fe509b6f04233e26d0f7354e04de4b0d5c706e44e + user: '1000:1000' + security_opt: + - no-new-privileges:true + cap_drop: + - NET_RAW + volumes: + - ./redis:/data + healthcheck: + test: redis-cli ping || exit 1 + restart: always + + database: + container_name: immich_postgres + image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23 + user: '1000:1000' + security_opt: + - no-new-privileges:true + cap_drop: + - NET_RAW + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + POSTGRES_INITDB_ARGS: '--data-checksums' + # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs + # DB_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 + - ${DB_DATA_LOCATION}:/var/lib/postgresql/data + shm_size: 128mb + restart: always + healthcheck: + disable: false + +volumes: + model-cache: \ No newline at end of file diff --git a/starr/starr-compose.yml b/starr/starr-compose.yml new file mode 100644 index 0000000..7cae616 --- /dev/null +++ b/starr/starr-compose.yml @@ -0,0 +1,114 @@ + +volumes: + jellyfin_data: + sonarr_data: + radarr_data: + prowlarr_data: + notifiarr_data: + seerr_data: + syncthing_data: + +services: + jellyfin: + image: lscr.io/linuxserver/jellyfin:latest + environment: + - PUID=1000 + - PGID=1000 + volumes: + - jellyfin_data:/config + - /mnt/nas/data:/data + devices: + - /dev/dri:/dev/dri + restart: always + + sonarr: + image: lscr.io/linuxserver/sonarr:latest + container_name: sonarr + restart: unless-stopped + volumes: + - sonarr_data:/config + - /mnt/nas/data:/data + ports: + - "8989:8989" + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Chicago + - SONARR__AUTH__METHOD=Forms + - SONARR__AUTH__REQUIRED=DisabledForLocalAddresses + - SONARR__SERVER__URLBASE=sonarr + + radarr: + image: lscr.io/linuxserver/radarr:latest + container_name: radarr + restart: unless-stopped + volumes: + - radarr_data:/config + - /mnt/nas/data:/data + ports: + - "7878:7878" + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Chicago + - RADARR__AUTH__METHOD=Forms + - RADARR__AUTH__REQUIRED=DisabledForLocalAddresses + - RADARR__SERVER__URLBASE=radarr + + prowlarr: + image: lscr.io/linuxserver/prowlarr:latest + container_name: prowlarr + restart: unless-stopped + volumes: + - prowlarr_data:/config + ports: + - "9696:9696" + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Chicago + - PROWLARR__AUTH__METHOD=Forms + - PROWLARR__AUTH__REQUIRED=DisabledForLocalAddresses + - PROWLARR__SERVER__URLBASE=prowlarr + + notifiarr: + image: golift/notifiarr:latest + container_name: notifiarr + hostname: homelab-notifiarr + restart: unless-stopped + ports: + - "5454:5454" + volumes: + - notifiarr_data:/config + - /var/run/utmp:/var/run/utmp + - /etc/machine-id:/etc/machine-id + + seerr: + image: ghcr.io/seerr-team/seerr:latest + container_name: seerr + restart: unless-stopped + environment: + - LOG_LEVEL=info + - TZ=America/Chicago + ports: + - "5055:5055" + volumes: + - seerr_data:/app/config + + syncthing: + image: lscr.io/linuxserver/syncthing:latest + container_name: syncthing + hostname: homelab-syncthing + restart: unless-stopped + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Chicago + volumes: + - syncthing_data:/config + - /mnt/nas/data:/data + ports: + - "8384:8384" + - "22000:22000/tcp" + - "22000:22000/udp" + - "21027:21027/udp"