Instalación
Esta guía te acompaña en el despliegue de solyto en tu propio servidor usando Docker.
Requisitos previos
Sección titulada «Requisitos previos»Antes de empezar, asegúrate de tener:
- Un servidor (VPS, dedicado o doméstico) con al menos 2 GB de RAM y 10 GB de almacenamiento
- Docker y Docker Compose instalados
- Tres nombres de dominio (o subdominios) apuntando a la IP de tu servidor:
app.example.com— el frontendapi.example.com— la APIdav.example.com— CalDAV/CardDAV
- Una dirección de correo válida para los certificados TLS de Let’s Encrypt
- Los puertos 80 y 443 abiertos en tu cortafuegos
Configuración DNS
Sección titulada «Configuración DNS»Apunta tus tres nombres de dominio a la IP pública de tu servidor:
app.example.com A your.server.ipapi.example.com A your.server.ipdav.example.com A your.server.ipEspera a que se propague el DNS antes de continuar (normalmente unos minutos, hasta 24 horas).
Instalación en un paso
Sección titulada «Instalación en un paso»La forma más rápida de instalar solyto es con el script de configuración:
curl -fsSL "https://raw.githubusercontent.com/solyto/selfhosted/main/setup.sh?$(date +%s)" | bashEl script de configuración hará lo siguiente:
- Clonar el repositorio selfhosted
- Crear los directorios necesarios (
storage/,bootstrap/cache/, etc.) - Preguntarte de forma interactiva por:
- API_DOMAIN — p. ej.
api.example.com - APP_DOMAIN — p. ej.
app.example.com - DAV_DOMAIN — p. ej.
dav.example.com - ACME_EMAIL — tu correo para Let’s Encrypt
- API_DOMAIN — p. ej.
- Generar todos los secretos necesarios (contraseñas de base de datos, clave de aplicación, etc.)
- Escribir todo en
.envy./secrets/
Cuando el script termine, inicia los servicios:
cd selfhosteddocker compose up -dInstalación manual
Sección titulada «Instalación manual»Si prefieres hacerlo todo manualmente:
1. Clona el repositorio
Sección titulada «1. Clona el repositorio»git clone https://github.com/solyto/selfhosted.gitcd selfhosted2. Crea los directorios
Sección titulada «2. Crea los directorios»mkdir -p storage/app/publicmkdir -p storage/framework/cachemkdir -p storage/framework/sessionsmkdir -p storage/framework/viewsmkdir -p storage/logsmkdir -p bootstrap/cachechown -R www-data:www-data storage/3. Configura el entorno
Sección titulada «3. Configura el entorno»Copia el archivo de entorno de ejemplo y edítalo:
cp .env.example .envEdita .env con tus nombres de dominio, zona horaria y preferencias. Consulta Configuración para ver todas las opciones disponibles.
4. Genera los secretos
Sección titulada «4. Genera los secretos»Crea el directorio ./secrets/ y genera los archivos de secretos necesarios:
mkdir -p secrets
# Clave de aplicaciónecho "base64:$(openssl rand -base64 32)" > secrets/app_key
# MariaDBecho "solyto" > secrets/db_useropenssl rand -hex 32 > secrets/db_passwordecho "solyto" > secrets/mariadb_useropenssl rand -hex 32 > secrets/mariadb_passwordopenssl rand -hex 32 > secrets/mariadb_root_password
# PostgreSQL (DAV)echo "solyto_dav" > secrets/dav_db_useropenssl rand -hex 32 > secrets/dav_db_passwordopenssl rand -hex 32 > secrets/postgres_root_password
# Secretos opcionales (crea archivos vacíos)touch secrets/solyto_bot_webhook_tokentouch secrets/solyto_bot_telegram_tokentouch secrets/hardcover_api_keytouch secrets/ai_api_keytouch secrets/mailgun_secrettouch secrets/vapid_public_keytouch secrets/vapid_private_keytouch secrets/bgg_api_keytouch secrets/tmdb_access_tokentouch secrets/imgproxy_keytouch secrets/imgproxy_saltConsulta Secretos de Docker para más detalles sobre cada secreto.
5. Inicia los servicios
Sección titulada «5. Inicia los servicios»docker compose up -dVerifica la instalación
Sección titulada «Verifica la instalación»Comprueba el estado de los contenedores
Sección titulada «Comprueba el estado de los contenedores»docker compose psTodos los servicios deberían mostrar el estado Up o Up (healthy).
Comprueba el endpoint de salud de la API
Sección titulada «Comprueba el endpoint de salud de la API»curl -s https://api.example.com/api/v1/healthUna respuesta correcta significa que la API está en funcionamiento y conectada a la base de datos.
Accede a la aplicación
Sección titulada «Accede a la aplicación»Abre https://app.example.com en tu navegador. Deberías ver la página de inicio de sesión de solyto.
Crear tu primer usuario
Sección titulada «Crear tu primer usuario»La página de registro está disponible en https://app.example.com/auth/register — crea tu cuenta con un nombre visible, una dirección de correo y una contraseña (mínimo 12 caracteres).
Alternativamente, crea un usuario desde la línea de comandos:
docker exec -it <project>-api so users:createSustituye <project> por tu PROJECT_NAME (por defecto solyto). Si cambiaste el nombre del proyecto, ajusta el nombre del contenedor en consecuencia.
Próximos pasos
Sección titulada «Próximos pasos»- Configuración — ajusta tus variables de entorno
- Secretos de Docker — configura integraciones opcionales
- Actualización — cómo mantener solyto actualizado
Vídeo guía
Sección titulada «Vídeo guía»Un vídeo paso a paso del proceso de instalación está en preparación y se incrustará aquí.