Initial Commit
This commit is contained in:
59
Makefile
Normal file
59
Makefile
Normal file
@@ -0,0 +1,59 @@
|
||||
PORT ?= 8080
|
||||
HOST ?= 127.0.0.1
|
||||
TUNNEL_NAME ?= guitar-tabs
|
||||
TUNNEL_HOST ?= tabs.bhakat.dev
|
||||
TUNNEL_ORIGIN ?= http://127.0.0.1:$(PORT)
|
||||
TUNNEL_EDGE_IP_VERSION ?= auto
|
||||
.DEFAULT_GOAL := serve
|
||||
|
||||
.PHONY: help serve start tunnel-setup tunnel
|
||||
|
||||
help:
|
||||
@printf '%s\n' \
|
||||
'Guitar tabs sample' \
|
||||
'' \
|
||||
'Targets:' \
|
||||
' make Start the local server' \
|
||||
' make serve Start the local server' \
|
||||
' make start Alias for make serve' \
|
||||
' make tunnel-setup Create the Cloudflare Tunnel and DNS route (run once)' \
|
||||
' make tunnel Serve locally and run the Cloudflare Tunnel in the foreground' \
|
||||
' make help Show this help' \
|
||||
'' \
|
||||
'Options:' \
|
||||
' PORT=8080 Server port' \
|
||||
' HOST=127.0.0.1 Bind address' \
|
||||
' TUNNEL_NAME=guitar-tabs Cloudflare Tunnel name' \
|
||||
' TUNNEL_HOST=tabs.bhakat.dev Public hostname' \
|
||||
' TUNNEL_ORIGIN=http://127.0.0.1:8080 Local URL served through the tunnel' \
|
||||
' TUNNEL_EDGE_IP_VERSION=auto Cloudflare edge IP version (auto, 4, or 6)' \
|
||||
'' \
|
||||
'Examples:' \
|
||||
' make serve PORT=9000 HOST=0.0.0.0' \
|
||||
' make tunnel-setup' \
|
||||
' make tunnel TUNNEL_EDGE_IP_VERSION=4'
|
||||
|
||||
serve:
|
||||
uv run python -m http.server $(PORT) --bind $(HOST)
|
||||
|
||||
start: serve
|
||||
|
||||
tunnel-setup:
|
||||
cloudflared tunnel create "$(TUNNEL_NAME)"
|
||||
cloudflared tunnel route dns "$(TUNNEL_NAME)" "$(TUNNEL_HOST)"
|
||||
|
||||
tunnel:
|
||||
@set -e; \
|
||||
server_pid=''; \
|
||||
cleanup() { \
|
||||
if [ -n "$$server_pid" ]; then \
|
||||
kill "$$server_pid" 2>/dev/null || true; \
|
||||
wait "$$server_pid" 2>/dev/null || true; \
|
||||
fi; \
|
||||
}; \
|
||||
trap cleanup EXIT; \
|
||||
trap 'exit 130' INT TERM; \
|
||||
uv run python -m http.server "$(PORT)" --bind "$(HOST)" & \
|
||||
server_pid=$$!; \
|
||||
printf '%s\n' "Serving $(TUNNEL_ORIGIN) at https://$(TUNNEL_HOST)"; \
|
||||
cloudflared tunnel --edge-ip-version "$(TUNNEL_EDGE_IP_VERSION)" run --url "$(TUNNEL_ORIGIN)" "$(TUNNEL_NAME)"
|
||||
Reference in New Issue
Block a user