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.
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.
# Set the hostname (replace with your actual domain)
sudo hostnamectl set-hostname panel.example.comLuego actualiza /etc/hosts para que el servidor pueda resolver su propio nombre de host:
# Add this line (use your server's public IP)
203.0.113.10 panel.example.comVerifica que el nombre de host esté establecido:
hostname -f
# Should output: panel.example.comConfigurar DNS
En tu proveedor DNS (Cloudflare, Namecheap, Route 53, etc.), crea dos registros A apuntando a la dirección IP de tu servidor:
| Tipo | Nombre | Valor | Propósito |
|---|---|---|---|
| A | panel.example.com | La IP de tu servidor | Panel de control de sh0 |
| A (wildcard) | *.example.com | La IP de tu servidor | Las aplicaciones desplegadas obtienen subdominios automáticos |
*.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:
sh0 serve --panel-domain panel.example.com --base-domain example.comEn la primera ejecución, sh0 hará lo siguiente:
- Detectar e instalar Docker Engine si falta
- Detectar e instalar Caddy (proxy inverso) si falta
- Inicializar la base de datos y generar claves de cifrado
- Iniciar el panel de control en el puerto 9000
- Aprovisionar certificados SSL vía Let's Encrypt
Qué instala sh0 automáticamente
Al ejecutarse como root en Linux, sh0 serve aprovisiona automáticamente estas dependencias si no están presentes:
| Dependencia | Método de instalación | Propósito |
|---|---|---|
| Docker Engine | get.docker.com | Entorno de ejecución de contenedores para aplicaciones desplegadas |
| Caddy | Repositorio APT oficial o descarga de binario | Proxy inverso con SSL automático |
También puedes ejecutar las verificaciones de aprovisionamiento sin iniciar el servidor:
sh0 setup