Ir al contenido

Configuración

Toda la configuración se realiza a través del archivo .env en la raíz del repositorio selfhosted. Los valores sensibles (contraseñas, claves de API) se almacenan como secretos de Docker en ./secrets/ — consulta Secretos de Docker para más detalles.

VariableDescripciónValor por defecto
PROJECT_NAMENombre del proyecto de Docker Composesolyto
SOLYTO_VERSIONEtiqueta de versión para las imágenes de solytolatest

Estos son los nombres de dominio que apuntan a tu servidor. Cada servicio tiene su propio (sub)dominio.

VariableDescripciónEjemplo
API_DOMAINDominio de la APIapi.example.com
APP_DOMAINDominio del frontendapp.example.com
DAV_DOMAINDominio de CalDAV/CardDAVdav.example.com
ACME_EMAILCorreo para las notificaciones de certificados de Let’s Encryptadmin@example.com
VariableDescripciónValor por defecto
APP_NAMENombre visible de la aplicaciónsolyto
APP_URLURL completa de la APIhttps://${API_DOMAIN}
FRONTEND_URLURL completa del frontendhttps://${APP_DOMAIN}
APP_ENVEntorno de la aplicaciónproduction
APP_DEBUGActiva el modo de depuraciónfalse
APP_TIMEZONEZona horaria por defecto de la aplicaciónUTC
VariableDescripciónValor por defecto
NODE_ENVEntorno de Node.jsproduction
PUBLIC_API_URLURL que usa el frontend para acceder a la APIhttps://${API_DOMAIN}
PUBLIC_DISABLE_DEV_REQUESTSOculta la sección de Dev Requeststrue
PUBLIC_REDIRECT_AFTER_LOGOUTURL a la que redirigir tras cerrar sesión${APP_URL}
PUBLIC_LEGAL_NOTICE_URLEnlace para el botón de aviso legal(vacío)
PUBLIC_PRIVACY_URLEnlace para el botón de política de privacidad(vacío)
PUBLIC_TERMS_URLEnlace para el botón de términos del servicio(vacío)

Configura PUBLIC_DISABLE_DEV_REQUESTS=true para ocultar el enlace de Dev Requests y deshabilitar la ruta por completo (valor por defecto en instancias autoalojadas, ya que las solicitudes no llegarían al equipo de solyto). Configura cualquiera de las variables PUBLIC_*_URL para mostrar un botón de aviso legal que enlace a tu propio aviso legal, política de privacidad o términos.

VariableDescripciónValor por defecto
MARIADB_VERSIONVersión de la imagen de MariaDB12
POSTGRES_VERSIONVersión de la imagen de PostgreSQL17
REDIS_VERSIONVersión de la imagen de Redis7.4.1
VariableDescripciónValor por defecto
DB_CONNECTIONControlador de base de datosmariadb
DB_HOSTNombre de host de MariaDBmariadb
DB_PORTPuerto de MariaDB3306
DB_DATABASENombre de la base de datosapi

Las credenciales (DB_USER, DB_PASSWORD) se leen de los secretos de Docker (db_user, db_password). La contraseña de root de MariaDB se lee de mariadb_root_password.

VariableDescripciónValor por defecto
DAV_DB_HOSTNombre de host de PostgreSQLpostgres
DAV_DB_PORTPuerto de PostgreSQL5432
DAV_DB_DATABASENombre de la base de datos DAVdav

Las credenciales se leen de los secretos de Docker (dav_db_user, dav_db_password). La contraseña de superusuario de PostgreSQL se lee de postgres_root_password.

VariableDescripciónValor por defecto
REDIS_CLIENTBiblioteca cliente de Redisphpredis
REDIS_HOSTNombre de host de Redisredis
REDIS_PORTPuerto de Redis6379
REDIS_PASSWORDContraseña de Redis(desde el secreto de Docker)
REDIS_PREFIXPrefijo de claves para esta instanciasolyto_
VariableDescripciónValor por defecto
TRUSTED_PROXIESIPs de proxy de confianza (necesario al usar un proxy inverso externo)(vacío)
VariableDescripciónValor por defecto
TIMEZONEZona horaria del servidorUTC

Esto afecta a los ajustes de zona horaria de PHP y del trabajador de colas.

VariableDescripciónValor por defecto
AI_BASE_URLURL base de la API compatible con OpenAI(vacío — valor por defecto de OpenAI)
AI_MODELModelo de IA por defectogpt-4o-mini

La clave de API se almacena en el secreto de Docker ai_api_key. Solo es necesaria si quieres usar las recomendaciones de biblioteca.

VariableDescripciónValor por defecto
MAILGUN_DOMAINDominio de Mailgun para el envío de correo(vacío)
MAIL_FROM_ADDRESSDirección de correo del remitentenoreply@example.com
MAIL_FROM_NAMENombre visible del remitentesolyto

El secreto de Mailgun se almacena en el secreto de Docker mailgun_secret.

VariableDescripciónValor por defecto
IMAGE_DRIVERBackend de procesamiento de imágenesintervention

Opciones:

  • intervention — usa la biblioteca PHP Intervention Image (por defecto, sin servicio adicional necesario)
  • imgproxy — usa el servicio independiente imgproxy para un mejor rendimiento con imágenes grandes

Cuando IMAGE_DRIVER=imgproxy, se inicia el contenedor imgproxy y las credenciales se leen de los secretos de Docker imgproxy_key y imgproxy_salt.

VariableDescripciónValor por defecto
TELEGRAM_DEBUG_CHAT_IDID de chat para las notificaciones de depuración(vacío)

Las credenciales del bot de Telegram se almacenan en secretos de Docker (solyto_bot_telegram_token, solyto_bot_webhook_token). Consulta Bot de Telegram para las instrucciones de configuración.

Después de editar .env, reinicia los servicios afectados:

Ventana de terminal
docker compose up -d

Docker Compose detecta los cambios en .env y recrea los contenedores con los nuevos valores.