| 1234567891011121314151617181920212223242526272829303132333435 |
- #!/bin/bash
- set -e
- # Variables esperadas:
- # SSH_HOST
- # SSH_USER
- # SSH_PASSWORD (solo para el primer copiado de la clave)
- # SSH_PORT (opcional, default 22)
- SSH_PORT=${SSH_PORT:-22}
- KEY_PATH="/root/.ssh/id_rsa"
- # Generar clave si no existe
- if [ ! -f "$KEY_PATH" ]; then
- echo "Generando clave SSH..."
- ssh-keygen -t rsa -b 4096 -f "$KEY_PATH" -N ""
- fi
- # Copiar clave pública al servidor remoto
- echo "Copiando clave pública al servidor remoto..."
- sshpass -p "$SSH_PASSWORD" ssh-copy-id \
- -p "$SSH_PORT" \
- -o StrictHostKeyChecking=no \
- "${SSH_USER}@${SSH_HOST}"
- echo "Clave copiada correctamente."
- # Probar conexión
- echo "Probando conexión SSH..."
- ssh -p "$SSH_PORT" "${SSH_USER}@${SSH_HOST}" "echo 'Conexión SSH exitosa'"
- exec uvicorn app.main:app --host 0.0.0.0 --port 8000
- # Mantener el contenedor vivo (opcional)
- exec "$@"
|