Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

physalis

Gestor de secretos auto-alojado para equipos pequeños y desarrolladores, construido con Next.js 15, TypeScript y PostgreSQL. Centraliza variables de entorno, claves API y tokens en un almacén cifrado con AES-256-GCM, soporta autenticación OIDC (GitHub, GitLab, Bitbucket) para despliegues sin secreto

Ficha actualizada 26 sept 2026, 16:22 · upstream 26 sept 2026, 16:08 · release v1.6.1

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es physalis

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Physalis resuelve el problema de la dispersión de credenciales en archivos .env locales, GitHub Secrets y notas personales al ofrecer una plataforma unificada para gestionar secretos de múltiples proyectos y organizaciones. La arquitectura se basa en Next.js 15 con App Router, TypeScript y Prisma conectándose a PostgreSQL 16, garantizando tipado fuerte y migraciones declarativas. El sistema cifra todos los datos en reposo usando AES-256-GCM, donde la clave de cifrado solo existe en las variables de entorno del contenedor, no en la base de datos ni en el código fuente.

La plataforma soporta autenticación OIDC para flujos de CI/CD modernos, permitiendo que los runners de GitHub Actions, GitLab CI o Bitbucket Pipelines obtengan tokens firmados sin almacenar secretos en los repositorios. También ofrece modos alternativos como tokens Bearer para contextos legacy y scripts locales, junto con soporte para doble autenticación TOTP y gestión granular de permisos a tres niveles: organización, proyecto y entorno.

El sistema incluye resistencia post-cuántica híbrida mediante ECDH P-256 + ML-KEM-768 (FIPS 203) para futuras actualizaciones criptográficas. Los logs de auditoría completos con actor, IP y horodatado permiten cumplir con requisitos de compliance sin depender de servicios cloud externos.

CASOS DE USO
  • Centralizar variables de entorno de múltiples proyectos en una única interfaz web segura para desarrolladores
  • Autenticar despliegues CI/CD mediante OIDC sin almacenar tokens o claves API en GitHub Secrets
  • Gestionar credenciales de servidores SSH y registros Docker cifrados para automatizar despliegues remotos
  • Auditoría completa de accesos a secretos con logs persistentes exportables en CSV por organización o proyecto
PUNTOS DESTACADOS
  • Cifrado AES-256-GCM en reposo con clave de cifrado externa (no en DB ni código), minimizando riesgos de exposición
  • Autenticación OIDC integrada para GitHub Actions, GitLab CI y Bitbucket Pipelines sin secretos en repositorios
  • Soporte nativo para resistencia post-cuántica híbrida mediante ECDH P-256 + ML-KEM-768 (FIPS 203)
  • Gestión granular de permisos a tres niveles con roles diferenciados y revocación automática al salir un miembro
  • Logs de auditoría completos con actor, IP y horodatado para cada acción sobre secretos o despliegues
PRECAUCIONES
  • No incluye scripts ni mecanismos automáticos de backup, réplica o failover; la responsabilidad recae en el usuario
  • El puerto por defecto se publica solo en 127.0.0.1; requiere reverse proxy o configuración BIND_IP para acceso externo
  • La pérdida definitiva de ENCRYPTION_KEY hace irrecoverables los secretos incluso con dump de base de datos
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Requiere reverse proxy (nginx, Caddy, Traefik) con TLS terminado en producción. Configurar ENCRYPTION_KEY y AUTH_SECRET mediante openssl antes del primer inicio. Usar docker-compose.yml para despliegue estándar o docker-compose.build.yml para construcción desde fuentes. Verificar migraciones Prisma y crear admin inicial con ADMIN_EMAIL/ADMIN_PASSWORD. Publicar puerto solo si se configura BIND_IP con dirección privada preferiblemente; 0.0.0.0 como último recurso tras revisar reglas DOCKER-USER del firewall.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsReactNode.js
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
30013000
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.