All Compose Stacks

These compose files are on each host

https://github.com/trentnbauer/agg/blob/main/docker-compose/all/all-syno.yml
version: '3'
services:
  wazuh-agent:
    image: kennyopennix/wazuh-agent:4.11.1@sha256:4786b1431e43a579a128b281c9d79ccab825a7dade9fe0dfd69ecbe46bb21bb3
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /:/rootfs:ro
      - ossec:/var/ossec
    network_mode: host
    environment:
      - JOIN_MANAGER_MASTER_HOST=$WAZUHMASTER
      - JOIN_MANAGER_WORKER_HOST=$WAZUHWORKER
      - JOIN_MANAGER_PASSWORD=$WAZUHPASS
      - JOIN_MANAGER_USER=$WAZUHUSER
    restart: always
    
  autoheal:
    deploy:
      replicas: 1
    environment:
      AUTOHEAL_CONTAINER_LABEL: autoheal
      AUTOHEAL_INTERVAL: 60
      AUTOHEAL_START_PERIOD: 240
      AUTOHEAL_DEFAULT_STOP_TIMEOUT: 60
      AUTOHEAL_ONLY_MONITOR_RUNNING: true
    image: willfarrell/autoheal@sha256:174fe085f537cde76287df22cf721a68e7ad78d48f8c6d20a0dedf1fec55e553
    network_mode: none
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock

  docker-socket-proxy:
    network_mode: host
    image: ghcr.io/tecnativa/docker-socket-proxy:0.3.0
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - CONTAINERS=1

  watchtower:
    image: ghcr.io/containrrr/watchtower:1.7.1
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=Australia/Melbourne
      - WATCHTOWER_ROLLING_RESTART=true
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_INCLUDE_STOPPED=true
      - WATCHTOWER_POLL_INTERVAL=86400
      - WATCHTOWER_LABEL_ENABLE=true

  beszel-agent:
    image: ghcr.io/henrygd/beszel/beszel-agent:0.11.1@sha256:d015952e66319b993a2103ad0f9bf3bf89eb8755500a51956091dc9457234b7c
    restart: unless-stopped
    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - LISTEN=${BESZELPORT:-45876}
      - KEY=$BESZELKEY
      - GPU="true"
    healthcheck:
      test: ['CMD', '/agent', 'health']
      start_period: 5s 
      interval: 120s
    labels:
      - autoheal=true

  dockflare:
    image: alplat/dockflare:v1.9.1@sha256:a703f0221f98c102667ef1b2d746fbf188fff3f366d1a640d892d7a944065c95
    restart: unless-stopped
    networks:
      - cloudflare-net
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:5000 -O /dev/null || exit 1
      interval: 30s
      retries: 3
      start_period: 30s
      timeout: 20s 
    ports:
      - ${DOCKFLAREPORT:-5000}:5000
    environment:
      - STATE_FILE_PATH=/app/data/state.json
      - TZ=${TZ:-Australia/Melbourne}
      - CF_API_TOKEN=$CFAPITOKEN
      - CF_ACCOUNT_ID=$CFACCOUNTID
      #- CF_ZONE_ID=$CFZONEID
      - TUNNEL_NAME=${CFTUNNELNAME}
      - LABEL_PREFIX=dockflare
      - GRACE_PERIOD_SECONDS=28800
      - CLEANUP_INTERVAL_SECONDS=900
      - AGENT_STATUS_UPDATE_INTERVAL_SECONDS=60
      - SCAN_ALL_NETWORKS=true
      - MAX_CONCURRENT_DNS_OPS=1
      - TUNNEL_DNS_SCAN_ZONE_NAMES=${DNSSCANZONES:-}
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - dockflare_data:/app/data
    labels:
      - autoheal=true
      - dockflare.enable=true
      - dockflare.0.hostname=${CFTUNNELNAME:-MissingHostname}-tunnel.${URLTLD}
      - dockflare.0.service=http://${HOSTNAME}:${DOCKFLAREPORT:-5000}
      - dockflare.0.access.policy=default_tld
      - dockflare.0.zonename=${URLTLD}
      - dockflare.1.hostname=nas.${URLTLD}
      - dockflare.1.service=https://${HOSTNAME}:5001
      - dockflare.1.access.policy=default_tld
      - dockflare.1.zonename=${URLTLD}
      - dockflare.1.no_tls_verify=true
volumes:
  dockflare_data:
  ossec:
networks:
  cloudflare-net: 
    name: cloudflare-net 
    #external: true
https://github.com/trentnbauer/agg/blob/main/docker-compose/all/all-vm.yml
version: '3'
services:
  autoheal:
    deploy:
      replicas: 1
    environment:
      AUTOHEAL_CONTAINER_LABEL: autoheal
      AUTOHEAL_INTERVAL: 60
      AUTOHEAL_START_PERIOD: 240
      AUTOHEAL_DEFAULT_STOP_TIMEOUT: 60
      AUTOHEAL_ONLY_MONITOR_RUNNING: true
    image: willfarrell/autoheal@sha256:174fe085f537cde76287df22cf721a68e7ad78d48f8c6d20a0dedf1fec55e553
    network_mode: none
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock
  
  docker-socket-proxy:
    network_mode: host
    image: ghcr.io/tecnativa/docker-socket-proxy:0.3.0
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - CONTAINERS=1

  watchtower:
    image: ghcr.io/containrrr/watchtower:1.7.1
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=${TZ:-Australia/Melbourne}
      - WATCHTOWER_ROLLING_RESTART=true
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_INCLUDE_STOPPED=true
      - WATCHTOWER_POLL_INTERVAL=86400
      - WATCHTOWER_LABEL_ENABLE=true

  beszel-agent:
    image: ghcr.io/henrygd/beszel/beszel-agent:0.11.1@sha256:d015952e66319b993a2103ad0f9bf3bf89eb8755500a51956091dc9457234b7c
    restart: unless-stopped
    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - LISTEN=${BESZELPORT:-45876}
      - KEY=$BESZELKEY
      - GPU="true"
    healthcheck:
      test: ['CMD', '/agent', 'health']
      start_period: 30s
      interval: 120s
      retries: 3
      timeout: 60s
    labels:
      - autoheal=true

  dockflare:
    image: alplat/dockflare:v1.9.1@sha256:a703f0221f98c102667ef1b2d746fbf188fff3f366d1a640d892d7a944065c95
    restart: unless-stopped
    networks:
      - cloudflare-net
    healthcheck:
      test: wget --no-verbose --tries=1 --spider ${PROTOCOL:-http}://localhost:5000 -O /dev/null || exit 1
      interval: 30s
      retries: 3
      start_period: 30s
      timeout: 20s 
    ports:
      - ${DOCKFLAREPORT:-5000}:5000
    environment:
      - STATE_FILE_PATH=/app/data/state.json
      - TZ=${TZ:-Australia/Melbourne}
      - CF_API_TOKEN=$CFAPITOKEN
      - CF_ACCOUNT_ID=$CFACCOUNTID
      #- CF_ZONE_ID=$CFZONEID
      - TUNNEL_NAME=${CFTUNNELNAME:-MissingTunnelName}
      - LABEL_PREFIX=dockflare
      - GRACE_PERIOD_SECONDS=28800
      - CLEANUP_INTERVAL_SECONDS=900
      - AGENT_STATUS_UPDATE_INTERVAL_SECONDS=30
      - SCAN_ALL_NETWORKS=true
      - MAX_CONCURRENT_DNS_OPS=2
      - TUNNEL_DNS_SCAN_ZONE_NAMES=${DNSSCANZONES:-}
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - dockflare_data:/app/data
    labels:
      - autoheal=true
      - dockflare.enable=true
      - dockflare.0.hostname=${CFTUNNELNAME:-MissingHostname}-tunnel.$URLTLD
      - dockflare.0.service=http://${HOSTNAME}:${DOCKLAREPORT:-5000}
      - dockflare.0.access.policy=default_tld
      - dockflare.0.zonename=$URLTLD
      #- cloudflare.tunnel.path=${URLPATH:-}
volumes:
  dockflare_data:

networks:
  cloudflare-net: 
    name: cloudflare-net 
    #external: true

And the variables file,

.env
WAZUH_HOST=
WAZUH_PASS=
TZ=
CFAPITOKEN=
CFACCOUNTID=
URLTLD=
BESZELKEY=
HOSTNAME=

Last updated

Was this helpful?