commit a69a424683074f6266fd2511c94523038d72bc97 Author: aetos Date: Tue Sep 23 11:08:32 2025 +0000 Add docker-compose.yaml diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..fb2cbf6 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,159 @@ +# Shared storage configuration +x-shared-storage: &shared_data_volume + type: bind + source: /mnt/machine-spirit/data/media-manager + target: /data + bind: + create_host_path: true + +# Service-specific volume configurations +x-volume-configs: + jellyseerr: &jellyseerr_volumes + - type: bind + source: /mnt/machine-spirit/configs/jellyseerr + target: /app/config + bind: + create_host_path: true + + prowlarr: &prowlarr_volumes + - type: bind + source: /mnt/machine-spirit/configs/prowlarr + target: /config + bind: + create_host_path: true + - <<: *shared_data_volume + + sonarr: &sonarr_volumes + - type: bind + source: /mnt/machine-spirit/configs/sonarr + target: /config + bind: + create_host_path: true + - <<: *shared_data_volume + + radarr: &radarr_volumes + - type: bind + source: /mnt/machine-spirit/configs/radarr + target: /config + bind: + create_host_path: true + - <<: *shared_data_volume + +services: + jellyseerr: + image: fallenbagel/jellyseerr:latest + container_name: jellyseerr + ports: ["5055:5055"] + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: *jellyseerr_volumes + networks: + - media-net + extra_hosts: + - "host.docker.internal:host-gateway" + healthcheck: + test: [ "CMD", "curl", "-f", "http://localhost:5055" ] + interval: 1m + retries: 3 + restart: unless-stopped + dns: + - 1.1.1.1 + - 8.8.8.8 + + prowlarr: + image: lscr.io/linuxserver/prowlarr:latest + container_name: prowlarr + ports: ["9696:9696"] + volumes: *prowlarr_volumes + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + networks: + - media-net + extra_hosts: + - "host.docker.internal:host-gateway" + healthcheck: + test: [ "CMD", "curl", "-f", "http://localhost:9696" ] + interval: 1m + retries: 3 + restart: unless-stopped + dns: + - 1.1.1.1 + - 8.8.8.8 + + sonarr: + image: lscr.io/linuxserver/sonarr:latest + container_name: sonarr + ports: ["8989:8989"] + volumes: *sonarr_volumes + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + networks: + - media-net + extra_hosts: + - "host.docker.internal:host-gateway" + healthcheck: + test: [ "CMD", "curl", "-f", "http://localhost:8989" ] + interval: 1m + retries: 3 + restart: unless-stopped + dns: + - 1.1.1.1 + - 8.8.8.8 + + radarr: + image: lscr.io/linuxserver/radarr:latest + container_name: radarr + ports: ["7878:7878"] + volumes: *radarr_volumes + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + networks: + - media-net + extra_hosts: + - "host.docker.internal:host-gateway" + healthcheck: + test: [ "CMD", "curl", "-f", "http://localhost:7878" ] + interval: 1m + retries: 3 + restart: unless-stopped + dns: + - 1.1.1.1 + - 8.8.8.8 + + ombi: + image: lscr.io/linuxserver/ombi:latest + container_name: ombi + environment: + - PUID=${PUID} + - PGID=${PGID} + - TZ=${TZ} + volumes: + - /mnt/machine-spirit/configs/ombi:/config + ports: ["3579:3579"] + networks: + - media-net + extra_hosts: + - "host.docker.internal:host-gateway" + healthcheck: + test: [ "CMD", "curl", "-f", "http://localhost:3579" ] + interval: 1m + retries: 3 + restart: unless-stopped + dns: + - 1.1.1.1 + - 8.8.8.8 + +networks: + media-net: + driver: bridge + labels: + - "com.media-stack.network=main" + - "com.media-stack.description=Primary network for *arr stack communication with IPv6" \ No newline at end of file