Documentación / Primeros pasos / Configuración del servidor

Configuración del servidor

Antes de iniciar sh0, solo necesitas hacer dos cosas: establecer el nombre de host de tu servidor y apuntar tu DNS hacia él. sh0 se encarga de todo lo demás.

Comienza con un servidor limpio

sh0 está diseñado para instalarse en un servidor nuevo. Administra Docker, Caddy y todas las redes automáticamente. Usar un servidor limpio evita conflictos con servicios existentes en los puertos 80 y 443.

Note
No necesitas instalar Docker o Caddy manualmente. Cuando ejecutas sh0 serve como root, detecta las dependencias faltantes y las instala por ti.

Establecer el nombre de host

Establece el nombre de host de tu servidor para que coincida con el dominio que usarás para el panel de control de sh0. Esto garantiza que los certificados SSL y el enrutamiento del proxy inverso funcionen correctamente.

Terminal
# Set the hostname (replace with your actual domain)
sudo hostnamectl set-hostname panel.example.com

Luego actualiza /etc/hosts para que el servidor pueda resolver su propio nombre de host:

/etc/hosts
# Add this line (use your server's public IP)
203.0.113.10    panel.example.com

Verifica que el nombre de host esté establecido:

Terminal
hostname -f
# Should output: panel.example.com

Configurar DNS

En tu proveedor DNS (Cloudflare, Namecheap, Route 53, etc.), crea dos registros A apuntando a la dirección IP de tu servidor:

TipoNombreValorPropósito
Apanel.example.comLa IP de tu servidorPanel de control de sh0
A (wildcard)*.example.comLa IP de tu servidorLas aplicaciones desplegadas obtienen subdominios automáticos
DNS comodín
El registro comodín (*.example.com) permite que sh0 asigne automáticamente subdominios como myapp.example.com a cada aplicación desplegada. Sin él, necesitarás crear registros DNS individuales para cada aplicación.

Iniciar sh0

Una vez que tu nombre de host y DNS estén configurados, inicia sh0 con tu dominio:

Terminal
sh0 serve --panel-domain panel.example.com --base-domain example.com

En la primera ejecución, sh0 hará lo siguiente:

  1. Detectar e instalar Docker Engine si falta
  2. Detectar e instalar Caddy (proxy inverso) si falta
  3. Inicializar la base de datos y generar claves de cifrado
  4. Iniciar el panel de control en el puerto 9000
  5. Aprovisionar certificados SSL vía Let's Encrypt
Note
La propagación DNS puede tardar unos minutos. Si el aprovisionamiento SSL falla en el primer intento, espera un momento y reinicia sh0. Caddy reintentará automáticamente.

Qué instala sh0 automáticamente

Al ejecutarse como root en Linux, sh0 serve aprovisiona automáticamente estas dependencias si no están presentes:

DependenciaMétodo de instalaciónPropósito
Docker Engineget.docker.comEntorno de ejecución de contenedores para aplicaciones desplegadas
CaddyRepositorio APT oficial o descarga de binarioProxy inverso con SSL automático

También puedes ejecutar las verificaciones de aprovisionamiento sin iniciar el servidor:

Terminal
sh0 setup