Files
snatchgame/ngrok
josedario87 b83d450ac6
All checks were successful
build-and-deploy / filter (push) Successful in 2s
build-and-deploy / build (push) Successful in 6s
build-and-deploy / deploy (push) Successful in 10s
feat: Add ngrok internet exposure system for testing
- Complete ngrok setup with automated scripts
- One-click internet exposure with setup-complete.sh
- Dynamic URL management and Docker reconfiguration
- Multi-tunnel configuration for free ngrok accounts
- Comprehensive documentation and verification tools
- Organized in dedicated ngrok/ folder for easy management
2025-07-05 18:14:05 -06:00
..

🌐 SnatchGame - Ngrok Internet Exposure

Esta carpeta contiene todo lo necesario para exponer SnatchGame a internet usando ngrok.

🚀 Uso Rápido

Método Fácil (Recomendado):

cd ngrok
./setup-complete.sh

¡Eso es todo! El script hará todo automáticamente y te dará las URLs públicas.

📁 Archivos Incluidos

Scripts Principales:

  • setup-complete.sh - 🎯 Script principal - Hace todo automáticamente
  • manage-tunnels.sh - 🛠️ Gestión de túneles (start/stop/status/urls)
  • update-ngrok-urls.sh - 🔄 Actualiza URLs de Docker con ngrok
  • docker-compose.ngrok.yml - 🐳 Configuración Docker para ngrok

Scripts Adicionales:

  • setup-ngrok.sh - Setup inicial con configuración manual
  • expose-ngrok.sh - Script simple para exponer servicios

🔧 Métodos de Uso

1. Automático (Más Fácil):

./setup-complete.sh
  • Hace todo en orden correcto
  • URLs dinámicas automáticas
  • Verificación completa
  • Mantiene túneles activos

2. Manual (Más Control):

# Ver estado
./manage-tunnels.sh status

# Iniciar túneles
./manage-tunnels.sh start

# Ver URLs actuales
./manage-tunnels.sh urls

# Parar túneles
./manage-tunnels.sh stop

# Reiniciar todo
./manage-tunnels.sh restart

3. Solo actualizar URLs:

./update-ngrok-urls.sh

📋 Prerrequisitos

1. Cuenta ngrok (Gratis):

  1. Regístrate en: https://dashboard.ngrok.com/signup
  2. Obtén tu authtoken: https://dashboard.ngrok.com/get-started/your-authtoken
  3. Configúralo una vez:
    /tmp/ngrok config add-authtoken TU_TOKEN_AQUI
    

2. Docker funcionando:

  • Los servicios de SnatchGame deben estar builds
  • Docker compose debe estar disponible

🌐 URLs que obtendrás

Después de ejecutar el setup obtendrás 3 URLs públicas:

  • 🎮 CLIENTE - Para que los jugadores se conecten
  • 📊 ADMIN - Para administrar el juego
  • 🎯 SERVIDOR - API del juego (configurado automáticamente)

🛠️ Solución de Problemas

Error: "authentication failed"

# Configura tu authtoken de ngrok
/tmp/ngrok config add-authtoken TU_TOKEN

Error: "port already in use"

# Limpia procesos anteriores
pkill -f ngrok
docker compose down

URLs no funcionan

# Reinicia todo el setup
./manage-tunnels.sh restart

Docker no responde

# Verifica que los servicios estén construidos
cd .. && docker compose ps

📊 Flujo de Funcionamiento

1. 🛑 Limpia procesos anteriores
   ↓
2. 🐳 Inicia servicios Docker (localhost)
   ↓
3. 🌐 Crea túneles ngrok → Obtiene URLs públicas
   ↓
4. 🔄 Reconfigura Docker con URLs reales
   ↓
5. ✅ Verifica que todo funcione
   ↓
6. 🎉 ¡Sistema funcionando en internet!

🔍 Verificación

Verificar que funciona:

# 1. Ver estado
./manage-tunnels.sh status

# 2. Ver URLs
./manage-tunnels.sh urls

# 3. Probar cliente
curl https://TU_URL_CLIENTE/health

URLs correctas:

  • Cliente debe devolver: {"status":"healthy","service":"snatchgame-client"}
  • Admin debe devolver: {"status":"healthy","service":"snatchgame-admin"}
  • Servidor debe devolver: {"status":"healthy"}

🎯 Comando de Un Solo Paso

Para usuarios experimentados:

cd ngrok && ./setup-complete.sh

⚠️ Notas Importantes

  • Mantén la terminal abierta - Los túneles se cierran si cierras la terminal
  • URLs dinámicas - Cambian cada vez que reinicias ngrok
  • Primera vez - ngrok puede pedir "Visit Site" en el navegador
  • Cuenta gratuita - Túneles estables mientras esté activo

🎮 Para Jugar

  1. Ejecuta: ./setup-complete.sh
  2. Copia la URL del CLIENTE
  3. Comparte con amigos
  4. ¡Jueguen desde cualquier lugar del mundo!

💡 Tip: Guarda las URLs que te dé el script, son válidas mientras mantengas la terminal abierta.