193 lines
4.4 KiB
YAML
193 lines
4.4 KiB
YAML
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:
|