Compare commits

..

No commits in common. "fb825b117128464919d36229c9632681c6ae126c" and "c6314c516d5f7d6c8372fc559771b78bd4cacac8" have entirely different histories.

2 changed files with 146 additions and 187 deletions

View file

@ -1,17 +1,9 @@
volumes: volumes:
conduit-db:
external: true
conduwuit-db:
external: true
ssl: ssl:
external: true external: true
victoria-metrics: victoria-metrics:
external: true external: true
postgres-17: postgres-15:
external: true
mysql-data:
external: true
lumieredesoy-ghost-data:
external: true external: true
networks: networks:
@ -24,25 +16,45 @@ networks:
config: config:
- subnet: 172.20.0.0/24 - subnet: 172.20.0.0/24
gateway: 172.20.0.1 gateway: 172.20.0.1
- subnet: 2a01:e0a:cba:5f51::/64 - subnet: 2a01:e0a:5b7:35f1::/64
gateway: 2a01:e0a:cba:5f51::1 gateway: 2a01:e0a:5b7:35f1::1
services: services:
postgres: openldap:
image: postgres:17-alpine image: openldap-alpine
volumes: volumes:
- postgres-17:/var/lib/postgresql/data - /srv/docker/volume/openldap/config/openldap:/etc/openldap
- /srv/docker/volume/openldap/mdb:/var/lib/openldap/openldap-data
- ssl:/ssl
ports:
- 389:389
restart: always
postgres:
image: postgres:15-alpine
volumes:
- postgres-15:/var/lib/postgresql/data
- ssl:/ssl:ro - ssl:/ssl:ro
dns: fd00::3:2
environment: environment:
- POSTGRES_PASSWORD=J5PdCv9ObVh5uZCJDpndzXoUumAKn52K - POSTGRES_PASSWORD=J5PdCv9ObVh5uZCJDpndzXoUumAKn52K
networks: networks:
default: default:
ipv6_address: 2a01:e0a:cba:5f51::5432 ipv6_address: 2a01:e0a:5b7:35f1::5432
restart: always restart: always
caddy: vault:
image: caddy:alpine image: hashicorp/vault
volumes: volumes:
- ssl:/ssl:ro - /srv/docker/volume/vault:/vault
restart: always
mem_limit: 128M
dns: 192.168.3.2
cap_add:
- IPC_LOCK
command: vault server -config /vault/config
caddy:
image: caddy-alpine
volumes:
- ssl:/etc/dehydrated:ro
- /etc/caddy:/etc/caddy - /etc/caddy:/etc/caddy
- /srv/www:/srv/www - /srv/www:/srv/www
- /srv/www/nfs/kiwi/Videos:/srv/www/nfs/kiwi/Videos:ro - /srv/www/nfs/kiwi/Videos:/srv/www/nfs/kiwi/Videos:ro
@ -51,14 +63,13 @@ services:
- 443:443 - 443:443
- 443:443/udp - 443:443/udp
- 80:80 - 80:80
mem_limit: 1G mem_limit: 128M
command: caddy run --config /etc/caddy/Caddyfile --adapter caddyfile command: caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
networks: networks:
default: default:
ipv6_address: 2a01:e0a:cba:5f51::443 ipv6_address: 2a01:e0a:5b7:35f1::443
ipv4_address: 172.20.0.250
redis: redis:
image: valkey/valkey image: redis:alpine
restart: always restart: always
volumes: volumes:
- /srv/docker/volume/redis/data:/data - /srv/docker/volume/redis/data:/data
@ -68,31 +79,35 @@ services:
dns: 192.168.3.2 dns: 192.168.3.2
networks: networks:
default: default:
ipv6_address: 2a01:e0a:cba:5f51::6379 ipv6_address: 2a01:e0a:5b7:35f1::6379
pdns: pdns:
image: powerdns/pdns-auth-51:latest image: pdns-alpine
volumes: volumes:
- /srv/docker/volume/powerdns/pdns/pdns.conf:/etc/powerdns/pdns.conf:ro - /srv/docker/volume/pdns.conf:/etc/pdns/pdns.conf:ro
- /srv/docker/volume/powerdns/pdns/custom.conf:/etc/powerdns/pdns.d/custom.conf:ro
- /srv/docker/volume/powerdns/pdns/data:/powerdns-lmdb:rw
ports: ports:
- "192.168.3.10:53:53/udp" - "53:53/udp"
- "192.168.3.10:53:53/tcp" - "53:53/tcp"
#command: /usr/sbin/pdns_server --guardian=no --daemon=no --disable-syslog --log-timestamp=no --write-pid=no
restart: always restart: always
mem_limit: 128M mem_limit: 128M
dns: 192.168.3.2 dns: 192.168.3.2
networks: networks:
default: default:
ipv6_address: 2a01:e0a:cba:5f51::53 ipv6_address: 2a01:e0a:5b7:35f1::53
pdns-exporter:
image: debian:bullseye-slim
volumes:
- /srv/docker/volume/prometheus/powerdns_exporter/powerdns_exporter:/run/powerdns_exporter:ro
restart: always
mem_limit: 128M
command: /run/powerdns_exporter -api-url http://pdns:8081/api/v1/ -api-key ${API_KEY}
grafana: grafana:
image: grafana/grafana:main image: grafana/grafana
volumes: volumes:
- /srv/docker/volume/grafana/grafana.ini:/etc/grafana/grafana.ini - /srv/docker/volume/grafana/grafana.ini:/etc/grafana/grafana.ini
restart: always restart: always
mem_limit: 1G mem_limit: 1G
php: php:
image: php85-alpine image: php83-alpine
extra_hosts: extra_hosts:
- "mail.verry.org:192.168.42.3" - "mail.verry.org:192.168.42.3"
dns: 192.168.3.2 dns: 192.168.3.2
@ -100,22 +115,15 @@ services:
volumes: volumes:
- /srv/www:/srv/www - /srv/www:/srv/www
restart: always restart: always
nextcloud-push: loki:
image: alpine image: grafana/loki
extra_hosts:
- "mail.verry.org:192.168.42.3"
- "cloud.verry.org:172.20.0.250"
dns: 192.168.3.2
command: /srv/www/yann/owncloud/nextcloud/apps/notify_push/bin/x86_64/notify_push /srv/www/yann/owncloud/nextcloud/config/config.php
volumes: volumes:
- /srv/www/yann/owncloud/nextcloud:/srv/www/yann/owncloud/nextcloud - /srv/docker/volume/loki/config/loki-docker-config.yaml:/etc/loki/local-config.yaml:ro
- /srv/docker/volume/loki/data:/loki:rw
restart: always restart: always
networks: mem_limit: 1G
default:
ipv6_address: 2a01:e0a:cba:5f51::beef
ipv4_address: 172.20.0.251
miniflux: miniflux:
image: miniflux/miniflux:latest-distroless image: miniflux/miniflux
env_file: env/miniflux env_file: env/miniflux
restart: always restart: always
mem_limit: 128M mem_limit: 128M
@ -147,10 +155,9 @@ services:
- "quichante.vpn6:fd00::42:4" - "quichante.vpn6:fd00::42:4"
- "click.vpn6:fd00::42:6" - "click.vpn6:fd00::42:6"
- "quizz.vpn6:fd00::42:8" - "quizz.vpn6:fd00::42:8"
- "kiwi.verry.org:2a01:e0a:cba:5f53::6" - "kiwi.verry.org:2a01:e0a:5b7:35f3::6"
- "banana.verry.org:2a01:e0a:cba:5f53::11"
- "backup-01.dinoutoo.vpn:192.168.42.9" - "backup-01.dinoutoo.vpn:192.168.42.9"
- "home.verry.org:2a01:e0a:cba:5f51::443" - "home.verry.org:2a01:e0a:5b7:35f1::443"
- "mail.verry.org:192.168.3.5" - "mail.verry.org:192.168.3.5"
command: -enableTCP6 -promscrape.config=/prometheus.yml -remoteWrite.url=http://victoria:8428/api/v1/write -sortLabels -promscrape.config.strictParse=false command: -enableTCP6 -promscrape.config=/prometheus.yml -remoteWrite.url=http://victoria:8428/api/v1/write -sortLabels -promscrape.config.strictParse=false
restart: always restart: always
@ -195,12 +202,6 @@ services:
command: '/hue_exporter/hue_exporter -metrics-file=/hue_exporter/hue_metrics.json -hue-url="192.168.0.3" -username="qR4H-LSFFPuMz607ALjz56GF9qE4mmmsx4qrmD7Q" -listen-address=0.0.0.0:9773' command: '/hue_exporter/hue_exporter -metrics-file=/hue_exporter/hue_metrics.json -hue-url="192.168.0.3" -username="qR4H-LSFFPuMz607ALjz56GF9qE4mmmsx4qrmD7Q" -listen-address=0.0.0.0:9773'
restart: always restart: always
mem_limit: 128M mem_limit: 128M
# secret:
# image: ghcr.io/openbao/openbao
# restart: always
# mem_limit: 128M
# volumes:
# - /srv/docker/volume/openbao:/openbao
promtail: promtail:
image: grafana/promtail image: grafana/promtail
command: -config.file=/etc/promtail/promtail.yaml command: -config.file=/etc/promtail/promtail.yaml
@ -208,6 +209,20 @@ services:
mem_limit: 128M mem_limit: 128M
volumes: volumes:
- /srv/docker/volume/promtail:/etc/promtail:ro - /srv/docker/volume/promtail:/etc/promtail:ro
rsyslog:
image: rsyslog-alpine
restart: always
volumes:
- /srv/docker/volume/rsyslog/config/rsyslog.conf:/etc/rsyslog.conf:ro
- /srv/docker/volume/rsyslog/data:/data
ports:
- 514:514/udp
- 514:514
dns: 192.168.3.2
mem_limit: 128M
networks:
default:
ipv6_address: 2a01:e0a:5b7:35f1::514
victoria: victoria:
image: victoriametrics/victoria-metrics image: victoriametrics/victoria-metrics
volumes: volumes:
@ -215,159 +230,103 @@ services:
command: -storageDataPath /victoria -retentionPeriod 60 -enableTCP6 command: -storageDataPath /victoria -retentionPeriod 60 -enableTCP6
restart: always restart: always
cpus: 1 cpus: 1
mem_limit: 8G mem_limit: 2048M
# dnsdist: dnsdist:
# image: powerdns/dnsdist-20 image: dnsdist
# volumes: volumes:
# - /srv/docker/volume/dnsdist/dnsdist.conf:/etc/dnsdist/dnsdist.conf:ro - /srv/docker/volume/dnsdist/dnsdist.conf:/etc/dnsdist.conf:ro
# - ssl:/ssl - ssl:/ssl
# restart: always restart: always
# mem_limit: 128M mem_limit: 128M
# ports: ports:
# - 853:853 - 853:853
# networks: command: /usr/bin/dnsdist -u nobody -g nobody -C /etc/dnsdist.conf --supervised -v
# default: networks:
# ipv6_address: 2a01:e0a:cba:5f51::853 default:
ipv6_address: 2a01:e0a:5b7:35f1::853
gitea: gitea:
image: codeberg.org/forgejo/forgejo:11 image: codeberg.org/forgejo/forgejo:7
volumes: volumes:
- /srv/docker/volume/gitea/data:/data - /srv/docker/volume/gitea/data:/data
restart: always restart: always
mem_limit: 512M mem_limit: 512M
depends_on: depends_on:
- postgres - postgres
tuwunel: routeros-exporter:
image: ghcr.io/matrix-construct/tuwunel:latest image: python-routeros
env_file: env/tuwunel
volumes:
- ssl:/ssl:ro
- /srv/docker/volume/tuwunel/config:/config:ro
- /srv/docker/volume/tuwunel/db-backup:/db-backup:rw
- conduit-db:/db:rw
restart: always restart: always
mem_limit: 2G mem_limit: 128M
cpus: 1 env_file: env/routeros-exporter
saic-mqtt-gateway: whoami:
image: "saicismartapi/saic-python-mqtt-gateway:latest" image: traefik/whoami
env_file: env/saic-mqtt-gateway restart: always
environment:
- WHOAMI_NAME=iamverry
linkding:
image: sissbruecker/linkding:latest
volumes: volumes:
- /srv/docker/volume/saic/charging-stations.json:/usr/src/app/charging-stations.json - /srv/docker/volume/linkding:/etc/linkding/data
restart: always
mem_limit: 1G
env_file: env/linkding
command: uwsgi --http [::]:9090 uwsgi.ini
drone:
image: drone/drone:2
restart: always
env_file: env/drone
drone-runner-ssh:
image: drone/drone-runner-ssh
restart: always
env_file: env/drone-runner-ssh
# minio:
# image: minio/minio
# volumes:
# - /srv/docker/volume/minio/data:/data:rw
# env_file: env/minio
# restart: always
# command: minio server /data
# mem_limit: 1G
# cpus: 0.5
matrixsyncv3:
image: alpine:3.18
env_file: env/matrixsyncv3
volumes:
- /srv/docker/volume/sliding-sync/bin/syncv3:/bin/syncv3
restart: always
command: /bin/syncv3
mem_limit: 1G
cpus: 1
dendrite:
image: matrixdotorg/dendrite-monolith:latest
volumes:
- /srv/docker/volume/dendrite/dendrite.yaml:/etc/dendrite/dendrite.yaml:ro
- /srv/docker/volume/dendrite/cert:/cert:ro
- /srv/docker/volume/dendrite/media:/var/dendrite/media
- /srv/docker/volume/dendrite/logs:/var/dendrite/logs
- /srv/docker/volume/dendrite/jetstream:/var/dendrite/jetstream
restart: always
mem_limit: 1G
cpus: 1
matrix-alertmanager: matrix-alertmanager:
image: jaywink/matrix-alertmanager:latest image: jaywink/matrix-alertmanager:latest
env_file: env/matrix-alertmanager env_file: env/matrix-alertmanager
restart: always restart: always
mem_limit: 1G mem_limit: 1G
cpus: 1 cpus: 1
authentik-server:
image: ghcr.io/goauthentik/server:2026.8
restart: unless-stopped
command: server
volumes:
- /srv/docker/volume/authentik/media:/media
- /srv/docker/volume/authentik/custom-templates:/templates
env_file:
- env/authentik-server
depends_on:
- postgres
- redis
authentik-worker:
image: ghcr.io/goauthentik/server:2026.8
restart: unless-stopped
command: worker
volumes:
- /srv/docker/volume/authentik/media:/media
- /srv/docker/volume/authentik/certs:/certs
- /srv/docker/volume/authentik/custom-templates:/templates
env_file:
- env/authentik-worker
depends_on:
- postgres
- redis
mosquitto:
image: eclipse-mosquitto
volumes:
- ssl:/ssl:ro
- /srv/docker/volume/mosquitto/config:/mosquitto/config
- /srv/docker/volume/mosquitto/data:/mosquitto/data
ports:
- 1883:1883 #mqtt
restart: always
networks:
default:
ipv6_address: 2a01:e0a:cba:5f51::1883
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
environment:
- TZ='Europe/Paris'
volumes:
- /srv/docker/volume/homeassistant:/config
ports:
- 9000:9000 # OCPP
restart: always
uptime-kuma: uptime-kuma:
image: louislam/uptime-kuma:2 image: louislam/uptime-kuma
volumes: volumes:
- /srv/docker/volume/uptime-kuma/data:/app/data:rw - /srv/docker/volume/uptime-kuma/data:/app/data:rw
restart: always restart: always
mem_limit: 4G mem_limit: 2G
cpus: 1 cpus: 1
openspeedtest:
environment:
- ENABLE_LETSENCRYPT=False
- DOMAIN_NAME=speedtest.verry.org
image: "openspeedtest/latest"
geoipupdate: geoipupdate:
image: "maxmindinc/geoipupdate:latest" image: "maxmindinc/geoipupdate:latest"
volumes: volumes:
- "/srv/docker/volume/geoip:/usr/share/GeoIP" - "/srv/docker/volume/geoip:/usr/share/GeoIP"
env_file: env/geoipupdate env_file: env/geoipupdate
vector:
image: timberio/vector:latest-alpine
env_file:
- env/vector
volumes:
- /srv/docker/volume/vector/vector.yaml:/etc/vector/vector.yaml:ro
restart: unless-stopped
vikunja:
image: vikunja/vikunja
env_file:
- env/vikunja
volumes:
- /srv/docker/volume/vikunja:/app/vikunja/files
depends_on:
- postgres
restart: unless-stopped
ring-mqtt:
restart: unless-stopped
image: tsightler/ring-mqtt
ports:
- 8554:8554 # Enable RTSP port for external media player access
volumes:
- /srv/docker/volume/ring-mqtt:/data # Mapping of local folder to provide persistent storage
logging: #limit logs to 10m and 3 files
options:
max-size: 10m
max-file: "3"
whoami:
image: traefik/whoami
restart: always
environment:
- WHOAMI_NAME=iamverry
garage:
hostname: peach-garage
image: dxflrs/garage:v2.4.1
volumes:
- /srv/docker/volume/garage/data:/var/lib/garage
- /srv/docker/volume/garage/garage.toml:/etc/garage.toml:ro
networks:
default:
ipv6_address: 2a01:e0a:cba:5f51::666
restart: always
mysql:
image: mysql:lts
volumes:
- mysql-data:/var/lib/mysql
- ssl:/ssl:ro
restart: always
lumieredesoy-ghost:
image: ghost:6-alpine
volumes:
- lumieredesoy-ghost-data:/var/lib/ghost/content
- /srv/docker/volume/lumieredesoy_ghost/config/config.production.json:/var/lib/ghost/config.production.json:ro
env_file: env/lumieredesoy-ghost
restart: always

View file

@ -4,4 +4,4 @@
cd "$(dirname "$0")" cd "$(dirname "$0")"
#docker-compose pull --ignore-pull-failures #docker-compose pull --ignore-pull-failures
docker-compose up -d --remove-orphans docker-compose up -d