version: "3.3" services: squid1: image: fredbcode/squid:latest environment: - TZ=Europe/Paris # Sup - supgethosts=https://www.google.com,https://www.facebook.com,https://www.orange.fr,https://www.free.fr - supicaphost=e2guardian - supicapport=1344 - autoreload=/etc/squid volumes: - ./squid:/etc/squid:ro - cache1:/var/spool/squid depends_on: - haproxy - dns logging: options: max-size: "100m" max-file: "3" restart: always labels: # purge memory deck-chores.squidrestart.command: sh -c 'squid -k shutdown' deck-chores.squidrestart.cron: "* * * * * 00 00 00" networks: - webfilter dns: - 172.20.7.10 squid2: image: fredbcode/squid:latest environment: - TZ=Europe/Paris # Sup - supgethosts=https://www.google.com https://www.facebook.com https://www.orange.fr https://www.free.fr - supicaphost=e2guardian - supicapport=1344 - autoreload=/etc/squid volumes: - ./squid:/etc/squid:ro - cache2:/var/spool/squid depends_on: - haproxy - dns logging: options: max-size: "100m" max-file: "3" restart: always labels: # purge memory deck-chores.squidrestart.command: sh -c 'squid -k shutdown' deck-chores.squidrestart.cron: "* * * * * 00 00 00" networks: - webfilter dns: - 172.20.7.10 squid3: image: fredbcode/squid:latest environment: - TZ=Europe/Paris # Sup - supgethosts=https://www.google.com https://www.facebook.com https://www.orange.fr https://www.free.fr - supicaphost=e2guardian - supicapport=1344 - autoreload=/etc/squid volumes: - ./squid:/etc/squid:ro - cache3:/var/spool/squid depends_on: - haproxy - dns logging: options: max-size: "100m" max-file: "3" restart: always labels: # purge memory deck-chores.squidrestart.command: sh -c 'squid -k shutdown' deck-chores.squidrestart.cron: "* * * * * 00 00 00" networks: - webfilter dns: - 172.20.7.10 squid4: image: fredbcode/squid:latest environment: - TZ=Europe/Paris # Sup - supgethosts=https://www.google.com https://www.facebook.com https://www.orange.fr https://www.free.fr - supicaphost=e2guardian - supicapport=1344 - autoreload=/etc/squid volumes: - ./squid:/etc/squid:ro - cache4:/var/spool/squid depends_on: - haproxy - dns logging: options: max-size: "100m" max-file: "3" restart: always labels: # purge memory deck-chores.squidrestart.command: sh -c 'squid -k shutdown' deck-chores.squidrestart.cron: "* * * * * 00 00 00" networks: - webfilter dns: - 172.20.7.10 # web filter (unconfigured) e2guardian: image: fredbcode/e2guardian:v5.4-amd64 environment: - TZ=Europe/Paris healthcheck: disable: true restart: unless-stopped depends_on: - haproxy - dns volumes: - ./e2guardian/:/etc/e2guardian:ro labels: # purge memory deck-chores.e2guardianrestart.command: sh -c '/usr/sbin/e2guardian -q' deck-chores.e2guardianrestart.cron: "* * * * * 00 00 00" networks: - webfilter haproxy: image: haproxy:latest ports: - "3128:3128" volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - ./haproxy:/usr/local/etc/haproxy/haproxy.cfg:ro logging: options: max-size: "100m" max-file: "3" networks: - webfilter # DNS Filtering (safe search enabled) dns: restart: always image: 4km3/dnsmasq volumes: - ./dnsmasq/dnsmasq.conf:/etc/dnsmasq.conf cap_add: - NET_ADMIN logging: options: max-size: "100m" max-file: "3" networks: webfilter: ipv4_address: 172.20.7.10 deckchores: image: funkyfuture/deck-chores:1.1.3 environment: - TZ=Europe/Paris volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" restart: unless-stopped logging: options: max-size: "100m" max-file: "3" networks: webfilter: ipam: config: - subnet: 172.20.7.0/24 volumes: cache1: cache2: cache3: cache4: