Referencia

Ajustes de las imágenes

Ambas imágenes se configuran mediante variables de entorno. Los nombres de la API usan un doble guion bajo entre niveles, como Smtp__Host. Un ajuste que se omite conserva su valor por defecto. Los kits de inicio de Alojamiento con Docker, Alojamiento en Kubernetes y Alojamiento en AKS ya definen todo lo que necesita una instalación normal; esta página sirve para cambiar alguno, o para una instalación propia (Ejecutar las imágenes).

API: bases de datos

AjusteQué hace
ConnectionStrings__DefaultConnectionLa base de datos donde viven los datos del espacio de trabajo por defecto, como Host=postgres;Database=omnicore-db;Username=archestack;Password=.... Obligatorio.
ConnectionStrings__CoreLos metadatos del espacio de trabajo por defecto: entidades, páginas, scripts. Base de datos omnicore-core. Obligatorio.
ConnectionStrings__IdentityUsuarios, espacios de trabajo y claves, compartidos por todos los espacios de trabajo. Base de datos omnicore-identity. Obligatorio.
ConnectionStrings__KeycloakSolo al traer usuarios desde Keycloak. Si no, déjalo vacío.
ConnectionStrings__ClusterCómo se avisan entre sí de los cambios varias instancias de la API. Por defecto, la base de datos de identidad; apúntalo al propio PostgreSQL cuando haya en medio un pooler de conexiones como PgBouncer.
Database__CreateMissingtrue crea la base de datos de datos cuando falta; las otras dos se crean en cualquier caso. Por defecto false; los kits ponen true.

El usuario de estas cadenas necesita permiso para crear bases de datos: cada espacio de trabajo nuevo recibe dos propias, con nombres basados en los nombres base de arriba.

API: direcciones

AjusteQué hace
ASPNETCORE_URLSDónde escucha la API dentro del contenedor: http://+:8080.
ASPNETCORE_ENVIRONMENTSiempre Production. Cualquier otro valor muestra detalles de los errores a cualquiera.
Http__PathBaseLa ruta bajo la que se sirve la API, como /archestack. Vacío en la raíz.
Identity__AppBaseUrlLa dirección del builder, como https://apps.example.com/archestack. Los enlaces de las invitaciones y de restablecimiento de contraseña apuntan aquí.
ForwardedHeaders__TrustedProxiesLas direcciones de los proxies de delante, cuyo X-Forwarded-For se da por bueno. El valor por defecto cubre las redes privadas; sin el correcto, todos los visitantes parecen el proxy y comparten un único límite de peticiones.
Tenancy__HostSuffixSirve cada espacio de trabajo en un nombre de host propio, <label>.<suffix>, y permite a los espacios de trabajo añadir dominios propios. Vacío por defecto.

API: inicio de sesión

AjusteQué hace
Identity__ProviderBuiltin: Archestack inicia la sesión de las personas por sí mismo. Por defecto.
Identity__InitialAdminEmail, Identity__InitialAdminPasswordEl primer administrador, creado en el primer arranque cuando aún no hay ningún usuario. Se usa una vez: cambia después la contraseña en Archestack. Omite ambos para crear el administrador en el builder.
Identity__AllowCompanySignuptrue permite a cualquiera crear una empresa propia en /register. Por defecto false. Los administradores de una empresa pueden ejecutar scripts en el servidor, así que déjalo desactivado salvo que ofrezcas un servicio público.
Identity__AccessTokenMinutesCuánto dura un token de inicio de sesión antes de renovarse. Por defecto 15.
Identity__RefreshTokenDaysCuánto tiempo sigue alguien con la sesión iniciada sin usar Archestack. Por defecto 30.
Identity__MinimumPasswordLengthPor defecto 8.
Identity__MaxFailedLogins, Identity__LockoutMinutesTras este número de contraseñas incorrectas, una cuenta queda bloqueada durante este tiempo. Por defecto 10 y 15.

API: correo

AjusteQué hace
Smtp__Host, Smtp__Port, Smtp__UseSslEl servidor de correo para las invitaciones y los restablecimientos de contraseña. Puerto 587 y SSL por defecto. Sin host, el administrador que envía una invitación recibe el enlace para hacerlo llegar.
Smtp__Username, Smtp__PasswordLas credenciales del servidor de correo.
Smtp__From, Smtp__FromNameEl remitente que muestran esos correos.

El correo que envían las aplicaciones pasa por las cuentas de correo que cada espacio de trabajo configura en su builder.

API: archivos y copias de seguridad

AjusteQué hace
Files__DirectoryDónde van los archivos subidos y los archivos de los espacios de trabajo, como /files. Pon un volumen ahí: en un contenedor sin él, los archivos se pierden en la siguiente actualización.
Files__MaxFileBytesEl archivo individual más grande. Por defecto 100 MB.
Files__MaxWorkspaceBytesCuánto puede guardar un espacio de trabajo. Por defecto 0, sin límite.
Backup__DirectoryDónde van las copias de seguridad, como /backups. También un volumen, y copia lo que llegue ahí a otro sitio.
Backup__RetentionDaysCuánto tiempo se conservan las copias de seguridad. Por defecto 30.
Backup__CronScheduleCuándo se ejecuta la copia de seguridad nocturna, como cron de Quartz. Por defecto 0 0 3 * * ?, a las 03:00.

API: escala y límites

AjusteQué hace
Realtime__EntityChangesfalse hace que las pantallas dejen de refrescarse cuando un registro cambia en otro sitio. Por defecto true. Desactivado, una instalación sirve a muchas más personas a la vez; consulta Capacidad y dimensionamiento.
Cluster__EnabledPermite que varias instancias de la API trabajen como una sola. Por defecto true; déjalo activado.
RateLimiting__EnabledLímites de peticiones por llamante. Por defecto true. Los límites se aplican por instancia de la API.
RateLimiting__PermitsPerMinutePeticiones que una persona puede hacer por minuto. Por defecto 2000.
RateLimiting__AuthPermitsPerMinuteIntentos de inicio de sesión por minuto desde una misma dirección. Por defecto 20.
RateLimiting__PublicPagePermitsPerMinuteLo que un visitante sin cuenta puede pedir a las páginas públicas por minuto. Por defecto 240.
Scripting__TypedData__EnabledLas business entities como conjuntos tipados en los scripts (Db.Order). Por defecto true.

API: claves

AjusteQué hace
DataProtection__CertificatePath, DataProtection__CertificatePasswordUn certificado que protege las claves con las que se cifran las contraseñas guardadas. Sin él, esas claves están sin proteger en la base de datos de identidad, así que una copia de esa base de datos contiene ambas mitades.
Push__VapidPublicKey, Push__VapidPrivateKey, Push__SubjectUn único par de claves para las notificaciones del navegador en todos los espacios de trabajo. Si se omite, cada espacio de trabajo crea el suyo. No lo cambies nunca una vez que las personas hayan permitido las notificaciones: sus suscripciones dejan de funcionar.

API: monitorización

AjusteQué hace
Observability__EnabledEnvía trazas, métricas y logs por OpenTelemetry. Por defecto false.
Observability__OtlpEndpointAdónde, como http://otel-collector:4317.
Observability__Instance, Observability__EnvironmentDan nombre a esta instalación en los dashboards.

La imagen web

AjusteQué hace
VITE_API_URLLa dirección de la API tal como la alcanza el navegador, como https://api.example.com. Vacío cuando la API está en la misma dirección bajo /api.
BASE_PATHLa ruta bajo la que se sirve la imagen, como /archestack. Vacío en la raíz.
VITE_UI_MODEdashboard muestra el builder en / y la aplicación publicada bajo /app. kiosk muestra la aplicación publicada en /, para una dirección que es solo la aplicación.
VITE_DASHBOARD_URLCon kiosk, la dirección del builder cuando está en otro nombre de host.
VITE_APP_URLCon dashboard, la dirección de la aplicación publicada cuando está en otro nombre de host.
API_INTERNAL_URLLa dirección de la API dentro de la red, como http://api:8080. De ella salen las vistas previas de enlaces en las aplicaciones de chat y las páginas que leen los buscadores. En Kubernetes, escribe el nombre completo del servicio, http://<service>.<namespace>.svc.cluster.local:8080.

La imagen de PostgreSQL

AjusteQué hace
POSTGRES_USER, POSTGRES_PASSWORDEl usuario con el que se conecta la API. La contraseña se fija cuando PostgreSQL arranca por primera vez sobre un disco vacío; cambiar la variable después no la cambia en la base de datos.
POSTGRES_DBpostgres. La API crea sus propias bases de datos.
PGDATASolo en un disco nuevo cuya raíz contiene lost+found, como en Kubernetes: una carpeta por debajo del punto de montaje, como /var/lib/postgresql/data/pgdata.

Da al contenedor 1 GB de memoria compartida, como explica Ejecutar las imágenes.