Files
tt-booking/setup-tunnel.sh

67 lines
2.2 KiB
Bash
Executable File

#!/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 <your-tunnel-id> 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 ""