fredbcode-images-squid/docker-compose/docker-compose.yml

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: