Files

OneTimeSecret

Servicio para compartir secretos de un solo uso, con Redis para persistencia temporal y autenticación OIDC mediante Authentik.

Arquitectura y propósito

OneTimeSecret cifra y entrega secretos temporales; Redis mantiene su estado. El navegador recibe el enlace, pero la política de acceso exige autenticación OIDC. El Compose usa AUTH_SSO_ONLY=true, desactiva altas y evita cuentas locales como vía habitual.

Configuración

  • OTS_SECRET alimenta las distintas claves criptográficas internas. Debe ser largo, aleatorio, estable y exclusivo de esta app.
  • OTS_DOMAIN debe coincidir con OIDC_REDIRECT_URI y con el cliente creado en Authentik.
  • OTS_OIDC_ISSUER, OTS_OIDC_CLIENT_ID y OTS_OIDC_CLIENT_SECRET enlazan el cliente OIDC.
  • OTS_DATA_PATH conserva datos de aplicación y OTS_REDIS_PATH el estado de Redis.
  • Las imágenes se fijan con OTS_IMAGE y OTS_REDIS_IMAGE para controlar actualizaciones.

Un secreto de un solo uso sigue siendo sensible mientras exista. Restringe backups, logs y acceso administrativo a Redis.

Requisitos

  • Docker Compose
  • Red externa proxy
  • Un archivo .env local con dominio, secreto principal, configuración OIDC, imágenes y rutas persistentes
  • Cliente OIDC con la URL de retorno https://<dominio>/auth/sso/oidc/callback

Despliegue

cd onetimesecret
docker compose --env-file .env config
docker compose --env-file .env up -d

Operación

docker compose --env-file .env ps
docker compose --env-file .env logs -f ots ots-redis

El alta local está deshabilitada y el acceso se fuerza mediante SSO.