diff --git a/.yamllint b/.yamllint new file mode 100644 index 0000000..ac53a7e --- /dev/null +++ b/.yamllint @@ -0,0 +1,32 @@ +yaml-files: + - '*.yaml' + - '*.yml' + - '.yamllint' + +rules: + anchors: enable + braces: enable + brackets: enable + colons: enable + commas: enable + comments: + level: warning + comments-indentation: + level: warning + document-end: disable + document-start: disable + empty-lines: enable + empty-values: disable + float-values: disable + hyphens: enable + indentation: enable + key-duplicates: enable + key-ordering: disable + line-length: disable + new-line-at-end-of-file: enable + new-lines: enable + octal-values: disable + quoted-strings: disable + trailing-spaces: enable + truthy: + level: warning diff --git a/compose.authentik.yaml b/compose.authentik.yaml index 3d2d528..da7ab8c 100644 --- a/compose.authentik.yaml +++ b/compose.authentik.yaml @@ -75,16 +75,3 @@ services: depends_on: - authentik-postgres - authentik-redis - - # authentik-proxy: - # image: authentik-proxy - # container_name: authentik-proxy - # ports: - # - "15000:5000" - # environment: - # INTERNAL: http://host:19000 - # EXTERNAL: https://authentik.rik.veenboer.xyz - # build: - # context: /opt/authentik/proxy - # extra_hosts: - # - host:192.168.2.200 diff --git a/compose.autoheal.yaml b/compose.autoheal.yaml index ca70353..58e9daa 100644 --- a/compose.autoheal.yaml +++ b/compose.autoheal.yaml @@ -1,8 +1,8 @@ services: - autoheal: - image: willfarrell/autoheal:1.2.0 - container_name: autoheal - volumes: - - /var/run/docker.sock:/var/run/docker.sock - environment: - - AUTOHEAL_CONTAINER_LABEL=all + autoheal: + image: willfarrell/autoheal:1.2.0 + container_name: autoheal + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - AUTOHEAL_CONTAINER_LABEL=all diff --git a/compose.bazarr.yaml b/compose.bazarr.yaml index acb47ac..20426db 100644 --- a/compose.bazarr.yaml +++ b/compose.bazarr.yaml @@ -1,17 +1,17 @@ services: - bazarr: - container_name: bazarr - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Amsterdam - extra_hosts: - - host:192.168.2.200 - image: linuxserver/bazarr:1.4.2 - ports: - - 16767:6767 - restart: unless-stopped - volumes: - - /opt/bazarr:/config - - /mnt/yotta/krypton/Movies:/movies - - /mnt/yotta/krypton/Shows:/tv + bazarr: + container_name: bazarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Amsterdam + extra_hosts: + - host:192.168.2.200 + image: linuxserver/bazarr:1.4.2 + ports: + - 16767:6767 + restart: unless-stopped + volumes: + - /opt/bazarr:/config + - /mnt/yotta/krypton/Movies:/movies + - /mnt/yotta/krypton/Shows:/tv diff --git a/compose.borgmatic.yaml b/compose.borgmatic.yaml index d6757a0..aff0a47 100644 --- a/compose.borgmatic.yaml +++ b/compose.borgmatic.yaml @@ -1,24 +1,24 @@ services: - borgmatic: - container_name: borgmatic - environment: - - TZ=Europe/Amsterdam - image: b3vis/borgmatic:v1.1.10-1.4.21 - healthcheck: - test: [ "CMD", "pgrep", "crond" ] - interval: 20s - start_period: 30s - timeout: 5s - retries: 10 - privileged: true - restart: unless-stopped - volumes: - - /opt/borgmatic/config/crontab.txt:/etc/borgmatic.d/crontab.txt - - /opt/borgmatic/config:/config - - /opt/borgmatic/keys:/keys - - /opt/borgmatic/cache:/cache - - /opt/borgmatic/log:/log - - /root/.ssh:/root/.ssh:ro - - /mnt/yotta/xenon/borg:/repo - - /:/shuttle:ro - - /dev/fuse:/dev/fuse + borgmatic: + container_name: borgmatic + environment: + - TZ=Europe/Amsterdam + image: b3vis/borgmatic:v1.1.10-1.4.21 + healthcheck: + test: ["CMD", "pgrep", "crond"] + interval: 20s + start_period: 30s + timeout: 5s + retries: 10 + privileged: true + restart: unless-stopped + volumes: + - /opt/borgmatic/config/crontab.txt:/etc/borgmatic.d/crontab.txt + - /opt/borgmatic/config:/config + - /opt/borgmatic/keys:/keys + - /opt/borgmatic/cache:/cache + - /opt/borgmatic/log:/log + - /root/.ssh:/root/.ssh:ro + - /mnt/yotta/xenon/borg:/repo + - /:/shuttle:ro + - /dev/fuse:/dev/fuse diff --git a/compose.caddy.yaml b/compose.caddy.yaml index 79a4591..7504804 100644 --- a/compose.caddy.yaml +++ b/compose.caddy.yaml @@ -1,27 +1,27 @@ services: - caddy: - build: - context: /opt/caddy/ - container_name: caddy - environment: - - DOMAIN=veenboer.xyz - - SUBDOMAIN=rik - - AWS_REGION=eu-west-1 - - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:?} - - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:?} - - GEO_ACCOUNT_ID=${MAXMIND_ACCOUNT_ID:?} - - GEO_API_KEY=${MAXMIND_API_KEY:?} - - OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID:?} - - OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET:?} - image: caddy - ports: - - 443:443 - restart: unless-stopped - volumes: - - /opt/caddy/Caddyfile:/etc/caddy/Caddyfile - - /opt/caddy/conf:/etc/caddy/conf - - /opt/caddy/sites:/etc/caddy/sites - - /opt/caddy/data:/data/caddy - - /opt/caddy/logs:/var/log - extra_hosts: - - host:192.168.2.200 + caddy: + build: + context: /opt/caddy/ + container_name: caddy + environment: + - DOMAIN=veenboer.xyz + - SUBDOMAIN=rik + - AWS_REGION=eu-west-1 + - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:?} + - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:?} + - GEO_ACCOUNT_ID=${MAXMIND_ACCOUNT_ID:?} + - GEO_API_KEY=${MAXMIND_API_KEY:?} + - OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID:?} + - OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET:?} + image: caddy + ports: + - 443:443 + restart: unless-stopped + volumes: + - /opt/caddy/Caddyfile:/etc/caddy/Caddyfile + - /opt/caddy/conf:/etc/caddy/conf + - /opt/caddy/sites:/etc/caddy/sites + - /opt/caddy/data:/data/caddy + - /opt/caddy/logs:/var/log + extra_hosts: + - host:192.168.2.200 diff --git a/compose.collectd.yaml b/compose.collectd.yaml index 1b22b68..596c951 100644 --- a/compose.collectd.yaml +++ b/compose.collectd.yaml @@ -8,12 +8,12 @@ services: privileged: true restart: unless-stopped volumes: - - /opt/collectd/etc:/etc/collectd - - /opt/collectd/var:/var/lib/collectd - - /opt/collectd/usr:/host/usr - - /:/host/root:ro - - /media/data:/media/data:ro - - /var/lib/docker:/media/docker:ro - - /dev/mapper:/dev/mapper + - /opt/collectd/etc:/etc/collectd + - /opt/collectd/var:/var/lib/collectd + - /opt/collectd/usr:/host/usr + - /:/host/root:ro + - /media/data:/media/data:ro + - /var/lib/docker:/media/docker:ro + - /dev/mapper:/dev/mapper extra_hosts: - - host:192.168.2.200 + - host:192.168.2.200 diff --git a/compose.dns-ad-blocker.yaml b/compose.dns-ad-blocker.yaml index 27f63f5..7fc5da3 100644 --- a/compose.dns-ad-blocker.yaml +++ b/compose.dns-ad-blocker.yaml @@ -1,20 +1,20 @@ services: - dns-ad-blocker: - container_name: dns-ad-blocker - environment: - - AUTO_UPDATE=1 - - BRANCH=master - - DNSCRYPT=1 - - DNSCRYPT_PROVIDER_NAME=2.dnscrypt-cert.ns0.dnscrypt.nl - - DNSCRYPT_RESOLVER_ADDR=45.76.35.212 - - DNSCRYPT_PROVIDER_KEY=4C84:FB8C:0511:5DFA:5F97:C5ED:0329:1370:C78A:BCD6:4E15:DD53:AB08:DE72:FB84:4ACA - - WHITELIST=api.segment.io,www.googleapis.com,analytics.google.com - image: oznu/dns-ad-blocker:latest - ports: - - 192.168.2.201:53:53/udp - restart: unless-stopped - volumes: - - /opt/dns-ad-blocker/config:/config - - /opt/dns-ad-blocker/run:/etc/services.d/dnsmasq/run - - /opt/dns-ad-blocker/var/log:/var/log - - /opt/dns-ad-blocker/dnsmasq.hosts:/etc/dnsmasq.hosts + dns-ad-blocker: + container_name: dns-ad-blocker + environment: + - AUTO_UPDATE=1 + - BRANCH=master + - DNSCRYPT=1 + - DNSCRYPT_PROVIDER_NAME=2.dnscrypt-cert.ns0.dnscrypt.nl + - DNSCRYPT_RESOLVER_ADDR=45.76.35.212 + - DNSCRYPT_PROVIDER_KEY=4C84:FB8C:0511:5DFA:5F97:C5ED:0329:1370:C78A:BCD6:4E15:DD53:AB08:DE72:FB84:4ACA + - WHITELIST=api.segment.io,www.googleapis.com,analytics.google.com + image: oznu/dns-ad-blocker:latest + ports: + - 192.168.2.201:53:53/udp + restart: unless-stopped + volumes: + - /opt/dns-ad-blocker/config:/config + - /opt/dns-ad-blocker/run:/etc/services.d/dnsmasq/run + - /opt/dns-ad-blocker/var/log:/var/log + - /opt/dns-ad-blocker/dnsmasq.hosts:/etc/dnsmasq.hosts diff --git a/compose.droppy.yaml b/compose.droppy.yaml index e5b4d75..d547cbf 100644 --- a/compose.droppy.yaml +++ b/compose.droppy.yaml @@ -1,10 +1,10 @@ services: - droppy: - container_name: droppy - image: silverwind/droppy:12.2.0 - ports: - - 8989:8989 - restart: unless-stopped - volumes: - - /opt/droppy:/config - - /media/scratch/droppy:/files + droppy: + container_name: droppy + image: silverwind/droppy:12.2.0 + ports: + - 8989:8989 + restart: unless-stopped + volumes: + - /opt/droppy:/config + - /media/scratch/droppy:/files diff --git a/compose.dsmr.yaml b/compose.dsmr.yaml index a7ace1f..707ab72 100644 --- a/compose.dsmr.yaml +++ b/compose.dsmr.yaml @@ -1,29 +1,29 @@ services: - dsmr: - container_name: dsmr - depends_on: - - dsmrdb - - influxdb - environment: - - DSMRREADER_ADMIN_USER=${DSMRREADER_USER:?} - - DSMRREADER_ADMIN_PASSWORD=${DSMRREADER_PASSWORD:?} - image: xirixiz/dsmr-reader-docker:5.10.3-2023.04.02 - links: - - dsmrdb:dsmrreader - ports: - - 8888:80 - restart: unless-stopped - volumes: - - /opt/dsmr/backups:/home/dsmr/app/backups - dsmrdb: - container_name: dsmrdb - environment: - - POSTGRES_DB=${DSMRDB_DATABASE:?} - - POSTGRES_USER=${DSMRDB_USER:?} - - POSTGRES_PASSWORD=${DSMRDB_PASSWORD:?} - image: postgres:13.7 - ports: - - 5432:5432 - restart: unless-stopped - volumes: - - /opt/dsmr/data:/var/lib/postgresql/data + dsmr: + container_name: dsmr + depends_on: + - dsmrdb + - influxdb + environment: + - DSMRREADER_ADMIN_USER=${DSMRREADER_USER:?} + - DSMRREADER_ADMIN_PASSWORD=${DSMRREADER_PASSWORD:?} + image: xirixiz/dsmr-reader-docker:5.10.3-2023.04.02 + links: + - dsmrdb:dsmrreader + ports: + - 8888:80 + restart: unless-stopped + volumes: + - /opt/dsmr/backups:/home/dsmr/app/backups + dsmrdb: + container_name: dsmrdb + environment: + - POSTGRES_DB=${DSMRDB_DATABASE:?} + - POSTGRES_USER=${DSMRDB_USER:?} + - POSTGRES_PASSWORD=${DSMRDB_PASSWORD:?} + image: postgres:13.7 + ports: + - 5432:5432 + restart: unless-stopped + volumes: + - /opt/dsmr/data:/var/lib/postgresql/data diff --git a/compose.esphome.yaml b/compose.esphome.yaml index 78abd4a..6339c82 100644 --- a/compose.esphome.yaml +++ b/compose.esphome.yaml @@ -1,10 +1,10 @@ services: - esphome: - container_name: esphome - image: esphome/esphome:2022.12.8 - network_mode: host - restart: unless-stopped - volumes: - - /opt/esphome:/config:rw - - /opt/esphome/log:/log:rw - - /etc/localtime:/etc/localtime:ro + esphome: + container_name: esphome + image: esphome/esphome:2022.12.8 + network_mode: host + restart: unless-stopped + volumes: + - /opt/esphome:/config:rw + - /opt/esphome/log:/log:rw + - /etc/localtime:/etc/localtime:ro diff --git a/compose.filebrowser.yaml b/compose.filebrowser.yaml index 64e057c..50f894c 100644 --- a/compose.filebrowser.yaml +++ b/compose.filebrowser.yaml @@ -1,15 +1,15 @@ services: - filebrowser: - container_name: filebrowser - image: filebrowser/filebrowser:v2.31.2 - # command: ["config", "set", "--auth.method=noauth"] - ports: - - 8002:80 - restart: unless-stopped - volumes: - - /opt/filebrowser/.filebrowser.json:/.filebrowser.json - - /opt/filebrowser/database.db:/database.db - - /mnt/yotta/helium/personal:/host/media/Personal - - /mnt/yotta/helium/shared:/host/media/Shared - - /mnt/yotta/neon:/host/media/Other - - /mnt/yotta/krypton:/host/media/Video + filebrowser: + container_name: filebrowser + image: filebrowser/filebrowser:v2.31.2 + # command: ["config", "set", "--auth.method=noauth"] + ports: + - 8002:80 + restart: unless-stopped + volumes: + - /opt/filebrowser/.filebrowser.json:/.filebrowser.json + - /opt/filebrowser/database.db:/database.db + - /mnt/yotta/helium/personal:/host/media/Personal + - /mnt/yotta/helium/shared:/host/media/Shared + - /mnt/yotta/neon:/host/media/Other + - /mnt/yotta/krypton:/host/media/Video diff --git a/compose.gitea.yaml b/compose.gitea.yaml index 75c3343..307b3fa 100644 --- a/compose.gitea.yaml +++ b/compose.gitea.yaml @@ -19,7 +19,7 @@ services: - GITEA__mailer__PROTOCOL=smtp+starttls restart: always extra_hosts: - - host:192.168.2.200 + - host:192.168.2.200 volumes: - /opt/gitea:/data - /etc/timezone:/etc/timezone:ro diff --git a/compose.grafana.yaml b/compose.grafana.yaml index 29d968c..0fc2526 100644 --- a/compose.grafana.yaml +++ b/compose.grafana.yaml @@ -1,16 +1,16 @@ services: - grafana: - container_name: grafana - image: grafana/grafana:11.4.0 - healthcheck: - test: [ "CMD", "wget", "-qO-", "http://localhost:3000" ] - interval: 20s - start_period: 30s - timeout: 5s - retries: 10 - ports: - - 3333:3000 - restart: unless-stopped - volumes: - - /opt/grafana:/var/lib/grafana - - /opt/grafana/grafana.ini:/etc/grafana/grafana.ini + grafana: + container_name: grafana + image: grafana/grafana:11.4.0 + healthcheck: + test: ["CMD", "wget", "-qO-", "http://localhost:3000"] + interval: 20s + start_period: 30s + timeout: 5s + retries: 10 + ports: + - 3333:3000 + restart: unless-stopped + volumes: + - /opt/grafana:/var/lib/grafana + - /opt/grafana/grafana.ini:/etc/grafana/grafana.ini diff --git a/compose.homarr.yaml b/compose.homarr.yaml index e4ab68d..3b620f2 100644 --- a/compose.homarr.yaml +++ b/compose.homarr.yaml @@ -1,14 +1,14 @@ services: - homarr: - container_name: homarr - environment: - - TZ=Europe/Amsterdam - image: ghcr.io/ajnart/homarr:0.15.2 - ports: - - 17575:7575 - restart: unless-stopped - volumes: - - /opt/homarr/data:/data - - /opt/homarr/configs:/app/data/configs - - /opt/homarr/icons:/app/public/icons - - /var/run/docker.sock:/var/run/docker.sock + homarr: + container_name: homarr + environment: + - TZ=Europe/Amsterdam + image: ghcr.io/ajnart/homarr:0.15.2 + ports: + - 17575:7575 + restart: unless-stopped + volumes: + - /opt/homarr/data:/data + - /opt/homarr/configs:/app/data/configs + - /opt/homarr/icons:/app/public/icons + - /var/run/docker.sock:/var/run/docker.sock diff --git a/compose.homeassistant.yaml b/compose.homeassistant.yaml index 6262583..e070dbf 100644 --- a/compose.homeassistant.yaml +++ b/compose.homeassistant.yaml @@ -1,10 +1,10 @@ services: - homeassistant: - container_name: homeassistant - image: homeassistant/home-assistant:2025.1.2 - network_mode: host - privileged: true - restart: unless-stopped - volumes: - - /opt/homeassistant:/config - - /etc/localtime:/etc/localtime:ro + homeassistant: + container_name: homeassistant + image: homeassistant/home-assistant:2025.1.2 + network_mode: host + privileged: true + restart: unless-stopped + volumes: + - /opt/homeassistant:/config + - /etc/localtime:/etc/localtime:ro diff --git a/compose.influxdb.yaml b/compose.influxdb.yaml index 484f7ac..2ad38bf 100644 --- a/compose.influxdb.yaml +++ b/compose.influxdb.yaml @@ -1,10 +1,10 @@ services: - influxdb: - container_name: influxdb - image: influxdb:2.3.0 - ports: - - 8086:8086 - restart: unless-stopped - volumes: - - /mnt/mezzo/scratch/influxdb:/var/lib/influxdb2 - - /opt/gw2pvo:/opt/gw2pvo + influxdb: + container_name: influxdb + image: influxdb:2.3.0 + ports: + - 8086:8086 + restart: unless-stopped + volumes: + - /mnt/mezzo/scratch/influxdb:/var/lib/influxdb2 + - /opt/gw2pvo:/opt/gw2pvo diff --git a/compose.jackett.yaml b/compose.jackett.yaml index 1a23ad5..fdddacf 100644 --- a/compose.jackett.yaml +++ b/compose.jackett.yaml @@ -1,16 +1,16 @@ services: - jackett: - container_name: jackett - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Amsterdam - external_links: - - transmission - - qbittorrent - image: linuxserver/jackett:0.22.1283 - ports: - - 9117:9117 - restart: unless-stopped - volumes: - - /opt/jackett:/config + jackett: + container_name: jackett + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Amsterdam + external_links: + - transmission + - qbittorrent + image: linuxserver/jackett:0.22.1283 + ports: + - 9117:9117 + restart: unless-stopped + volumes: + - /opt/jackett:/config diff --git a/compose.jellyfin.yaml b/compose.jellyfin.yaml index e8afc4f..8a37f5b 100644 --- a/compose.jellyfin.yaml +++ b/compose.jellyfin.yaml @@ -1,19 +1,19 @@ services: - jellyfin: - container_name: jellyfin - devices: - - /dev/dri/renderD128:/dev/dri/renderD128 - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Amsterdam - image: linuxserver/jellyfin:10.10.1 - ports: - - 8097:8097 - restart: unless-stopped - volumes: - - /opt/jellyfin/config:/config - - /opt/cache:/cache - - /mnt/yotta/krypton/Movies:/host/srv/movies - - /mnt/yotta/krypton/Shows:/host/srv/shows - - /mnt/yotta/neon/Music/Albums:/host/srv/music + jellyfin: + container_name: jellyfin + devices: + - /dev/dri/renderD128:/dev/dri/renderD128 + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Amsterdam + image: linuxserver/jellyfin:10.10.1 + ports: + - 8097:8097 + restart: unless-stopped + volumes: + - /opt/jellyfin/config:/config + - /opt/cache:/cache + - /mnt/yotta/krypton/Movies:/host/srv/movies + - /mnt/yotta/krypton/Shows:/host/srv/shows + - /mnt/yotta/neon/Music/Albums:/host/srv/music diff --git a/compose.jellyseerr.yaml b/compose.jellyseerr.yaml index 890f671..81ecd9a 100644 --- a/compose.jellyseerr.yaml +++ b/compose.jellyseerr.yaml @@ -1,11 +1,11 @@ services: - jellyseerr: - container_name: jellyseerr - environment: - - TZ=Europe/Amsterdam - image: fallenbagel/jellyseerr:1.5.0 - ports: - - 15055:5055 - restart: unless-stopped - volumes: - - /opt/jellyseerr:/app/config + jellyseerr: + container_name: jellyseerr + environment: + - TZ=Europe/Amsterdam + image: fallenbagel/jellyseerr:1.5.0 + ports: + - 15055:5055 + restart: unless-stopped + volumes: + - /opt/jellyseerr:/app/config diff --git a/compose.mosquitto.yaml b/compose.mosquitto.yaml index 3e70df7..7fea15d 100644 --- a/compose.mosquitto.yaml +++ b/compose.mosquitto.yaml @@ -1,12 +1,12 @@ services: - mosquitto: - container_name: mosquitto - image: eclipse-mosquitto:2.0.15 - ports: - - 1883:1883 - - 1884:1884 - restart: unless-stopped - volumes: - - /opt/mosquitto/config:/mosquitto/config - - /opt/mosquitto/data:/mosquitto/data - - /opt/mosquitto/log:/mosquitto/log + mosquitto: + container_name: mosquitto + image: eclipse-mosquitto:2.0.15 + ports: + - 1883:1883 + - 1884:1884 + restart: unless-stopped + volumes: + - /opt/mosquitto/config:/mosquitto/config + - /opt/mosquitto/data:/mosquitto/data + - /opt/mosquitto/log:/mosquitto/log diff --git a/compose.nodered.yaml b/compose.nodered.yaml index 81ae8e4..002612f 100644 --- a/compose.nodered.yaml +++ b/compose.nodered.yaml @@ -9,5 +9,5 @@ services: environment: - TZ=Europe/Amsterdam extra_hosts: - - host:192.168.2.200 - - mqqtt:192.168.2.200 + - host:192.168.2.200 + - mqqtt:192.168.2.200 diff --git a/compose.openvpn-server.yaml b/compose.openvpn-server.yaml index ec56a03..1175d54 100644 --- a/compose.openvpn-server.yaml +++ b/compose.openvpn-server.yaml @@ -1,15 +1,15 @@ services: - openvpn-server: - cap_add: - - NET_ADMIN - container_name: openvpn-server - extra_hosts: - - host:192.168.2.200 - image: kylemanna/openvpn:2.4 - ports: - - 444:443 - privileged: true - restart: unless-stopped - volumes: - - /opt/openvpn-server:/etc/openvpn - - /opt/openvpn-server/logrotate.d/openvpn:/etc/logrotate.d/openvpn + openvpn-server: + cap_add: + - NET_ADMIN + container_name: openvpn-server + extra_hosts: + - host:192.168.2.200 + image: kylemanna/openvpn:2.4 + ports: + - 444:443 + privileged: true + restart: unless-stopped + volumes: + - /opt/openvpn-server:/etc/openvpn + - /opt/openvpn-server/logrotate.d/openvpn:/etc/logrotate.d/openvpn diff --git a/compose.pgadmin.yaml b/compose.pgadmin.yaml index 634c40e..ca48f5e 100644 --- a/compose.pgadmin.yaml +++ b/compose.pgadmin.yaml @@ -1,13 +1,13 @@ services: - pgadmin: - container_name: pgadmin - environment: - - PGADMIN_DEFAULT_EMAIL="${PGADMIN_EMAIL:?}" - - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASSWORD:?}" - image: dpage/pgadmin4:7.5 - ports: - - 5050:80 - restart: unless-stopped - volumes: - - /opt/pgadmin/var:/var/lib/pgadmin - - /opt/pgadmin/log:/var/log/pgadmin + pgadmin: + container_name: pgadmin + environment: + - PGADMIN_DEFAULT_EMAIL="${PGADMIN_EMAIL:?}" + - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASSWORD:?}" + image: dpage/pgadmin4:7.5 + ports: + - 5050:80 + restart: unless-stopped + volumes: + - /opt/pgadmin/var:/var/lib/pgadmin + - /opt/pgadmin/log:/var/log/pgadmin diff --git a/compose.photoprism.yaml b/compose.photoprism.yaml index 5ab6b09..42898c8 100644 --- a/compose.photoprism.yaml +++ b/compose.photoprism.yaml @@ -1,55 +1,55 @@ services: - photoprism: - container_name: photoprism - devices: - - /dev/dri:/dev/dri - environment: - - PHOTOPRISM_ADMIN_PASSWORD="${PHOTOPRISM_ADMIN_PASSWORD:?}" - - PHOTOPRISM_AUTH_MODE=public - - PHOTOPRISM_SITE_URL=http://localhost:2342/ - - PHOTOPRISM_ORIGINALS_LIMIT=5000 - - PHOTOPRISM_HTTP_COMPRESSION=gzip - - PHOTOPRISM_LOG_LEVEL=info - - PHOTOPRISM_READONLY=true - - PHOTOPRISM_EXPERIMENTAL=false - - PHOTOPRISM_DISABLE_CHOWN=true - - PHOTOPRISM_DISABLE_WEBDAV=true - - PHOTOPRISM_DISABLE_SETTINGS=false - - PHOTOPRISM_DISABLE_TENSORFLOW=false - - PHOTOPRISM_DISABLE_FACES=false - - PHOTOPRISM_DISABLE_CLASSIFICATION=false - - PHOTOPRISM_DISABLE_RAW=true - - PHOTOPRISM_RAW_PRESETS=false - - PHOTOPRISM_JPEG_QUALITY=85 - - PHOTOPRISM_DETECT_NSFW=false - - PHOTOPRISM_UPLOAD_NSFW=true - - PHOTOPRISM_DATABASE_DRIVER=sqlite - - PHOTOPRISM_UID=1000 - - PHOTOPRISM_GID=1000 - image: photoprism/photoprism:240915 - ports: - - 2342:2342 - restart: unless-stopped - security_opt: - - seccomp:unconfined - - apparmor:unconfined - volumes: - - /opt/photoprism:/photoprism/storage - - /opt/photoprism/originals:/photoprism/originals/ - - /mnt/yotta/radon/photoprism:/photoprism/storage/cache - - /mnt/yotta/helium/shared/Photographs/Vakantie/Peter + Monique + Rik + Bram/Denemarken - 2022:/photoprism/originals/Shared/Vakantie/Peter + Monique + Rik + Bram/Denemarken - 2022 - - /mnt/yotta/helium/shared/Photographs/Vakantie/Familie/Ierland 2022:/photoprism/originals/Shared/Vakantie/Familie/Ierland - 2022 - - /mnt/yotta/helium/shared/Photographs/Vakantie/Peter + Monique + Rik + Bram/Schotland - 2022:/photoprism/originals/Shared/Vakantie/Peter + Monique + Rik + Bram/Schotland - 2022 - - /mnt/yotta/helium/shared/Photographs/Vakantie/Bram + Rik + Sanne/Kroatie - 2023:/photoprism/originals/Shared/Vakantie/Bram + Rik + Sanne/Kroatie - 2023 - - /mnt/yotta/helium/shared/Photographs/Vakantie/Peter + Monique + Rik + Bram/Zweden - 2023:/photoprism/originals/Vakantie/Peter + Monique + Rik + Bram/Zweden - 2023 - - /mnt/yotta/helium/shared/Photographs/Vakantie/Bram + Rik/Athene 2023:/photoprism/originals/Vakantie/Bram - + Rik/Athene 2023 + photoprism: + container_name: photoprism + devices: + - /dev/dri:/dev/dri + environment: + - PHOTOPRISM_ADMIN_PASSWORD="${PHOTOPRISM_ADMIN_PASSWORD:?}" + - PHOTOPRISM_AUTH_MODE=public + - PHOTOPRISM_SITE_URL=http://localhost:2342/ + - PHOTOPRISM_ORIGINALS_LIMIT=5000 + - PHOTOPRISM_HTTP_COMPRESSION=gzip + - PHOTOPRISM_LOG_LEVEL=info + - PHOTOPRISM_READONLY=true + - PHOTOPRISM_EXPERIMENTAL=false + - PHOTOPRISM_DISABLE_CHOWN=true + - PHOTOPRISM_DISABLE_WEBDAV=true + - PHOTOPRISM_DISABLE_SETTINGS=false + - PHOTOPRISM_DISABLE_TENSORFLOW=false + - PHOTOPRISM_DISABLE_FACES=false + - PHOTOPRISM_DISABLE_CLASSIFICATION=false + - PHOTOPRISM_DISABLE_RAW=true + - PHOTOPRISM_RAW_PRESETS=false + - PHOTOPRISM_JPEG_QUALITY=85 + - PHOTOPRISM_DETECT_NSFW=false + - PHOTOPRISM_UPLOAD_NSFW=true + - PHOTOPRISM_DATABASE_DRIVER=sqlite + - PHOTOPRISM_UID=1000 + - PHOTOPRISM_GID=1000 + image: photoprism/photoprism:240915 + ports: + - 2342:2342 + restart: unless-stopped + security_opt: + - seccomp:unconfined + - apparmor:unconfined + volumes: + - /opt/photoprism:/photoprism/storage + - /opt/photoprism/originals:/photoprism/originals/ + - /mnt/yotta/radon/photoprism:/photoprism/storage/cache + - /mnt/yotta/helium/shared/Photographs/Vakantie/Peter + Monique + Rik + Bram/Denemarken + 2022:/photoprism/originals/Shared/Vakantie/Peter + Monique + Rik + Bram/Denemarken + 2022 + - /mnt/yotta/helium/shared/Photographs/Vakantie/Familie/Ierland 2022:/photoprism/originals/Shared/Vakantie/Familie/Ierland + 2022 + - /mnt/yotta/helium/shared/Photographs/Vakantie/Peter + Monique + Rik + Bram/Schotland + 2022:/photoprism/originals/Shared/Vakantie/Peter + Monique + Rik + Bram/Schotland + 2022 + - /mnt/yotta/helium/shared/Photographs/Vakantie/Bram + Rik + Sanne/Kroatie + 2023:/photoprism/originals/Shared/Vakantie/Bram + Rik + Sanne/Kroatie + 2023 + - /mnt/yotta/helium/shared/Photographs/Vakantie/Peter + Monique + Rik + Bram/Zweden + 2023:/photoprism/originals/Vakantie/Peter + Monique + Rik + Bram/Zweden + 2023 + - /mnt/yotta/helium/shared/Photographs/Vakantie/Bram + Rik/Athene 2023:/photoprism/originals/Vakantie/Bram + + Rik/Athene 2023 diff --git a/compose.postgis.yaml b/compose.postgis.yaml index c41e3a5..0c542fa 100644 --- a/compose.postgis.yaml +++ b/compose.postgis.yaml @@ -1,13 +1,13 @@ services: - postgis: - container_name: postgis - environment: - - POSTGRES_DB="${POSTGIS_DATABASE:?}" - - POSTGRES_USER="${POSTGIS_USER:?}" - - POSTGRES_PASSWORD="${POSTGIS_PASSWORD:?}" - image: postgis/postgis:14-3.2 - ports: - - 7654:5432 - restart: unless-stopped - volumes: - - /opt/postgis:/var/lib/postgresql/data + postgis: + container_name: postgis + environment: + - POSTGRES_DB="${POSTGIS_DATABASE:?}" + - POSTGRES_USER="${POSTGIS_USER:?}" + - POSTGRES_PASSWORD="${POSTGIS_PASSWORD:?}" + image: postgis/postgis:14-3.2 + ports: + - 7654:5432 + restart: unless-stopped + volumes: + - /opt/postgis:/var/lib/postgresql/data diff --git a/compose.postgres.yaml b/compose.postgres.yaml index 3c80847..58e9b7b 100644 --- a/compose.postgres.yaml +++ b/compose.postgres.yaml @@ -18,6 +18,6 @@ services: entrypoint: ["/bin/bash", "/entrypoint.sh"] command: - - postgres - - -c - - config_file=/etc/postgresql/postgresql.conf + - postgres + - -c + - config_file=/etc/postgresql/postgresql.conf diff --git a/compose.qbittorrent.yaml b/compose.qbittorrent.yaml index e0266f4..6edf638 100644 --- a/compose.qbittorrent.yaml +++ b/compose.qbittorrent.yaml @@ -1,16 +1,16 @@ services: - qbittorrent: - container_name: qbittorrent - image: linuxserver/qbittorrent:5.0.1 - depends_on: - - surfshark - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Amsterdam - - WEBUI_PORT=9092 - network_mode: service:surfshark - restart: unless-stopped - volumes: - - /opt/qbittorrent:/config - - /media/scratch/qbittorrent:/downloads + qbittorrent: + container_name: qbittorrent + image: linuxserver/qbittorrent:5.0.1 + depends_on: + - surfshark + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Amsterdam + - WEBUI_PORT=9092 + network_mode: service:surfshark + restart: unless-stopped + volumes: + - /opt/qbittorrent:/config + - /media/scratch/qbittorrent:/downloads diff --git a/compose.radarr.yaml b/compose.radarr.yaml index ea0a143..e8481fe 100644 --- a/compose.radarr.yaml +++ b/compose.radarr.yaml @@ -1,22 +1,22 @@ services: - radarr: - container_name: radarr - image: linuxserver/radarr:5.14.0 - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Amsterdam - external_links: - - transmission - - qbittorrent - extra_hosts: - - transmission:192.168.2.200 - - qbittorrent:192.168.2.200 - ports: - - 17878:7878 - restart: unless-stopped - volumes: - - /opt/radarr:/config - - /media/scratch/transmission:/downloads/transmission - - /media/scratch/qbittorrent:/downloads/qbittorrent - - /mnt/yotta/krypton/Movies:/movies + radarr: + container_name: radarr + image: linuxserver/radarr:5.14.0 + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Amsterdam + external_links: + - transmission + - qbittorrent + extra_hosts: + - transmission:192.168.2.200 + - qbittorrent:192.168.2.200 + ports: + - 17878:7878 + restart: unless-stopped + volumes: + - /opt/radarr:/config + - /media/scratch/transmission:/downloads/transmission + - /media/scratch/qbittorrent:/downloads/qbittorrent + - /mnt/yotta/krypton/Movies:/movies diff --git a/compose.rsnapshot.yaml b/compose.rsnapshot.yaml index b7ad38a..9918ff9 100644 --- a/compose.rsnapshot.yaml +++ b/compose.rsnapshot.yaml @@ -1,11 +1,11 @@ services: - rsnapshot: - container_name: rsnapshot - image: linuxserver/rsnapshot:1.4.5 - restart: unless-stopped - environment: - - TZ=Europe/Amsterdam - volumes: - - /opt/rsnapshot:/config - - /mnt/yotta/xenon/rsnapshot:/host/scratch - - /root/.ssh:/root/.ssh:ro + rsnapshot: + container_name: rsnapshot + image: linuxserver/rsnapshot:1.4.5 + restart: unless-stopped + environment: + - TZ=Europe/Amsterdam + volumes: + - /opt/rsnapshot:/config + - /mnt/yotta/xenon/rsnapshot:/host/scratch + - /root/.ssh:/root/.ssh:ro diff --git a/compose.socks.yaml b/compose.socks.yaml index 20e946e..bbf4b78 100644 --- a/compose.socks.yaml +++ b/compose.socks.yaml @@ -1,8 +1,8 @@ services: - socks: - container_name: socks - image: serjs/go-socks5-proxy - ports: - - 1081:1080 - network_mode: service:surfshark - restart: unless-stopped + socks: + container_name: socks + image: serjs/go-socks5-proxy + ports: + - 1081:1080 + network_mode: service:surfshark + restart: unless-stopped diff --git a/compose.sonarr.yaml b/compose.sonarr.yaml index 5c733ac..1ec5bdc 100644 --- a/compose.sonarr.yaml +++ b/compose.sonarr.yaml @@ -1,19 +1,19 @@ services: - sonarr: - image: linuxserver/sonarr:4.0.14 - container_name: sonarr - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Amsterdam - external_links: - - transmission - extra_hosts: - - transmission:192.168.2.200 - ports: - - 18989:8989 - restart: unless-stopped - volumes: - - /opt/sonarr:/config - - /media/scratch/transmission:/downloads - - /mnt/yotta/krypton/Shows:/tv + sonarr: + image: linuxserver/sonarr:4.0.14 + container_name: sonarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Amsterdam + external_links: + - transmission + extra_hosts: + - transmission:192.168.2.200 + ports: + - 18989:8989 + restart: unless-stopped + volumes: + - /opt/sonarr:/config + - /media/scratch/transmission:/downloads + - /mnt/yotta/krypton/Shows:/tv diff --git a/compose.surfshark.yaml b/compose.surfshark.yaml index 462a48d..27119fb 100644 --- a/compose.surfshark.yaml +++ b/compose.surfshark.yaml @@ -1,27 +1,27 @@ services: - surfshark: - cap_add: - - NET_ADMIN - container_name: surfshark - devices: - - /dev/net/tun - dns: - - 1.1.1.1 - environment: - - SURFSHARK_USER=${SURFSHARK_USER:?} - - SURFSHARK_PASSWORD=${SURFSHARK_PASSWORD:?} - - SURFSHARK_COUNTRY=nl - - SURFSHARK_CITY=ams - - CONNECTION_TYPE=udp - - LAN_NETWORK= - - ENABLE_SOCKS_SERVER=true - image: ilteoood/docker-surfshark:1.7.2 - ports: - - 1080:1080 - - 9091:9091 - - 9092:9092 - - 6881:6881 - - 6881:6881/udp - restart: unless-stopped - labels: - - autoheal=true + surfshark: + cap_add: + - NET_ADMIN + container_name: surfshark + devices: + - /dev/net/tun + dns: + - 1.1.1.1 + environment: + - SURFSHARK_USER=${SURFSHARK_USER:?} + - SURFSHARK_PASSWORD=${SURFSHARK_PASSWORD:?} + - SURFSHARK_COUNTRY=nl + - SURFSHARK_CITY=ams + - CONNECTION_TYPE=udp + - LAN_NETWORK= + - ENABLE_SOCKS_SERVER=true + image: ilteoood/docker-surfshark:1.7.2 + ports: + - 1080:1080 + - 9091:9091 + - 9092:9092 + - 6881:6881 + - 6881:6881/udp + restart: unless-stopped + labels: + - autoheal=true diff --git a/compose.timescaledb.yaml b/compose.timescaledb.yaml index 50bfe38..addf41b 100644 --- a/compose.timescaledb.yaml +++ b/compose.timescaledb.yaml @@ -1,13 +1,12 @@ services: - timescaledb: - container_name: timescaledb - environment: - - POSTGRES_USER=${TIMESCALEDB_USER:?} - - POSTGRES_PASSWORD=${TIMESCALEDB_PASSWORD:?} - image: timescale/timescaledb:2.17.2-pg17 - ports: - - 6543:5432 - restart: unless-stopped - volumes: - - /mnt/mezzo/scratch/timescaledb:/var/lib/postgresql/data - + timescaledb: + container_name: timescaledb + environment: + - POSTGRES_USER=${TIMESCALEDB_USER:?} + - POSTGRES_PASSWORD=${TIMESCALEDB_PASSWORD:?} + image: timescale/timescaledb:2.17.2-pg17 + ports: + - 6543:5432 + restart: unless-stopped + volumes: + - /mnt/mezzo/scratch/timescaledb:/var/lib/postgresql/data diff --git a/compose.transmission.yaml b/compose.transmission.yaml index eabf4a8..c92d8d5 100644 --- a/compose.transmission.yaml +++ b/compose.transmission.yaml @@ -1,16 +1,16 @@ services: - transmission: - container_name: transmission - image: linuxserver/transmission:4.0.6 - depends_on: - - surfshark - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Amsterdam - network_mode: service:surfshark - restart: unless-stopped - volumes: - - /opt/transmission:/config - - /media/scratch/torrents:/watch - - /media/scratch/transmission:/downloads + transmission: + container_name: transmission + image: linuxserver/transmission:4.0.6 + depends_on: + - surfshark + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Amsterdam + network_mode: service:surfshark + restart: unless-stopped + volumes: + - /opt/transmission:/config + - /media/scratch/torrents:/watch + - /media/scratch/transmission:/downloads diff --git a/compose.yaml b/compose.yaml index 428cd6f..96c3099 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,61 +1,61 @@ include: -# Web -- compose.caddy.yaml + # Web + - compose.caddy.yaml -# Authentication -- compose.authentik.yaml + # Authentication + - compose.authentik.yaml -# Other -- compose.autoheal.yaml -- compose.collectd.yaml -- compose.homarr.yaml -- compose.grafana.yaml -- compose.photoprism.yaml + # Other + - compose.autoheal.yaml + - compose.collectd.yaml + - compose.homarr.yaml + - compose.grafana.yaml + - compose.photoprism.yaml -# Development -- compose.gitea.yaml + # Development + - compose.gitea.yaml -# Automation -- compose.homeassistant.yaml -- compose.teslamate.yaml -- compose.nodered.yaml + # Automation + - compose.homeassistant.yaml + - compose.teslamate.yaml + - compose.nodered.yaml -# Download -- compose.jackett.yaml -- compose.transmission.yaml -- compose.qbittorrent.yaml + # Download + - compose.jackett.yaml + - compose.transmission.yaml + - compose.qbittorrent.yaml -# Media -- compose.radarr.yaml -- compose.sonarr.yaml -- compose.bazarr.yaml -- compose.jellyseerr.yaml -- compose.jellyfin.yaml + # Media + - compose.radarr.yaml + - compose.sonarr.yaml + - compose.bazarr.yaml + - compose.jellyseerr.yaml + - compose.jellyfin.yaml -# Networking -- compose.surfshark.yaml -- compose.dns-ad-blocker.yaml -#- compose.socks.yaml -#- compose.openvpn-server.yaml + # Networking + - compose.surfshark.yaml + - compose.dns-ad-blocker.yaml + # - compose.socks.yaml + # - compose.openvpn-server.yaml -# Backup -- compose.rsnapshot.yaml -- compose.borgmatic.yaml + # Backup + - compose.rsnapshot.yaml + - compose.borgmatic.yaml -# Sensors -- compose.dsmr.yaml -- compose.esphome.yaml -- compose.mosquitto.yaml + # Sensors + - compose.dsmr.yaml + - compose.esphome.yaml + - compose.mosquitto.yaml -# Storage -- compose.seafile.yaml -- compose.filebrowser.yaml -- compose.droppy.yaml -- compose.minio.yaml + # Storage + - compose.seafile.yaml + - compose.filebrowser.yaml + - compose.droppy.yaml + - compose.minio.yaml -# Database -- compose.pgadmin.yaml -- compose.postgis.yaml -- compose.timescaledb.yaml -- compose.influxdb.yaml -- compose.postgres.yaml + # Database + - compose.pgadmin.yaml + - compose.postgis.yaml + - compose.timescaledb.yaml + - compose.influxdb.yaml + - compose.postgres.yaml