version: "3.9" volumes: ssl: external: true mariadb-data: external: true ghost-data: external: true lumieredesoy-ghost-data: external: true victoria-metrics: external: true postgres-13: external: true networks: default: driver: bridge enable_ipv6: true ipam: driver: default config: - subnet: 172.20.0.0/24 gateway: 172.20.0.1 - subnet: 2a01:e0a:49e:2b81::/64 gateway: 2a01:e0a:49e:2b81::1 services: openldap: image: openldap-alpine volumes: - /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:13-alpine volumes: - postgres-13:/var/lib/postgresql/data - ssl:/ssl:ro dns: fd00::3:2 networks: default: ipv6_address: 2a01:e0a:49e:2b81::5432 restart: always haproxy: image: haproxy:alpine volumes: - ssl:/ssl:ro - /etc/haproxy:/usr/local/etc/haproxy:ro ports: - 8443:443 - 8443:443/udp - 8000:80 restart: always mem_limit: 128M dns: fd00::3:2 networks: default: ipv6_address: 2a01:e0a:49e:2b81::8443 caddy: image: caddy:alpine volumes: - ssl:/etc/dehydrated:ro - /etc/caddy:/etc/caddy - /srv/www:/srv/www ports: - 443:443 - 443:443/udp - 80:80 restart: always mem_limit: 128M dns: 192.168.3.2 networks: default: ipv6_address: 2a01:e0a:49e:2b81::443 redis: image: redis:alpine restart: always volumes: - /srv/docker/volume/redis/data:/data - /srv/docker/volume/redis/config/redis.conf:/usr/local/etc/redis/redis.conf:ro command: redis-server /usr/local/etc/redis/redis.conf mem_limit: 512M dns: 192.168.3.2 networks: default: ipv6_address: 2a01:e0a:49e:2b81::6379 mariadb: image: mariadb volumes: - mariadb-data:/var/lib/mysql - ssl:/ssl:ro ports: - 3306:3306 dns: 192.168.3.2 networks: default: ipv6_address: 2a01:e0a:49e:2b81::3306 restart: always lumieredesoy-ghost: image: ghost:4-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 ghost: image: ghost:4-alpine volumes: - ghost-data:/var/lib/ghost/content - /srv/docker/volume/ghost/config.production.json:/var/lib/ghost/config.production.json:ro env_file: env/yann-ghost restart: always mem_limit: 512M pdns: image: pdns-alpine volumes: - /srv/docker/volume/pdns.conf:/etc/pdns/pdns.conf:ro ports: - "53:53/udp" - "53:53/tcp" restart: always mem_limit: 128M dns: 192.168.3.2 networks: default: ipv6_address: 2a01:e0a:49e:2b81::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: image: grafana/grafana volumes: - /srv/docker/volume/grafana.ini:/etc/grafana/grafana.ini restart: always mem_limit: 128M miniflux: image: miniflux/miniflux env_file: env/miniflux restart: always mem_limit: 128M php80: image: php-alpine extra_hosts: - "mail.verry.org:192.168.3.5" volumes: - /srv/www:/srv/www extra_hosts: - "quichante.vpn6:fd00::42:4" - "mail.verry.org:192.168.3.5" restart: always dns: 192.168.3.2 pgbouncer: image: pgbouncer-alpine volumes: - /srv/docker/volume/pgbouncer:/etc/pgbouncer:ro restart: always mem_limit: 128M vmalert: image: victoriametrics/vmalert volumes: - /srv/docker/volume/victoriametrics/vmalert/alert.rules:/alert.rules:ro command: -rule=/alert.rules -datasource.url=http://victoria:8428 -notifier.url=http://prometheus-alertmanager:9093 -enableTCP6 restart: always mem_limit: 512M vmagent: image: victoriametrics/vmagent volumes: - /srv/docker/volume/victoriametrics/vmagent/prometheus.yml:/prometheus.yml:ro - /srv/docker/volume/victoriametrics/vmagent/blackbox:/blackbox:ro extra_hosts: - "peach.verry.org:172.17.0.1" - "ns2.vpn6:fd00::42:2" - "ns3.vpn6:fd00::42:3" - "backup-01.dinoutoo.vpn6:fd00::42:9" - "unbound-exporter:fd00::3:2" - "quichante.vpn6:fd00::42:4" - "jetable.vpn6:fd00::42:5" - "click.vpn6:fd00::42:6" - "quizz.vpn6:fd00::42:8" - "kiwi.verry.org:2a01:e0a:49e:2b83::6" - "backup-01.dinoutoo.vpn:192.168.42.9" - "rpizerow:192.168.0.85" - "home.verry.org:2a01:e0a:49e:2b81::443" - "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 restart: always mem_limit: 512M prometheus-alertmanager: image: prom/alertmanager volumes: - /srv/docker/volume/prometheus/config/alertmanager.yml:/etc/alertmanager/alertmanager.yml extra_hosts: - "mail.verry.org:192.168.3.5" restart: always mem_limit: 128M prometheus-blackbox: image: prom/blackbox-exporter volumes: - /srv/docker/volume/prometheus/config/blackbox.yml:/etc/prometheus/blackbox.yml cap_add: - NET_RAW extra_hosts: - "mail.verry.org:192.168.3.5" restart: always mem_limit: 128M prometheus-mysqld: image: prom/mysqld-exporter env_file: env/prometheus-mysqld restart: always mem_limit: 512M prometheus-postgres: image: quay.io/prometheuscommunity/postgres-exporter env_file: env/prometheus-postgres restart: always mem_limit: 128M prometheus-redis: image: oliver006/redis_exporter env_file: env/prometheus-redis restart: always mem_limit: 128M prometheus-hue: image: mitchellrj/hue_exporter:latest volumes: - /srv/docker/volume/hue_exporter/home.yml:/etc/hue_exporter/config.yml:ro restart: always mem_limit: 128M promtail: image: grafana/promtail command: -config.file=/etc/promtail/promtail.yaml restart: always mem_limit: 128M volumes: - /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:49e:2b81::514 linky-exporter: userns_mode: "host" image: debian:bullseye-slim volumes: - /srv/docker/volume/teleinfo/linky-exporter:/linky command: /linky/linky-exporter --device="/dev/ttyUSB0" -b 1200 --parity="E" restart: always mem_limit: 128M devices: - "/dev/ttyUSB0:/dev/ttyUSB0" victoria: image: victoriametrics/victoria-metrics volumes: - victoria-metrics:/victoria command: -storageDataPath /victoria -retentionPeriod 36 -enableTCP6 restart: always happydns: image: happydns/happydns env_file: env/happydns volumes: - /srv/docker/volume/happydns:/data restart: always mem_limit: 128M dnsdist: image: dnsdist volumes: - /srv/docker/volume/dnsdist/dnsdist.conf:/etc/dnsdist.conf:ro - ssl:/ssl restart: always mem_limit: 128M ports: - 853:853 command: /usr/bin/dnsdist -u nobody -g nobody -C /etc/dnsdist.conf --supervised -v networks: default: ipv6_address: 2a01:e0a:49e:2b81::853 gitea: image: gitea/gitea:dev volumes: - /srv/docker/volume/gitea/data:/data restart: always mem_limit: 512M depends_on: - postgres routeros-exporter: image: python-routeros restart: always mem_limit: 128M env_file: env/routeros-exporter synapse: image: matrixdotorg/synapse:latest volumes: - /srv/docker/volume/synapse/data:/data restart: always whoami: image: traefik/whoami restart: always environment: - WHOAMI_NAME=iamverry bitwarden: image: vaultwarden/server volumes: - /srv/docker/volume/bitwarden:/data restart: always mem_limit: 128M env_file: env/vaultwarden geoipupdate: image: "maxmindinc/geoipupdate:latest" volumes: - "/srv/docker/volume/geoip:/usr/share/GeoIP" env_file: env/geoipupdate