Este documento te guiará para desplegar UptimeFlare en un VPS en menos de 30 minutos.
- ✅ Un VPS con Ubuntu 20.04+ (1GB RAM mínimo)
- ✅ Acceso SSH root o sudo
- ✅ Un dominio apuntando a tu VPS (opcional pero recomendado)
ssh root@tu-vps-ipcd /tmp
# Opción A: Si tienes el proyecto en Git
git clone https://github.com/tu-usuario/uptimeflare.git /var/www/uptimeflare
# Opción B: Si lo subes manualmente
scp -r /ruta/local/uptimeflare root@tu-vps-ip:/var/www/cd /var/www/uptimeflare
chmod +x vps-setup.sh
./vps-setup.shEl script te preguntará:
- ¿Qué tipo de despliegue quieres? (híbrido, completo, o docker)
- ¿Cuál es tu dominio?
- ¿Quieres SSL?
¡Y listo! El script configurará todo automáticamente.
Si elegiste opción híbrida (1):
cd /var/www/uptimeflare
npm install
npm run build
pm2 start ecosystem.config.js
pm2 saveSi elegiste Docker (3):
cd /var/www/uptimeflare
chmod +x docker-start.sh
./docker-start.sh
# Selecciona opción 1 para iniciar# 1. Clonar proyecto
git clone tu-repo /var/www/uptimeflare
cd /var/www/uptimeflare
# 2. Configurar variables
cp .env.example .env
nano .env # Edita según tus necesidades
# 3. Dar permisos y ejecutar
chmod +x docker-start.sh
./docker-start.sh
# 4. Selecciona opción 1 (Iniciar servicios)¡Listo! Tu aplicación estará corriendo en http://tu-ip
# Ver logs
docker-compose logs -f
# Reiniciar
docker-compose restart
# Detener
docker-compose down
# Ver estado
docker-compose ps# 1. Instalar dependencias del sistema
sudo apt update
sudo apt install -y nodejs npm nginx redis-server
sudo npm install -g pm2
# 2. Preparar aplicación
cd /var/www/uptimeflare
npm install
npm run build
# 3. Configurar Redis (si usas opción auto-hospedada)
sudo systemctl start redis-server
sudo systemctl enable redis-server
# 4. Iniciar con PM2
pm2 start ecosystem.config.js
pm2 save
pm2 startup
# 5. Configurar Nginx
sudo cp nginx/nginx.conf /etc/nginx/sites-available/uptimeflare
sudo ln -s /etc/nginx/sites-available/uptimeflare /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
# 6. SSL con Let's Encrypt
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d tu-dominio.comEdita el archivo uptime.config.ts para configurar tus monitores:
const workerConfig = {
kvWriteCooldownMinutes: 3,
monitors: [
{
id: 'mi_servicio',
name: 'Mi Servicio',
method: 'GET',
target: 'https://mi-api.com/health',
expectedCodes: [200],
timeout: 10000,
},
// ... más monitores
],
}Con PM2:
pm2 status
pm2 logs uptimeflare-webCon Docker:
docker-compose ps
docker-compose logscurl http://localhost:3000/api/dataDeberías ver un JSON con el estado de tus monitores.
sudo nginx -t
curl http://tu-dominio.comcurl https://tu-dominio.com# Encontrar proceso
sudo lsof -i :3000
# Matar proceso
sudo kill -9 PID# Verificar Redis
redis-cli ping
# Si no responde, reiniciar
sudo systemctl restart redis-server# Verificar que la app esté corriendo
pm2 status
# Ver logs de Nginx
sudo tail -f /var/log/nginx/error.log# Reinstalar dependencias
cd /var/www/uptimeflare
rm -rf node_modules
npm install
npm run build
pm2 restart allsudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enablesudo nano /etc/ssh/sshd_config
# Cambia Port 22 a Port 2222
sudo systemctl restart sshdsudo nano /etc/ssh/sshd_config
# PermitRootLogin no
sudo systemctl restart sshdsudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades# CPU y RAM
htop
# Espacio en disco
df -h
# Logs de la aplicación
pm2 logs
# Docker
docker stats# Crear script de backup
sudo nano /usr/local/bin/backup-uptimeflare.sh#!/bin/bash
BACKUP_DIR="/backups/uptimeflare"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# Backup de configuración
cp /var/www/uptimeflare/uptime.config.ts $BACKUP_DIR/uptime.config.ts.$DATE
# Backup de Redis (si usas)
redis-cli save
cp /var/lib/redis/dump.rdb $BACKUP_DIR/redis.$DATE.rdb
# Mantener solo últimos 7 días
find $BACKUP_DIR -type f -mtime +7 -deletesudo chmod +x /usr/local/bin/backup-uptimeflare.sh
# Agregar a cron (diario a las 2am)
sudo crontab -e
# 0 2 * * * /usr/local/bin/backup-uptimeflare.sh- ✅ Configura notificaciones (Discord, Telegram, Email)
- ✅ Personaliza la interfaz en
uptime.config.ts - ✅ Agrega más monitores
- ✅ Configura backup automático
- ✅ Monitorea los logs regularmente
| Método | Tiempo | Dificultad | Recomendado para |
|---|---|---|---|
| Automático | 15-30 min | ⭐ Fácil | Principiantes |
| Docker | 10-20 min | ⭐⭐ Media | Todos |
| Manual | 30-60 min | ⭐⭐⭐ Avanzada | Expertos |
¡Felicidades! 🎉 Tu sistema de monitoreo está listo.