Cómo autoalojar Authentik en un VPS (Guía Completa)
Autoalojar aplicaciones se ha vuelto cada vez más popular entre desarrolladores y entusiastas de la tecnología. Authentik es un proveedor de identidad y herramienta de gestión de acceso de código abierto que simplifica la autenticación de usuarios para varias aplicaciones. Si deseas autoalojar Authentik en un VPS, esta guía te llevará a través de todo el proceso.
Requisitos Previos
Antes de comenzar, asegúrate de tener:
-
Un proveedor de VPS. Las opciones recomendadas incluyen:
- Contabo VPS - 5.99 EUR/mes
- Hetzner Cloud - 4.15 EUR/mes
- DigitalOcean - 6 USD/mes
- Vultr - 6 USD/mes
- Linode (Akamai Cloud) - 5 USD/mes Para comparar en detalle, consulta nuestra comparativa completa de VPS.
-
Un conocimiento básico de Docker y operaciones en la línea de comandos.
-
Un nombre de dominio apuntado a tu VPS (opcional, pero recomendado).
Paso 1: Configura Tu VPS
Una vez que hayas elegido un proveedor de VPS, sigue estos pasos para configurar tu entorno:
-
Elige un SO: La mayoría de las personas opta por Ubuntu Server (20.04 LTS o posterior) por su soporte comunitario y facilidad de uso.
-
Accede a tu VPS: Usa SSH para conectarte a tu servidor:
ssh root@tu-ip-vps -
Actualiza las Listas de Paquetes:
sudo apt update && sudo apt upgrade -y -
Instala Docker: Ejecuta los siguientes comandos para instalar Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install docker-ce -y -
Instala Docker Compose: Para facilitar la configuración de aplicaciones de múltiples contenedores, instala Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
Paso 2: Crea un Directorio para Authentik
Organiza tus archivos creando un directorio para Authentik:
mkdir -p ~/authentik
cd ~/authentik
Paso 3: Crea el Archivo Docker Compose
Necesitas crear un archivo docker-compose.yml para Authentik. Abre un editor de texto para crear este archivo:
nano docker-compose.yml
Inserta la siguiente configuración:
version: '3.7'
services:
authentik:
image: ghcr.io/goauthentik/server
restart: always
environment:
- DATABASE_URL=sqlite:authentik.db
- REDIS_URL=redis://redis:6379
volumes:
- ./authentik:/authentik
ports:
- "8000:9000"
redis:
image: redis:alpine
restart: always
Guarda y sal (en nano, usa CTRL + X, luego Y y Enter).
Paso 4: Inicia Authentik
Ejecuta el siguiente comando para iniciar Authentik:
docker-compose up -d
Para verificar si todo está funcionando, puedes listar tus contenedores en ejecución:
docker ps
Paso 5: Accede a Authentik
Navega a http://tu-ip-vps:8000 en tu navegador web. La pantalla de configuración de Authentik debería cargarse. Sigue las indicaciones para crear una cuenta administrativa.
Configurando Authentik
Después de configurar Authentik, querrás configurar varias fuentes de autenticación, conectores y una interfaz para los usuarios. Esta configuración dependerá de tus casos de uso específicos, así que consulta la documentación de Authentik para más detalles.
Opcional: Usar un Proxy Inverso
Configurar un proxy inverso con Nginx o Traefik es recomendable para uso en producción. Un proxy inverso puede ayudar con la terminación SSL y URLs más limpias. Aquí tienes un ejemplo básico de configuración para Nginx:
-
Instala Nginx:
sudo apt install nginx -y -
Configura Nginx para Authentik:
sudo nano /etc/nginx/sites-available/authentik
Agrega la siguiente configuración:
server {
listen 80;
server_name tu-dominio.com;
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
- Habilita la Configuración:
sudo ln -s /etc/nginx/sites-available/authentik /etc/nginx/sites-enabled/ sudo systemctl restart nginx
Preguntas Frecuentes
1. ¿Qué es Authentik y por qué debería autoalojarlo?
Authentik es un proveedor de identidad y solución de gestión de acceso de código abierto diseñado para agilizar la autenticación de usuarios en varias aplicaciones. Autoalojar Authentik te brinda el control total sobre tus datos, opciones de personalización y la capacidad de integrarlo sin problemas con tus aplicaciones existentes, asegurando que la privacidad de los datos de los usuarios se mantenga.
2. ¿Puedo instalar Authentik en un VPS con recursos limitados?
Sí, Authentik puede ejecutarse en un VPS con recursos limitados, especialmente cuando usas una configuración de Docker. Sin embargo, se recomienda tener al menos 1 GB de RAM y 1 núcleo de CPU para un rendimiento óptimo. Proveedores como Hetzner o Contabo ofrecen VPS a precios mensuales bajos, haciéndolos adecuados para instalaciones básicas.
3. ¿Cómo apoya Docker mi instalación de Authentik?
Usar Docker para instalar Authentik simplifica el proceso de implementación. Los contenedores de Docker encapsulan todas las dependencias y requisitos de tiempo de ejecución, asegurando que tu aplicación se ejecute uniformemente en diferentes entornos. Este enfoque facilita la gestión de actualizaciones y la escalabilidad de tu aplicación sin afectar el sistema subyacente.
Siguiendo esta guía, puedes configurar Authentik en tu VPS de manera rápida y eficiente. ¡Feliz autoalojamiento! Para más recursos, consulta r/selfhosted o el repositorio awesome-selfhosted para inspirarte en otras aplicaciones para ejecutar en tu servidor.