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:
  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
      WEBHOOK_URL: ${PUSHOVER_WEBHOOK:-""}
    image: willfarrell/autoheal@sha256:cc3ee2abdd78d7c3f9e01f049575e7110a2d7a74f6dcf70db3312da49d770569
    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:v0.4.1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - CONTAINERS=1
    healthcheck:
      test: wget --spider http://localhost:2375/version || exit 1
      interval: "29s"
      timeout: "5s"
      retries: 3
      start_period: "21s"
    labels:
      - autoheal=true
      
  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.12.12@sha256:a8953c1c0cc409462ef8e4fa4350473a91dee6537c1f0aad6337f175fb6e4ab5
    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:v2.1.7@sha256:015653bdd533b6f4e81057e3b29500622ab3c56b2c244129451f8d02f311814f
    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:-}
      - CLOUDFLARED_NETWORK_NAME=${CLOUDFLARED_NETWORK_NAME:-host}
      - DOCKFLARE_PASSWORD=${DOCKFLAREPASSWORD}
      - SECRET_KEY=${DOCKFLAREKEY}
    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:-localhost}:${DOCKFLAREPORT:-5000}
      - dockflare.0.access.policy=default_tld
      - dockflare.0.zonename=${URLTLD}
      - dockflare.1.hostname=nas.${URLTLD}
      - dockflare.1.service=https://${HOSTNAME:-localhost}:5001
      - dockflare.1.access.policy=default_tld
      - dockflare.1.zonename=${URLTLD}
      - dockflare.1.no_tls_verify=true
      
  portracker:
    image: mostafawahied/portracker:1.2.0@sha256:36e0987b1bf449a3762c24f0c62d28b5b9b5b61fd7524015a6a4d6e5a38067c5
    restart: unless-stopped
    network_mode: "host"
    pid: "host"
    volumes:
      - portacker_data:/data
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - DATABASE_PATH=/data/portracker.db
      - PORT=${PORTACKERPORT:-4999}
    labels:
      - autoheal=true
      - dockflare.enable=true
      - dockflare.0.hostname=${CFTUNNELNAME:-MissingHostname}-portacker.$URLTLD
      - dockflare.0.service=http://${HOSTNAME:-localhost}:${PORTACKERPORT:-4999}
      - dockflare.0.access.policy=default_tld
      - dockflare.0.zonename=$URLTLD

volumes:
  dockflare_data:
  portacker_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
      WEBHOOK_URL: ${PUSHOVER_WEBHOOK:-""}
    image: willfarrell/autoheal@sha256:cc3ee2abdd78d7c3f9e01f049575e7110a2d7a74f6dcf70db3312da49d770569
    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:v0.4.1
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - CONTAINERS=1
    healthcheck:
      test: wget --spider http://localhost:2375/version || exit 1
      interval: "29s"
      timeout: "5s"
      retries: 3
      start_period: "21s"
    labels:
      - autoheal=true
      
  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.12.12@sha256:a8953c1c0cc409462ef8e4fa4350473a91dee6537c1f0aad6337f175fb6e4ab5
    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:v2.1.7@sha256:015653bdd533b6f4e81057e3b29500622ab3c56b2c244129451f8d02f311814f
    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:-}
      - CLOUDFLARED_NETWORK_NAME=${CLOUDFLARED_NETWORK_NAME:-host}
      - DOCKFLARE_PASSWORD=${DOCKFLAREPASSWORD}
      - SECRET_KEY=${DOCKFLAREKEY}
    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:-localhost}:${DOCKLAREPORT:-5000}
      - dockflare.0.access.policy=default_tld
      - dockflare.0.zonename=$URLTLD
      #- cloudflare.tunnel.path=${URLPATH:-}
      
  portracker:
    image: mostafawahied/portracker:1.2.0@sha256:36e0987b1bf449a3762c24f0c62d28b5b9b5b61fd7524015a6a4d6e5a38067c5
    restart: unless-stopped
    network_mode: "host"
    pid: "host"
    volumes:
      - portacker_data:/data
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - DATABASE_PATH=/data/portracker.db
      - PORT=${PORTACKERPORT:-4999}
    labels:
      - autoheal=true
      - dockflare.enable=true
      - dockflare.0.hostname=${CFTUNNELNAME:-MissingHostname}-portracker.$URLTLD
      - dockflare.0.service=http://${HOSTNAME:-localhost}:${PORTACKERPORT:-4999}
      - dockflare.0.access.policy=default_tld
      - dockflare.0.zonename=$URLTLD
      #- cloudflare.tunnel.path=${URLPATH:-}

volumes:
  dockflare_data:
  portacker_data:

networks:
  cloudflare-net: 
    name: cloudflare-net

And the variables file,

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

Last updated

Was this helpful?