Cómo instalar Lockstep en Docker - Gestor compartido de contraseñas y secretos autohospedado en Docker

Lockstep | Password Vault | Docker

Lockstep: Gestor ligero de contraseñas compartidas autohospedado en Docker para equipos

Bóveda de secretos compartidos para equipos. Multi-usuario. Autenticación segura. Almacenamiento persistente. JSON config. Responsive. Ultra-ligero. Docker. Go open source.

¿Qué es Lockstep?



Lockstep es una herramienta minimalista y ligera para gestionar contraseñas y secretos compartidos entre equipos de forma segura, diseñada para homelab y DevOps que necesitan una solución simple sin la complejidad de un password manager completo. A diferencia de Vaultwarden (que es un password manager completo), Lockstep es específicamente para secretos compartidos a nivel equipo.

Propuesta clave: Bóveda centralizada de secretos. Multi-usuario con control de acceso. Configuración basada en JSON para fácil setup. Almacenamiento persistente en archivo. Ultra-ligero (escritura en Go). Respuesta rápida. Auditoría básica. Interfaz web simple. Perfect para equipos pequeños/medianos. No requiere BD compleja.

Características principales: Almacenamiento de secretos compartidos (contraseñas, API keys, tokens, etc). Multi-usuario con roles (admin, miembro). Auditoría básica (quién accedió qué, cuándo). Autenticación segura (hash contraseñas). Almacenamiento persistente JSON. Interfaz web responsive (desktop, tablet, móvil). Dark mode. Healthcheck integrado. Docker one-liner deployment. Soporte WebSocket para HTTPS. Configuración vía archivo PSC_SETTINGS_FILE. Escalable (adiciona usuarios editando JSON). Acceso control granular. Generador de contraseñas básico. Fast search. Go binary (ligero, rápido). Open source. Sin dependencias externas complejas.

Para equipos DevOps/SRE: Secretos compartidos sin complejidad. Ligero. Rápido. Self-hosted. Control total.

Características principales

Bóveda de secretos compartidos

Contraseñas, API keys, tokens, credenciales. Centralizado.

Multi-usuario con roles

Admin, miembros. Control acceso granular.

Auditoría básica

Quién accedió qué secreto, cuándo. Trazabilidad.

Almacenamiento persistente

JSON archivo. Simple. Backup fácil.

Interfaz web responsive

Desktop, tablet, móvil. Dark mode. UI moderna.

Configuración JSON

PSC_SETTINGS_FILE. Setup simple. Fácil manage.

WebSocket soporte

Compatible HTTPS reverse proxy. Real-time updates.

Healthcheck Docker

TCP healthcheck integrado. Orchestration-ready.

Ultra-ligero

Go binary. 50-100MB RAM. Fast startup.

Open source

Código disponible. Auditable. Sin telemetría.

Requisitos del sistema

  • Docker
  • 50-100 MB RAM mínimo (ultra-ligero)
  • 100 MB espacio disco (para imagen + storage)
  • Puerto 4174 o custom (configurable)
  • Volumen persistente para almacenamiento JSON
  • Navegador moderno
Perfecto para homelab: Muy ligero. Setup 60 segundos. Sin dependencias complejas.

Instalación con Docker

Opción 1: Docker Compose (recomendado)

cat > docker-compose.yml << 'EOF' version: '3.8' services: lockstep: image: ghcr.io/caglaryalcin/lockstep:latest container_name: lockstep restart: unless-stopped ports: - "4174:4174" volumes: - ./data:/data environment: - PORT=4174 - PSC_SETTINGS_FILE=/data/lockstep-users.json healthcheck: test: ["CMD-SHELL", "nc -z 127.0.0.1 4174 || exit 1"] interval: 10s timeout: 5s retries: 3 start_period: 30s EOF docker compose up -d

Opción 2: Docker run simple

mkdir -p ./lockstep-data docker run -d \ --name lockstep \ --restart unless-stopped \ -p 4174:4174 \ -v ./lockstep-data:/data \ -e PORT=4174 \ -e PSC_SETTINGS_FILE=/data/lockstep-users.json \ ghcr.io/caglaryalcin/lockstep:latest

Acceder (primer login)

http://localhost:4174 - Dashboard Lockstep

Verificar estado

docker logs lockstep docker exec lockstep nc -z 127.0.0.1 4174 && echo "Healthy" || echo "Down"

Primeros pasos

1. Acceder por primera vez

  1. Abre http://localhost:4174
  2. Verás interfaz de Lockstep
  3. Archivo lockstep-users.json se crea automáticamente en /data/

2. Configurar usuario admin (editar JSON)

  1. Ve a carpeta de datos: ./lockstep-data/
  2. Abre lockstep-users.json (o se crea vacío)
  3. Ejemplo estructura básica:
{ "users": [ { "username": "admin", "password": "change_me_securely_hash", "role": "admin" } ], "secrets": [] }

3. Generar hash de contraseña

Nota: Lockstep hashea contraseñas. Genera hash con bcrypt online tool o en terminal:

docker exec lockstep sh -c 'echo "tu_password" | openssl dgst -sha256' # O usar tool bcrypt online

4. Agregar secreto (manualmente o vía UI)

Vía UI (más simple):

  1. Dashboard → "Add Secret"
  2. Nombre: "DB Password"
  3. Valor: "tu_contraseña_secreta"
  4. Categoría/Tags (opcional)
  5. Save

5. Agregar usuario miembro

  1. Edita lockstep-users.json
  2. Agrega nuevo usuario a array "users"
  3. Restart container: docker restart lockstep
  4. Usuario puede login

6. Buscar secreto rápidamente

  1. Dashboard → Search bar
  2. Escribe nombre secreto
  3. Resultados instant

7. Copiar secreto al clipboard

  1. Click en secreto → "Copy"
  2. Se copia al clipboard (seguro, auto-clear después segundos)
  3. Pega donde necesites

8. Ver auditoría (quién accedió qué)

  1. Dashboard → Audit Log (si disponible)
  2. Verás: usuario, secreto, timestamp, acción
  3. Trazabilidad completa

9. Cambiar tema (Dark mode)

  1. Settings (si disponible) → Theme
  2. Toggle Dark/Light
  3. Preferencia guardada

10. Backup datos

cp -r ./lockstep-data ./lockstep-data-backup-$(date +%Y%m%d)

Casos de uso

  • Equipos DevOps/SRE: Secretos compartidos (API keys, DB passwords, SSH keys) sin servicios cloud.
  • Pequeños equipos (startup): Credential sharing simple sin complejidad de password manager.
  • Homelab/Self-hosted: Gestor secretos personal para múltiples servicios caseros.
  • Integración en pipelines CI/CD: Almacena secrets para CI/CD, acceso vía API (si future).
  • Migración desde servicios cloud: Reemplaza Dashlane/1Password team sin pagar suscripción.

HTTPS con Caddy (producción)

Caddyfile

secrets.tudominio.com { reverse_proxy localhost:4174 }

Acceso remoto seguro

https://secrets.tudominio.com con HTTPS automático

IMPORTANTE: WebSocket requerido

Asegúrate que Caddy soporta WebSocket (default sí). Para mayor compatibilidad:

secrets.tudominio.com { reverse_proxy localhost:4174 { header_up Connection "Upgrade" header_up Upgrade "websocket" } }

Gestión y mantenimiento

Ver logs en tiempo real

docker logs -f lockstep

Backup de datos (IMPORTANTE)

cp -r ./lockstep-data ./lockstep-data-backup-$(date +%Y%m%d-%H%M%S) # Respalda también archivo JSON de usuarios

Restore de backup

docker stop lockstep rm -rf ./lockstep-data cp -r ./lockstep-data-backup-YYYYMMDD-hhmmss ./lockstep-data docker start lockstep

Reiniciar container

docker restart lockstep

Actualizar a versión más reciente

docker compose pull docker compose up -d # O con docker run, re-pull la imagen docker pull ghcr.io/caglaryalcin/lockstep:latest

Monitorear consumo (ultra-ligero)

docker stats lockstep # Típicamente: <100mb bajo="" cpu="" ram="" span="">

Editar configuración usuarios (sin restart)

# Edita lockstep-users.json directamente nano ./lockstep-data/lockstep-users.json # Restart para cambios efectivos docker restart lockstep

Comparativa con alternativas

vs Vaultwarden (Password Manager completo)

Lockstep gana: Más ligero, simpler, para secretos compartidos. Vaultwarden gana: Full password manager, sincroniza entre devices, más features.

vs Vault (HashiCorp)

Lockstep gana: Trivial setup, ligero. Vault gana: Enterprise, audit advanced, dynamic secrets, integrations.

vs 1Password/LastPass (SaaS)

Lockstep gana: Gratis, self-hosted, sin suscripción. SaaS gana: Managed, actualizaciones automáticas, premium features.

Mejor para: Equipos que necesitan bóveda de secretos compartidos ligera. DevOps. Self-hosted. Sin complejidad. Gratis.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.