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 base de datos, creación de cuenta de administrador, actualizaciones de permisos, etc.). Es un mecanismo excepcional, destinado únicamente a evitar migraciones simultáneas entre réplicas o cuando una tarea de implementación específica se encarga de la inicialización. En los demás casos, incluso durante las actualizaciones, ejecute INIT, ya que puede realizar las migraciones necesarias o la configuración específica de la versión.
  • INIT_ADMIN: si se establece (en true o cualquier otro valor que no esté vacío), fuerza la creación de la cuenta de administrador durante la inicialización.
  • 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).

Durante la ejecución​

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


🔐 Gestión de secretos​

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

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 de Sync-in Docker, así como muchas imágenes oficiales (MySQL, PostgreSQL...), adopta y soporta 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.