version: "3.5" networks: proxy: external: name: proxy_default app-network: driver: bridge services: db: image: mariadb:10.4 container_name: anonaddy_db volumes: - "./db:/var/lib/mysql" environment: - "MYSQL_ALLOW_EMPTY_PASSWORD=yes" - "MYSQL_DATABASE" - "MYSQL_USER" - "MYSQL_PASSWORD" restart: always networks: - app-network redis: image: redis:4.0-alpine container_name: anonaddy_redis restart: always networks: - app-network anonaddy: image: anonaddy/anonaddy:latest container_name: anonaddy depends_on: - db - redis ports: - target: 25 published: 25 protocol: tcp volumes: - "./data:/data" - "/home/****/traefik/certs/********.eu:/certs" dns: - 1.1.1.1 networks: - proxy - app-network labels: - "traefik.enable=true" - "traefik.docker.network=proxy_default" - "traefik.http.routers.anon.rule=Host(`********.eu`)" - "traefik.http.routers.anon.entrypoints=https" - "traefik.http.routers.anon.tls.certresolver=le-dns" #le-dns wegen dem Wildcard - "traefik.http.routers.anon.tls.domains[0].main=********.eu" - "traefik.http.routers.anon.tls.domains[0].sans=*.********.eu" - "traefik.http.routers.anon.middlewares=ratelimit@file,compress@file,anon-headers@file" - "traefik.http.services.anon.loadbalancer.server.port=8000" - "traefik.http.routers.anon.service=anon" - "traefik.http.routers.anonroeb.rule=Host(`anon.********.eu`)" - "traefik.http.routers.anonroeb.entrypoints=https" - "traefik.http.routers.anonroeb.tls.certresolver=le-dns" #le-dns wegen dem Wildcard - "traefik.http.routers.anonroeb.tls.domains[0].main=anon.********.eu" - "traefik.http.routers.anonroeb.tls.domains[0].sans=*.anon.********.eu" - "traefik.http.routers.anonroeb.middlewares=ratelimit@file,compress@file,anon-headers@file" - "traefik.http.services.anonroeb.loadbalancer.server.port=8000" - "traefik.http.routers.anonroeb.service=anonroeb" env_file: - "./anonaddy.env" environment: - "DB_HOST=db" - "DB_DATABASE=${MYSQL_DATABASE}" - "DB_USERNAME=${MYSQL_USER}" - "DB_PASSWORD=${MYSQL_PASSWORD}" - "REDIS_HOST=redis" restart: always