From 722b0a130c9cd5b260c934c79baa38588ad70567 Mon Sep 17 00:00:00 2001 From: Travis Herbranson Date: Sun, 10 May 2026 13:45:14 -0400 Subject: [PATCH] init commit to create the project --- .gitignore | 2 ++ .python-version | 1 + README.md | 0 docker-compose.yml | 30 ++++++++++++++++++++++++++++++ main.py | 6 ++++++ pyproject.toml | 7 +++++++ uv.lock | 8 ++++++++ 7 files changed, 54 insertions(+) create mode 100644 .gitignore create mode 100644 .python-version create mode 100644 README.md create mode 100644 docker-compose.yml create mode 100644 main.py create mode 100644 pyproject.toml create mode 100644 uv.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f85fff7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.env +*.env.local diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..e4fba21 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.12 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..909f235 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,30 @@ +# Cloudflared tunnel — outbound-only edge for the homelab. +# +# Routes mcp.herbylab.dev / auth.herbylab.dev / trellis.herbylab.dev (and +# anything Travis adds in the Cloudflare dashboard) to in-network services +# on the shared `homelab` Docker network. Ingress rules live in the +# Cloudflare dashboard, NOT in this repo — token-mode auth. +# +# Usage: +# docker compose -f docker-compose.yml up -d +# +# Env: reads .env (TUNNEL_TOKEN). .env is gitignored. + +name: cloudflared + +services: + cloudflared: + image: cloudflare/cloudflared:latest + container_name: cloudflared-mcp + restart: unless-stopped + command: tunnel run + env_file: + - .env + environment: + TUNNEL_TOKEN: ${TUNNEL_TOKEN} + networks: + - homelab + +networks: + homelab: + external: true diff --git a/main.py b/main.py new file mode 100644 index 0000000..9ef4104 --- /dev/null +++ b/main.py @@ -0,0 +1,6 @@ +def main(): + print("Hello from cloudflared!") + + +if __name__ == "__main__": + main() diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..06ff2a8 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,7 @@ +[project] +name = "cloudflared" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [] diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..92b3049 --- /dev/null +++ b/uv.lock @@ -0,0 +1,8 @@ +version = 1 +revision = 3 +requires-python = ">=3.12" + +[[package]] +name = "cloudflared" +version = "0.1.0" +source = { virtual = "." }