#!/bin/bash # Cloudflare Tunnel Setup Script for LCC Table Tennis Booking # Domain: lcc-tt-booking.mikicvi.com set -e DOMAIN="lcc-tt-booking.mikicvi.com" TUNNEL_NAME="lcc-tt-booking" echo "🌐 Setting up Cloudflare Tunnel for $DOMAIN" echo "" # Check if cloudflared is installed if ! command -v cloudflared &> /dev/null; then echo "📥 Installing cloudflared..." # Detect architecture ARCH=$(uname -m) if [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then CLOUDFLARED_URL="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64" elif [ "$ARCH" = "armv7l" ]; then CLOUDFLARED_URL="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm" else CLOUDFLARED_URL="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64" fi # Download and install curl -L --output cloudflared "$CLOUDFLARED_URL" sudo mv cloudflared /usr/local/bin sudo chmod +x /usr/local/bin/cloudflared echo "✅ cloudflared installed successfully!" else echo "✅ cloudflared is already installed" fi echo "" echo "🔐 Please follow these steps:" echo "" echo "1. Authenticate with Cloudflare:" echo " cloudflared tunnel login" echo "" echo "2. Create the tunnel:" echo " cloudflared tunnel create $TUNNEL_NAME" echo "" echo "3. Copy the tunnel ID from the output and update cloudflare-tunnel-config.yml" echo "" echo "4. Create DNS record:" echo " cloudflared tunnel route dns $TUNNEL_NAME $DOMAIN" echo "" echo "5. Copy the config to cloudflared directory:" echo " mkdir -p ~/.cloudflared" echo " cp cloudflare-tunnel-config.yml ~/.cloudflared/config.yml" echo " # Update in the config file with your actual tunnel ID" echo "" echo "6. Test the tunnel:" echo " cloudflared tunnel run $TUNNEL_NAME" echo "" echo "7. Install as a service (optional):" echo " sudo cloudflared service install" echo " sudo systemctl enable cloudflared" echo " sudo systemctl start cloudflared" echo "" echo "📋 Tunnel configuration template is available in: cloudflare-tunnel-config.yml" echo "🚀 After setup, your app will be available at: https://$DOMAIN" echo ""