diff --git a/kuma/.env.example b/kuma/.env.example new file mode 100644 index 0000000..fbe80be --- /dev/null +++ b/kuma/.env.example @@ -0,0 +1,2 @@ +TAILSCALE_OAUTH_KEY= +TAILSCALE_TAGS= \ No newline at end of file diff --git a/kuma/docker-compose.yml b/kuma/docker-compose.yml new file mode 100644 index 0000000..a9caaa8 --- /dev/null +++ b/kuma/docker-compose.yml @@ -0,0 +1,34 @@ +--- +version: "3.7" +services: + ts-kuma: + image: tailscale/tailscale:latest + container_name: ts-kuma + hostname: monitoring + environment: + - TS_AUTHKEY=${TAILSCALE_OAUTH_KEY} + - TS_EXTRA_ARGS=--advertise-tags=${TAILSCALE_TAGS} + - TS_SERVE_CONFIG=/config/kuma.json + - TS_STATE_DIR=/var/lib/tailscale + volumes: + - ts-kuma-state:/var/lib/tailscale + - ${PWD}/ts-kuma/config:/config + - /dev/net/tun:/dev/net/tun + cap_add: + - net_admin + - sys_module + restart: unless-stopped + kuma: + image: louislam/uptime-kuma:1 + container_name: kuma + depends_on: + - ts-kuma + volumes: + - kuma-data:/app/data/ + restart: unless-stopped + +volumes: + ts-kuma-state: + driver: local + kuma-data: + driver: local diff --git a/kuma/ts-kuma/config/kuma.json b/kuma/ts-kuma/config/kuma.json new file mode 100644 index 0000000..3df0f03 --- /dev/null +++ b/kuma/ts-kuma/config/kuma.json @@ -0,0 +1,20 @@ +{ + "TCP": { + "443": { + "HTTPS": true + } + }, + "Web": { + "${TS_CERT_DOMAIN}:443": { + "Handlers": { + "/": { + "Proxy": "http://kuma:3001" + } + } + } + }, + "AllowFunnel": { + "${TS_CERT_DOMAIN}:443": false + } + } + \ No newline at end of file