Ir al contenido principal

Variables y secretos

Variables de entorno y secretos utilizados para configurar Sync-in.


🌱 Variables de entorno del servidor​

Durante la inicialización​

  • SKIP_INIT: omite el paso de inicialización (migración de la base de datos, creación de la cuenta de administrador, actualización de permisos, etc.). Esta opción excepcional debe utilizarse únicamente para evitar migraciones simultáneas entre réplicas o cuando una tarea de despliegue específica se encarga de la inicialización. En todos los demás casos, incluidas las actualizaciones, no active SKIP_INIT: la inicialización puede ser necesaria para aplicar las migraciones o la configuración específica de la versión.
  • INIT_ADMIN: Si se define, independientemente de su valor, crea la cuenta de administrador durante la inicialización si aún no existe.
  • INIT_ADMIN_LOGIN: Nombre de usuario de la cuenta de administrador que se creará durante la inicialización.
  • INIT_ADMIN_PASSWORD: Contraseña de la cuenta de administrador que se creará durante la inicialización.
  • PUID: Define el identificador de usuario (UID) utilizado por el contenedor (útil para permisos de archivos).
  • PGID: Define el identificador de grupo (GID) utilizado por el contenedor (útil para acceder a volúmenes compartidos).
  • FORCE_PERMISSIONS: si se establece en true, fuerza los permisos (PUID, PGID, directorios: 750, archivos: 640) de forma recursiva en el volumen /app/data.
  • SYNC_IN_HEALTHCHECK_URL: Define la URL consultada por la comprobación de estado desde dentro del contenedor. Por defecto es http://127.0.0.1:8080/healthz/ready. Sobrescríbala únicamente si cambia la dirección interna, el puerto interno o la ruta del servidor. No la cambie cuando solo cambie el puerto publicado en el host.

Al editar un archivo Docker Compose, prefiera la sintaxis de mapeo:

environment:
INIT_ADMIN: 'true'
INIT_ADMIN_LOGIN: 'sync-in-admin'
INIT_ADMIN_PASSWORD: 'contraseña robusta'

Sync-in elimina un par exterior coincidente de comillas simples o dobles de INIT_ADMIN_LOGIN y INIT_ADMIN_PASSWORD. Se conservan las comillas anidadas o no coincidentes.

información

Estas variables no están diseñadas para usarse con secretos.

Durante la ejecución​

Los parámetros escalares de configuración del servidor Sync-in se pueden definir mediante variables de entorno con el prefijo SYNCIN_; consulte la sección correspondiente.

Ruta de datos fija de Docker

El punto de entrada de Docker siempre establece SYNCIN_APPLICATIONS_FILES_DATAPATH=/app/data, sustituyendo cualquier valor proporcionado al contenedor. Configure la ubicación de almacenamiento mediante el volumen montado en /app/data. El ajuste dataPath sigue siendo necesario para instalaciones fuera de Docker.


🔐 Gestión de secretos​

Docker Secrets (especialmente en un entorno Swarm o Compose) permiten almacenar de forma segura datos confidenciales (como contraseñas, claves API...) montándolos en contenedores como archivos, generalmente en el directorio /run/secrets/<nombre_del_secreto>.

Por diseño, Docker nunca convierte directamente estos secretos en variables de entorno, para limitar el riesgo de fugas (por ejemplo, a través de docker inspect o variables de entorno accesibles dentro del proceso). La imagen Docker de Sync-in, al igual que muchas imágenes oficiales (MySQL, PostgreSQL...), adopta y admite esta convención *_FILE.

Por ejemplo, en lugar de definir directamente la variable de entorno SYNCIN_MYSQL_URL, se recomienda utilizar SYNCIN_MYSQL_URL_FILE=/run/secrets/mysql_password. El servidor Sync-in leerá el contenido del archivo especificado para inicializar la variable internamente.

Este enfoque garantiza una gestión segura de los secretos y al mismo tiempo mantiene la compatibilidad con los mecanismos de configuración existentes.

Para obtener más información, consulte la documentación oficial de Docker sobre la gestión de secretos.