#!/bin/bash # Script de despliegue manual para el VPS # Ejecutar como: bash vps/deploy.sh set -euo pipefail echo "=== Despliegue manual de carlospalanca.es ===" # 1. Instalar dependencias echo "[1/4] Instalando dependencias..." sudo apt-get update -q sudo apt-get install -y -q nginx certbot python3-certbot-nginx docker.io docker-compose-plugin # 2. Crear usuario deploy (si no existe) if ! id "deploy" &>/dev/null; then echo "[2/4] Creando usuario deploy..." sudo useradd -m -s /bin/bash deploy sudo mkdir -p /home/deploy/.ssh echo "IMPORTANTE: Añade tu clave pública a /home/deploy/.ssh/authorized_keys" else echo "[2/4] Usuario deploy ya existe." fi # 3. Crear directorio web echo "[3/4] Creando directorio web..." sudo mkdir -p /var/www/carlospalanca.es sudo chown deploy:deploy /var/www/carlospalanca.es # 4. Configurar nginx echo "[4/4] Configurando nginx..." sudo cp vps/nginx/carlospalanca.conf /etc/nginx/sites-available/carlospalanca.es sudo ln -sf /etc/nginx/sites-available/carlospalanca.es /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl enable nginx sudo systemctl reload nginx echo "" echo "=== Setup completado ===" echo "Próximos pasos:" echo "1. Apunta los DNS de carlospalanca.es y ai.carlospalanca.es a esta IP" echo "2. Ejecuta: sudo certbot --nginx -d carlospalanca.es -d www.carlospalanca.es -d ai.carlospalanca.es" echo "3. Copia vps/docker-compose.openwebui.yml a /opt/openwebui/" echo "4. Crea /opt/openwebui/.env con tus API keys" echo "5. Ejecuta: cd /opt/openwebui && docker compose -f docker-compose.openwebui.yml up -d" echo "6. Añade los GitHub Secrets en el repositorio:" echo " - VPS_SSH_PRIVATE_KEY" echo " - VPS_HOST (IP del VPS)" echo " - VPS_USER (deploy)"