Add compose files

This commit is contained in:
2026-02-26 16:01:03 -06:00
parent 09baf1703b
commit ac0608e5b9
3 changed files with 220 additions and 0 deletions

View File

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

91
immich/immich-compose.yml Normal file
View File

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

114
starr/starr-compose.yml Normal file
View File

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