El primer paso del proyecto fue contratar y configurar un VPS real sobre el que desplegar toda la infraestructura. Para ello elegí IONOS, que ofrece planes económicos con IP fija y acceso root completo.
Especificaciones del servidor
- Proveedor: IONOS
- Sistema operativo: Debian 12
- Acceso: SSH por clave pública
- IP pública fija
Configuración inicial
Una vez contratado el VPS, el primer paso fue conectarse por SSH y actualizar el sistema:
ssh root@IP_DEL_VPS
apt update && apt upgrade -y
A continuación creé un usuario no root para evitar trabajar siempre como administrador:
adduser rubén
usermod -aG sudo rubén
Acceso por clave pública
Para reforzar la seguridad, desactivé el acceso por contraseña y configuré autenticación mediante clave pública. En el servidor:
mkdir ~/.ssh
nano ~/.ssh/authorized_keys
# Pegar aquí la clave pública
Y en el fichero /etc/ssh/sshd_config establecí:
PasswordAuthentication no
PermitRootLogin no
Tras reiniciar el servicio SSH, el acceso quedó restringido exclusivamente a clave pública, eliminando el riesgo de fuerza bruta sobre contraseñas.
Instalación de Docker
Toda la infraestructura corre sobre contenedores Docker, por lo que la instalación fue el siguiente paso:
apt install -y ca-certificates curl gnupg
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker.gpg
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Con esto el VPS quedó listo para alojar los contenedores del proyecto.