49 lines
1.7 KiB
Bash
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)"
|