- 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
169 lines
3.9 KiB
Markdown
169 lines
3.9 KiB
Markdown
# 🌐 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):**
|
|
```bash
|
|
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):**
|
|
```bash
|
|
./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):**
|
|
```bash
|
|
# 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:**
|
|
```bash
|
|
./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:
|
|
```bash
|
|
/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"**
|
|
```bash
|
|
# Configura tu authtoken de ngrok
|
|
/tmp/ngrok config add-authtoken TU_TOKEN
|
|
```
|
|
|
|
### **Error: "port already in use"**
|
|
```bash
|
|
# Limpia procesos anteriores
|
|
pkill -f ngrok
|
|
docker compose down
|
|
```
|
|
|
|
### **URLs no funcionan**
|
|
```bash
|
|
# Reinicia todo el setup
|
|
./manage-tunnels.sh restart
|
|
```
|
|
|
|
### **Docker no responde**
|
|
```bash
|
|
# 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:**
|
|
```bash
|
|
# 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:
|
|
```bash
|
|
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. |