From 6cbd561a6ed3e3dbc9d1790b5b7aea1717b8460c Mon Sep 17 00:00:00 2001 From: tobbbs <1+tobbbs@noreply.localhost> Date: Tue, 26 May 2026 13:31:40 +0200 Subject: [PATCH] Add compose.yaml --- compose.yaml | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 compose.yaml diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..07bbc74 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,63 @@ +name: pangolin +services: + pangolin: + image: docker.io/fosrl/pangolin:ee-1.18.3 + container_name: pangolin + restart: unless-stopped + deploy: + resources: + limits: + memory: 1g + reservations: + memory: 256m + volumes: + - /opt/pangolin/config:/app/config + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3001/api/v1/"] + interval: "10s" + timeout: "10s" + retries: 15 + + gerbil: + image: docker.io/fosrl/gerbil:1.4.0 + container_name: gerbil + restart: unless-stopped + depends_on: + pangolin: + condition: service_healthy + command: + - --reachableAt=http://gerbil:3004 + - --generateAndSaveKeyTo=/var/config/key + - --remoteConfig=http://pangolin:3001/api/v1/ + volumes: + - /opt/pangolin/config/:/var/config + cap_add: + - NET_ADMIN + - SYS_MODULE + ports: + - 51820:51820/udp + - 21820:21820/udp + - 443:443 + - 443:443/udp # For http3 QUIC if desired + - 80:80 + + traefik: + image: docker.io/traefik:v3.6 + container_name: traefik + restart: unless-stopped + network_mode: service:gerbil # Ports appear on the gerbil service + depends_on: + pangolin: + condition: service_healthy + command: + - --configFile=/etc/traefik/traefik_config.yml + volumes: + - /opt/pangolin/config/traefik:/etc/traefik:ro # Volume to store the Traefik configuration + - /opt/pangolin/config/letsencrypt:/letsencrypt # Volume to store the Let's Encrypt certificates + - /opt/pangolin/config/traefik/logs:/var/log/traefik # Volume to store Traefik logs + +networks: + default: + driver: bridge + name: pangolin + enable_ipv6: true \ No newline at end of file