mirror of
https://github.com/AdrienPoupa/docker-compose-nas.git
synced 2025-05-13 21:26:38 +02:00
fix: Migrate away from DockerHub where possible
This commit is contained in:
parent
2a7dbd0342
commit
ddcc9210e6
@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: traefik:v3.3
|
image: ghcr.io/traefik/traefik:3.3
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
@ -36,7 +36,7 @@ services:
|
|||||||
extra_hosts:
|
extra_hosts:
|
||||||
- host.docker.internal:172.17.0.1
|
- host.docker.internal:172.17.0.1
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "traefik", "healthcheck", "--ping" ]
|
test: ["CMD", "traefik", "healthcheck", "--ping"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
retries: 10
|
retries: 10
|
||||||
sonarr:
|
sonarr:
|
||||||
@ -51,7 +51,7 @@ services:
|
|||||||
- ${DATA_ROOT}:/data
|
- ${DATA_ROOT}:/data
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:8989/sonarr/ping" ]
|
test: ["CMD", "curl", "--fail", "http://127.0.0.1:8989/sonarr/ping"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
retries: 10
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
@ -81,7 +81,7 @@ services:
|
|||||||
- ${DATA_ROOT}:/data
|
- ${DATA_ROOT}:/data
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:7878/radarr/ping" ]
|
test: ["CMD", "curl", "--fail", "http://127.0.0.1:7878/radarr/ping"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
retries: 10
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
@ -111,7 +111,7 @@ services:
|
|||||||
- ${DATA_ROOT}:/data
|
- ${DATA_ROOT}:/data
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:8686/lidarr/ping" ]
|
test: ["CMD", "curl", "--fail", "http://127.0.0.1:8686/lidarr/ping"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
retries: 10
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
@ -143,7 +143,7 @@ services:
|
|||||||
- ${DATA_ROOT}:/data
|
- ${DATA_ROOT}:/data
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:6767/bazarr/ping" ]
|
test: ["CMD", "curl", "--fail", "http://127.0.0.1:6767/bazarr/ping"]
|
||||||
interval: 5s
|
interval: 5s
|
||||||
retries: 10
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
@ -162,7 +162,7 @@ services:
|
|||||||
- homepage.widget.url=http://bazarr:6767/bazarr
|
- homepage.widget.url=http://bazarr:6767/bazarr
|
||||||
- homepage.widget.key=${BAZARR_API_KEY}
|
- homepage.widget.key=${BAZARR_API_KEY}
|
||||||
jellyseerr:
|
jellyseerr:
|
||||||
image: fallenbagel/jellyseerr:latest
|
image: ghcr.io/fallenbagel/jellyseerr:latest
|
||||||
container_name: jellyseerr
|
container_name: jellyseerr
|
||||||
environment:
|
environment:
|
||||||
- LOG_LEVEL=debug
|
- LOG_LEVEL=debug
|
||||||
@ -171,7 +171,14 @@ services:
|
|||||||
- ${CONFIG_ROOT:-.}/jellyseerr:/app/config
|
- ${CONFIG_ROOT:-.}/jellyseerr:/app/config
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "http://127.0.0.1:5055/api/v1/status", "-qO", "/dev/null"]
|
test:
|
||||||
|
[
|
||||||
|
"CMD",
|
||||||
|
"wget",
|
||||||
|
"http://127.0.0.1:5055/api/v1/status",
|
||||||
|
"-qO",
|
||||||
|
"/dev/null",
|
||||||
|
]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
retries: 10
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
@ -246,7 +253,7 @@ services:
|
|||||||
- ${CONFIG_ROOT:-.}/prowlarr:/config
|
- ${CONFIG_ROOT:-.}/prowlarr:/config
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:9696/prowlarr/ping" ]
|
test: ["CMD", "curl", "--fail", "http://127.0.0.1:9696/prowlarr/ping"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
retries: 10
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
@ -296,7 +303,8 @@ services:
|
|||||||
healthcheck:
|
healthcheck:
|
||||||
# Container may fail if the PIA's token expired, so mark as unhealthy when there is no internet connection
|
# Container may fail if the PIA's token expired, so mark as unhealthy when there is no internet connection
|
||||||
# see: https://github.com/qdm12/gluetun/issues/641#issuecomment-933856220
|
# see: https://github.com/qdm12/gluetun/issues/641#issuecomment-933856220
|
||||||
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:8080", "https://google.com" ]
|
test:
|
||||||
|
["CMD", "curl", "--fail", "http://127.0.0.1:8080", "https://google.com"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
retries: 10
|
retries: 10
|
||||||
network_mode: "service:vpn"
|
network_mode: "service:vpn"
|
||||||
@ -328,7 +336,7 @@ services:
|
|||||||
- homepage.widget.username=${QBITTORRENT_USERNAME}
|
- homepage.widget.username=${QBITTORRENT_USERNAME}
|
||||||
- homepage.widget.password=${QBITTORRENT_PASSWORD}
|
- homepage.widget.password=${QBITTORRENT_PASSWORD}
|
||||||
vpn:
|
vpn:
|
||||||
image: thrnz/docker-wireguard-pia
|
image: ghcr.io/thrnz/docker-wireguard-pia:latest
|
||||||
container_name: vpn
|
container_name: vpn
|
||||||
volumes:
|
volumes:
|
||||||
- ${CONFIG_ROOT:-.}/pia:/pia
|
- ${CONFIG_ROOT:-.}/pia:/pia
|
||||||
@ -358,7 +366,7 @@ services:
|
|||||||
retries: 3
|
retries: 3
|
||||||
restart: always
|
restart: always
|
||||||
unpackerr:
|
unpackerr:
|
||||||
image: golift/unpackerr:latest
|
image: ghcr.io/unpackerr/unpackerr:latest
|
||||||
container_name: unpackerr
|
container_name: unpackerr
|
||||||
volumes:
|
volumes:
|
||||||
- ${DOWNLOAD_ROOT}:/data/torrents
|
- ${DOWNLOAD_ROOT}:/data/torrents
|
||||||
@ -416,7 +424,7 @@ services:
|
|||||||
- "1900:1900/udp"
|
- "1900:1900/udp"
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:8096/jellyfin/health" ]
|
test: ["CMD", "curl", "--fail", "http://127.0.0.1:8096/jellyfin/health"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
retries: 10
|
retries: 10
|
||||||
labels:
|
labels:
|
||||||
@ -522,7 +530,8 @@ services:
|
|||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
- ${DATA_ROOT}:/data
|
- ${DATA_ROOT}:/data
|
||||||
restart: always
|
restart: always
|
||||||
command: [sh, -c, "cp -n /app/config/tpl/*.yaml /app/config && node server.js"]
|
command:
|
||||||
|
[sh, -c, "cp -n /app/config/tpl/*.yaml /app/config && node server.js"]
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.http.routers.homepage.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/`))
|
- traefik.http.routers.homepage.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/`))
|
||||||
@ -530,7 +539,7 @@ services:
|
|||||||
- traefik.http.routers.homepage.tls.certresolver=myresolver
|
- traefik.http.routers.homepage.tls.certresolver=myresolver
|
||||||
- traefik.http.services.homepage.loadbalancer.server.port=3000
|
- traefik.http.services.homepage.loadbalancer.server.port=3000
|
||||||
watchtower:
|
watchtower:
|
||||||
image: containrrr/watchtower
|
image: ghcr.io/containrrr/watchtower:latest
|
||||||
container_name: watchtower
|
container_name: watchtower
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
|
@ -13,7 +13,7 @@ services:
|
|||||||
- /run/dbus:/run/dbus:ro
|
- /run/dbus:/run/dbus:ro
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "curl", "--fail", "http://127.0.0.1:8123" ]
|
test: ["CMD", "curl", "--fail", "http://127.0.0.1:8123"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
retries: 10
|
retries: 10
|
||||||
privileged: true
|
privileged: true
|
||||||
@ -36,7 +36,7 @@ services:
|
|||||||
- homeassistant
|
- homeassistant
|
||||||
mosquitto:
|
mosquitto:
|
||||||
container_name: mosquitto
|
container_name: mosquitto
|
||||||
image: eclipse-mosquitto
|
image: public.ecr.aws/docker/library/eclipse-mosquitto:latest
|
||||||
restart: always
|
restart: always
|
||||||
user: ${USER_ID}:${GROUP_ID}
|
user: ${USER_ID}:${GROUP_ID}
|
||||||
environment:
|
environment:
|
||||||
@ -49,14 +49,28 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "1883:1883"
|
- "1883:1883"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD", "mosquitto_sub", "-p", "1880", "-t", "$$SYS/#", "-C", "1", "-i", "healthcheck", "-W", "3" ]
|
test:
|
||||||
|
[
|
||||||
|
"CMD",
|
||||||
|
"mosquitto_sub",
|
||||||
|
"-p",
|
||||||
|
"1880",
|
||||||
|
"-t",
|
||||||
|
"$$SYS/#",
|
||||||
|
"-C",
|
||||||
|
"1",
|
||||||
|
"-i",
|
||||||
|
"healthcheck",
|
||||||
|
"-W",
|
||||||
|
"3",
|
||||||
|
]
|
||||||
interval: 1m
|
interval: 1m
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 3
|
retries: 3
|
||||||
profiles:
|
profiles:
|
||||||
- mqtt
|
- mqtt
|
||||||
homeassistant-backup:
|
homeassistant-backup:
|
||||||
image: adrienpoupa/rclone-backup:latest
|
image: ghcr.io/adrienpoupa/rclone-backup:latest
|
||||||
container_name: homeassistant-backup
|
container_name: homeassistant-backup
|
||||||
restart: always
|
restart: always
|
||||||
env_file:
|
env_file:
|
||||||
@ -68,4 +82,4 @@ services:
|
|||||||
- ${CONFIG_ROOT:-.}/homeassistant/backups:/backups
|
- ${CONFIG_ROOT:-.}/homeassistant/backups:/backups
|
||||||
- ${CONFIG_ROOT:-.}/homeassistant/backup:/config
|
- ${CONFIG_ROOT:-.}/homeassistant/backup:/config
|
||||||
profiles:
|
profiles:
|
||||||
- homeassistant
|
- homeassistant
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
services:
|
services:
|
||||||
immich-server:
|
immich-server:
|
||||||
container_name: immich_server
|
container_name: immich_server
|
||||||
image: ghcr.io/immich-app/immich-server:v1.125.2
|
image: ghcr.io/immich-app/immich-server:v1.129.0
|
||||||
environment:
|
environment:
|
||||||
DB_HOSTNAME: immich_postgres
|
DB_HOSTNAME: immich_postgres
|
||||||
DB_PASSWORD: ${IMMICH_DB_PASSWORD}
|
DB_PASSWORD: ${IMMICH_DB_PASSWORD}
|
||||||
@ -37,7 +37,7 @@ services:
|
|||||||
|
|
||||||
immich-machine-learning:
|
immich-machine-learning:
|
||||||
container_name: immich_machine_learning
|
container_name: immich_machine_learning
|
||||||
image: ghcr.io/immich-app/immich-machine-learning:v1.125.2
|
image: ghcr.io/immich-app/immich-machine-learning:v1.129.0
|
||||||
volumes:
|
volumes:
|
||||||
- immich-model-cache:/cache
|
- immich-model-cache:/cache
|
||||||
restart: always
|
restart: always
|
||||||
@ -46,7 +46,7 @@ services:
|
|||||||
|
|
||||||
immich-redis:
|
immich-redis:
|
||||||
container_name: immich_redis
|
container_name: immich_redis
|
||||||
image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:905c4ee67b8e0aa955331960d2aa745781e6bd89afc44a8584bfd13bc890f0ae
|
image: public.ecr.aws/docker/library/redis:6.2
|
||||||
restart: always
|
restart: always
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: redis-cli ping || exit 1
|
test: redis-cli ping || exit 1
|
||||||
@ -55,12 +55,12 @@ services:
|
|||||||
|
|
||||||
immich-database:
|
immich-database:
|
||||||
container_name: immich_postgres
|
container_name: immich_postgres
|
||||||
image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
|
image: ghcr.io/tensorchord/pgvecto-rs:pg14-v0.2.0
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_PASSWORD: ${IMMICH_DB_PASSWORD}
|
POSTGRES_PASSWORD: ${IMMICH_DB_PASSWORD}
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
POSTGRES_DB: immich
|
POSTGRES_DB: immich
|
||||||
POSTGRES_INITDB_ARGS: '--data-checksums'
|
POSTGRES_INITDB_ARGS: "--data-checksums"
|
||||||
volumes:
|
volumes:
|
||||||
- ${CONFIG_ROOT:-.}/immich/postgresql:/var/lib/postgresql/data
|
- ${CONFIG_ROOT:-.}/immich/postgresql:/var/lib/postgresql/data
|
||||||
restart: always
|
restart: always
|
||||||
|
@ -41,7 +41,7 @@ services:
|
|||||||
- joplin
|
- joplin
|
||||||
|
|
||||||
joplin-backup:
|
joplin-backup:
|
||||||
image: adrienpoupa/rclone-backup:latest
|
image: ghcr.io/adrienpoupa/rclone-backup:latest
|
||||||
container_name: joplin-backup
|
container_name: joplin-backup
|
||||||
restart: always
|
restart: always
|
||||||
env_file:
|
env_file:
|
||||||
@ -56,4 +56,4 @@ services:
|
|||||||
- ${CONFIG_ROOT:-.}/joplin/storage:/storage
|
- ${CONFIG_ROOT:-.}/joplin/storage:/storage
|
||||||
- ${CONFIG_ROOT:-.}/joplin/backup:/config
|
- ${CONFIG_ROOT:-.}/joplin/backup:/config
|
||||||
profiles:
|
profiles:
|
||||||
- joplin
|
- joplin
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
tandoor:
|
tandoor:
|
||||||
image: vabene1111/recipes:latest
|
image: ghcr.io/tandoorrecipes/recipes:latest
|
||||||
container_name: tandoor
|
container_name: tandoor
|
||||||
restart: always
|
restart: always
|
||||||
env_file:
|
env_file:
|
||||||
@ -17,7 +17,7 @@ services:
|
|||||||
- tandoor
|
- tandoor
|
||||||
|
|
||||||
tandoor-nginx:
|
tandoor-nginx:
|
||||||
image: nginx:mainline-alpine
|
image: public.ecr.aws/nginx/nginx:mainline-alpine
|
||||||
container_name: tandoor-nginx
|
container_name: tandoor-nginx
|
||||||
restart: always
|
restart: always
|
||||||
env_file:
|
env_file:
|
||||||
@ -48,7 +48,7 @@ services:
|
|||||||
- tandoor
|
- tandoor
|
||||||
|
|
||||||
tandoor-backup:
|
tandoor-backup:
|
||||||
image: adrienpoupa/rclone-backup:latest
|
image: ghcr.io/adrienpoupa/rclone-backup:latest
|
||||||
container_name: tandoor-backup
|
container_name: tandoor-backup
|
||||||
restart: always
|
restart: always
|
||||||
env_file:
|
env_file:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user