Initial commit

This commit is contained in:
2026-02-24 16:34:39 +03:00
commit ea8fff629c
38 changed files with 4045 additions and 0 deletions

83
stacks/media/arr.yaml Normal file
View File

@@ -0,0 +1,83 @@
# When *arr apps connect to Prowlarr, use HTTP and Docker service names:
# Lidarr: http://lidarr:8686 Radarr: http://radarr:7878
# Sonarr: http://sonarr:8989 Prowlarr: http://prowlarr:9696
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
ports:
- "8989:8989"
volumes:
- /srv/homelab/config/media/sonarr:/config
- /srv/media:/srv/media
- /srv/media/downloads:/downloads
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
ports:
- "7878:7878"
volumes:
- /srv/homelab/config/media/radarr:/config
- /srv/media:/srv/media
- /srv/media/downloads:/downloads
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
ports:
- "8686:8686"
volumes:
- /srv/homelab/config/media/lidarr:/config
- /srv/media:/srv/media
- /srv/media/downloads:/downloads
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
ports:
- "9696:9696"
volumes:
- /srv/homelab/config/media/prowlarr:/config
- /srv/media:/srv/media
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"

View File

@@ -0,0 +1,9 @@
name: media
include:
- ./arr.yaml
- ./qbittorrent.yaml
- ./jellyfin.yaml
- ./seer.yaml
- ./navidrome.yaml
- ./immich.yaml

10
stacks/media/immich.env Normal file
View File

@@ -0,0 +1,10 @@
TZ=Europe/Moscow
IMMICH_VERSION=v2
DB_HOSTNAME=immich-postgres
REDIS_HOSTNAME=immich-redis
DB_PASSWORD=change_me
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
POSTGRES_PASSWORD=change_me
POSTGRES_USER=postgres
POSTGRES_DB=immich

67
stacks/media/immich.yaml Normal file
View File

@@ -0,0 +1,67 @@
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-v2}
volumes:
- /srv/media/immich:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- ./immich.env
ports:
- "2283:2283"
depends_on:
- immich-redis
- immich-postgres
restart: unless-stopped
healthcheck:
disable: false
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-v2}
volumes:
- /srv/homelab/data/media/immich/model-cache:/cache
env_file:
- ./immich.env
restart: unless-stopped
healthcheck:
disable: false
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
immich-redis:
container_name: immich_redis
image: docker.io/valkey/valkey:9@sha256:546304417feac0874c3dd576e0952c6bb8f06bb4093ea0c9ca303c73cf458f63
healthcheck:
test: redis-cli ping || exit 1
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
immich-postgres:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
env_file:
- ./immich.env
shm_size: 128mb
volumes:
- /srv/homelab/data/media/immich/postgres:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
disable: false
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"

View File

@@ -0,0 +1,21 @@
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
ports:
- "8096:8096"
volumes:
- /srv/homelab/config/media/jellyfin:/config
- /srv/homelab/data/media/jellyfin/cache:/cache
- /srv/media:/srv/media
- /srv/media:/media
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"

View File

@@ -0,0 +1,16 @@
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
user: "1000:1000"
ports:
- "4533:4533"
volumes:
- /srv/homelab/data/media/navidrome:/data
- /srv/media/music:/music:ro
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"

View File

@@ -0,0 +1,24 @@
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
- WEBUI_PORT=8081
ports:
- "8081:8081"
- "6881:6881"
- "6881:6881/udp"
volumes:
- /srv/homelab/config/media/qbittorrent:/config
- /srv/media/downloads:/downloads
- /srv/media/movies:/movies
- /srv/media/shows:/shows
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"

18
stacks/media/seer.yaml Normal file
View File

@@ -0,0 +1,18 @@
services:
seer:
image: ghcr.io/seerr-team/seerr:latest
container_name: seer
environment:
- LOG_LEVEL=info
- TZ=Europe/Moscow
- PORT=5055
ports:
- "5055:5055"
volumes:
- /srv/homelab/config/media/seer:/app/config
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"