Files
carlospalanca.es/vps/deploy.sh

49 lines
1.7 KiB
Bash

#!/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)"