Guía de instalación
Instala ZetiSecret en tu propia infraestructura. La instalación completa tarda menos de 10 minutos con Docker. No se requiere experiencia previa en administración de sistemas.
Requisitos
| Requisito | Versión mínima | Notas |
|---|---|---|
| Docker | 24.x | Docker Desktop en Windows/macOS; Docker Engine en Linux |
| Docker Compose | v2.x | Incluido en Docker Desktop |
| RAM | 512 MB libres | 1 GB recomendado en producción |
| Disco | 2 GB libres | Para imágenes Docker y datos de PostgreSQL |
| Puerto | 8090 (local) | Configurable; 443 en producción con TLS |
Windows (Docker Desktop)
La forma más sencilla de instalar ZetiSecret en Windows es usando Docker Desktop.
1. Instalar Docker Desktop
-
Descarga Docker Desktop desde docker.com/products/docker-desktop.
-
Ejecuta el instalador y acepta los valores por defecto. Reinicia el PC cuando se te pida.
-
Abre Docker Desktop y espera a que el icono de la ballena en la barra de tareas se ponga en verde (puede tardar 1-2 minutos la primera vez).
-
Verifica la instalación abriendo PowerShell:
docker --version docker compose version
Deberías verDocker version 27.xyDocker Compose version v2.x.
2. Descargar ZetiSecret
Opción A — Con Git (recomendado):
git clone https://github.com/rmedinag/ZetiSecret.git cd ZetiSecret
Opción B — Sin Git:
- Ve a github.com/rmedinag/ZetiSecret
- Haz clic en Code → Download ZIP
- Descomprime el ZIP y abre PowerShell en esa carpeta
3. Arrancar la aplicación
No necesitas configurar nada antes de arrancar. El asistente de instalación se encarga de todo.
docker compose -f compose.local.yml up --build
La primera vez descarga las imágenes y compila la aplicación (2-3 minutos). Cuando veas esto, está listo:
zetisecret-app-1 | [install] No configuration found. Visit /install to set up.
zetisecret-app-1 | {"level":"info","msg":"Server listening on 0.0.0.0:8090"}
Para arrancar en segundo plano:
docker compose -f compose.local.yml up --build -d
4. Asistente de instalación
Abre http://localhost:8090 — serás redirigido automáticamente al asistente en /install. Desde ahí podrás configurar la base de datos, SMTP y otros ajustes.
Linux / macOS
El proceso es idéntico al de Windows. Solo varía cómo se instala Docker:
- macOS: descarga Docker Desktop para Mac (Intel o Apple Silicon).
- Linux (Ubuntu/Debian):
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER # reinicia sesión después
A partir de ahí, los comandos docker compose son los mismos que en Windows.
Cloud / VPS (producción)
Para despliegues en producción recomendamos un VPS Linux (Ubuntu 22.04 LTS o superior) con al menos 1 GB de RAM.
-
Instala Docker Engine en el VPS:
curl -fsSL https://get.docker.com | sh
-
Clona el repositorio y configura las variables de entorno en un fichero
.env. -
Arranca con el compose de producción:
docker compose up --build -d
-
Apunta tu dominio al IP del servidor y configura TLS. ZetiSecret incluye soporte para certificados Let's Encrypt a través de Caddy o puedes usar un proxy inverso como Nginx.
-
Abre el asistente en
https://tu-dominio.com/instally completa la configuración.
Variables de entorno
ZetiSecret se configura mediante variables de entorno o a través del asistente web. Las principales:
| Variable | Descripción | Ejemplo |
|---|---|---|
DATABASE_URL |
Cadena de conexión PostgreSQL | postgresql://user:pass@db:5432/zetisecret |
PUBLIC_APP_URL |
URL pública de la app (para links en emails) | https://secrets.miempresa.com |
SMTP_HOST |
Servidor SMTP para envío de emails | smtp.resend.com |
SMTP_PORT |
Puerto SMTP | 465 |
SMTP_USER |
Usuario SMTP | resend |
SMTP_PASS |
Contraseña SMTP | (secreto) |
SMTP_FROM |
Dirección de remitente | noreply@miempresa.com |
PORT |
Puerto de escucha del servidor | 8090 |
MAX_FAILED_ATTEMPTS |
Intentos fallidos antes de bloquear passphrase | 5 |
PASSPHRASE_LOCK_MINUTES |
Duración del bloqueo en minutos | 15 |
Actualización
Para actualizar a la última versión:
git pull origin main docker compose -f compose.local.yml up --build -d
Las migraciones de base de datos se ejecutan automáticamente al arrancar el contenedor.
Soporte
- Issues en GitHub: github.com/rmedinag/ZetiSecret/issues
- Email: soporte@zetit.es — respondemos en menos de 48 h en días laborables
- Soporte enterprise (SLA, instalación asistida, personalizaciones): contáctanos