Cómo instalar Clovalink en Docker - Enterprise file storage autohospedado

Clovalink | Enterprise File Storage | Multi-tenant | Rust | HIPAA/SOX/GDPR | S3/Wasabi | SSO/SAML | Docker | 267 stars

Clovalink en Docker: Enterprise file storage autohospedado Rust-powered multi-tenant con HIPAA/SOX/GDPR compliance, OIDC/SAML SSO, S3/Wasabi backends, file groups, document approval, security alerts, extensible architecture, 90% cheaper Box/Dropbox alternative, 267 stars, MIT open source, production-ready 💾🔒

Clovalink es una plataforma enterprise file storage completamente autohospedada construida en Rust + React. Alternativa profesional a Box ($20/user/mes), Dropbox ($18/user/mes), SharePoint. Multi-tenant con aislamiento datos completo. HIPAA/SOX/GDPR compliance modes. OIDC/SAML SSO. Pluggable storage backends (S3, Wasabi, Backblaze B2, local). File groups, sharing, document approval workflow. Security alerts dashboard. Extensible con webhooks + UI extensions. 267 GitHub stars. MIT open source. Cuesta ~$300-400/año para 50 users vs $10k-12k cloud.

¿Qué es Clovalink en Docker?

Clovalink es una plataforma enterprise file storage completamente autohospedada construida en Rust que proporciona alternativa profesional a Box/Dropbox/SharePoint con arquitectura multi-tenant, compliance modes (HIPAA/SOX/GDPR), SSO/SAML integrado, storage backends pluggables (S3, Wasabi, local), file management avanzado, document approval workflow, security alerts, extensibilidad mediante webhooks y UI extensions, todo bajo tu control a fracción del cost. La solución enterprise file storage que pedías para no pagar $25/user/mes.

Propuesta clave: Enterprise file storage self-hosted. Rust backend (memory-safe, high-performance). React frontend (modern UX). Multi-tenant with complete data isolation. HIPAA/SOX/GDPR compliance modes (enforce settings). Per-tenant branding + customization. File management (upload/download, folder hierarchy, locking, versioning, soft delete). File Groups (virtual collections). Company Folders (org-wide sharing). Document Approval workflow (policy-based). Expiring share links (password protection, download limits). Public upload portals (file requests). Real-time Security Alerts dashboard (unusual activity patterns). OIDC SSO (Google, Microsoft, Okta, generic). SAML 2.0 SSO (ADFS, Azure AD, generic). IdP attribute mapping to roles/departments. Storage Backends: Local filesystem, AWS S3, Wasabi (S3-compatible, 80% cheaper), Backblaze B2, MinIO (self-hosted). S3 replication for disaster recovery. ClamAV virus scanning. AI features (document summarization, Q&A). Extensions system (UI iframe/ES modules, file processors webhooks, scheduled automations cron). Encrypted backup/restore. Immutable audit logs. Session management. Two-factor authentication. 267 stars GitHub. 58 commits. Active development. MIT open source. Cost breakdown: ~$20/month VPS + ~$5/month S3 storage = ~$300/year for 50 users vs $10k-12k Box/Dropbox.

Para empresas + MSPs: Enterprise file storage sin vendor lock-in. Multi-tenant. Compliance ready. 90% cost reduction. Self-hosted.

¿Por qué Clovalink? Análisis de costos

La mayoría de soluciones enterprise file storage cobran por usuario. Clovalink cobra por almacenamiento + servidor.

Comparativa pricing anual (50 usuarios)

Proveedor Costo/usuario/mes 50 usuarios/año ¿Cloud o self-hosted?
Box Business $20/user $12,000/año Cloud only
Dropbox Business $18/user $10,800/año Cloud only
SharePoint $12.50/user $7,500/año + Microsoft tax Cloud + on-prem
Clovalink self-hosted ~$0.05 per user ~$300-400/año Self-hosted

Desglose Clovalink costos

Componente Costo/mes Notas
VPS (2-4GB RAM) ~$10-20 DigitalOcean, Linode, Hetzner
S3/Wasabi storage ~$3-7 Wasabi sin egress fees (80% cheaper S3)
PostgreSQL Included Self-hosted en VPS o managed (Supabase)
Redis Included Self-hosted en VPS
TOTAL ~$25/mes ~$300/año for unlimited users
💡 Cost math: If you have 50+ users, Clovalink saves $7k-12k/year. If you have 200+ users, saves $40k-60k/year. MSPs: host multiple tenants en un servidor = revenue model escalable.

Características principales

Multi-tenant aislado

Complete data isolation. Row-level tenant enforcement. Per-tenant settings, branding.

Compliance modes

HIPAA, SOX, GDPR. Enforce settings automático. Audit logs locked, retention policies.

File management

Upload/download, folders, locking, versioning, soft delete, bulk operations.

File Groups + Sharing

Virtual collections. Expiring share links. Password protected. Download limits.

Document Approval

Workflow policy-based. Approve/reject. Atomic operations. Tenant-isolated.

Security Alerts

Real-time dashboard. Unusual activity detection. Email notifications automáticas.

SSO/SAML integrado

OIDC + SAML 2.0. IdP mapping. Auto-provisioning. Per-tenant providers.

Storage backends

S3, Wasabi, B2, MinIO, local. Pluggable. S3 replication disaster recovery.

Virus scanning

ClamAV integration. Scan all uploads. Quarantine malware automático.

AI features

Document summarization. Question & Answer. Multi-provider support.

Extensible

UI extensions (iframe/ES modules). File processors (webhooks). Automations cron.

Audit logging

Immutable logs. All events tracked. Query + export. Compliance ready.

Requisitos del sistema

  • Docker & Docker Compose v2+
  • 2 GB - 4 GB RAM mínimo (Rust backend, PostgreSQL)
  • 10 GB - 100+ GB espacio disco (según cantidad storage)
  • Puerto TCP: 8080 (web UI, configurable), 3000 (API)
  • PostgreSQL 14+ (bundled en Docker o managed)
  • Redis 6+ (bundled en Docker)
  • Rust 1.75+ (si builds from source)
  • S3/Wasabi account (recomendado para production storage)
  • Opcional: Reverse proxy nginx/Caddy + HTTPS
  • Opcional: ClamAV para virus scanning
Production requirements: Managed PostgreSQL (RDS, Supabase, Neon) + Redis (ElastiCache, Upstash) recomendado. S3/Wasabi para storage backend (no local en production).

Instalación con Docker Compose (One-Line)

Paso 1: One-line install (recommended)

curl -fsSL https://raw.githubusercontent.com/ClovaLink/ClovaLink/main/install.sh | bash # El script automático: # - Verifica Docker instalado # - Descarga configuration files # - Genera secrets aleatorios # - Inicia todos los servicios # - Muestra login URL

Paso 2 (Alternativo): Manual setup

# Crear directorio mkdir clovalink && cd clovalink # Descargar archivos curl -LO https://raw.githubusercontent.com/ClovaLink/ClovaLink/main/infra/compose.yml curl -LO https://raw.githubusercontent.com/ClovaLink/ClovaLink/main/infra/.env.example # Configurar .env mv .env.example .env nano .env # Edita: JWT_SECRET, POSTGRES_PASSWORD # Iniciar docker compose up -d

Acceder a Clovalink

🔒 Clovalink Web UI: http://localhost:8080
📡 REST API: http://localhost:3000

Credenciales por defecto (cambiar después!)

Role Email Password
SuperAdmin superadmin@clovalink.com password123
Admin admin@clovalink.com password123
Manager manager@clovalink.com password123
Employee employee@clovalink.com password123
⚠️ SEGURIDAD: Cambia todas las contraseñas inmediatamente después de primer login! Éstas son default solo para demo.
💡 Desde otros dispositivos: Usa la IP de tu servidor:
http://192.168.1.100:8080
Para obtener tu IP: hostname -I

Primeros pasos

1. Cambiar contraseñas admin

  1. Login con superadmin@clovalink.com / password123
  2. Settings → Users → change passwords
  3. Guarda en password manager seguro

2. Crear primer tenant (multi-tenant setup)

  1. Dashboard → Tenants → Create tenant
  2. Nombre: "Acme Corp" (o tu empresa)
  3. Admin email: setup@acmecorp.com
  4. Branding customizado (logo, colores)
  5. Save → tenant creado con aislamiento datos completo

3. Crear usuarios en tenant

  1. Tenant settings → Users → Create user
  2. Asigna roles (Admin, Manager, Employee)
  3. Asigna departments (HR, Engineering, etc)
  4. Usuarios pueden loguear y acceder files

4. Configurar storage backend

  1. Settings → Storage → Choose backend (S3, Wasabi, local)
  2. Si S3: ingresa bucket name, access key, secret key
  3. Test connection → verify working

5. Setup SSO/SAML (opcional)

  1. Settings → SSO → Create provider (OIDC o SAML)
  2. Google: Ingresa OAuth app credentials
  3. SAML: Copia issuer URL, certificate
  4. Configure attribute mapping (email → role/department)
  5. Enable provider → users pueden loguear via SSO

6. Crear file library

  1. Tenant → Libraries → Create library
  2. Nombre: "Engineering" o "Finance"
  3. Permisos: who can access, upload, download
  4. Save → library lista para files

7. Habilitar compliance mode (si needed)

  1. Tenant settings → Compliance → HIPAA/SOX/GDPR
  2. Mode enforces settings automático (MFA required, 7-year retention, etc)
  3. Audit logs locked, immutable

8. Crear document approval policy (opcional)

  1. Settings → Approval Policies → Create
  2. Rule: "Finance documents > $5k require approval"
  3. Approvers: assign managers
  4. Files matching criteria require approval automático

9. Upload files

  1. File browser → Create folder
  2. Drag-drop files o click upload
  3. Files encrypted, stored en backend (S3/local)
  4. Share links expiring, password protected

10. Monitor security alerts

  1. Dashboard → Security Alerts
  2. View unusual activity (failed logins, bulk downloads, etc)
  3. Resolve alerts o dismiss
  4. Email notifications automáticas para critical alerts

Casos de uso

  • MSPs serving multiple clients: Multi-tenant. Host unlimited clients en un server. Revenue model escalable.
  • Healthcare (HIPAA): Compliance mode enforced. Audit logs immutable. Patient files encrypted, locked.
  • Finance/Accounting (SOX): Document approval workflow. 7-year retention. Access control granular.
  • GDPR compliance: Consent tracking. Deletion request support. 2-year retention policy.
  • Large enterprises: Reemplazar Box/Dropbox. Save $40k-60k/año con 200+ users.
  • Teams autohospedado: Full control data. No cloud vendor lock-in. On-premise o private cloud.

Gestión y mantenimiento

Ver estado

docker compose ps

Ver logs

docker compose logs -f backend

Detener Clovalink

docker compose down

Actualizar versión

docker compose pull docker compose up -d # Migrations run automático

Backup PostgreSQL

docker compose exec postgres pg_dump -U clovalink clovalink > backup.sql

Restore PostgreSQL

docker compose exec -T postgres psql -U clovalink clovalink < backup.sql

Monitorear consumo

docker stats backend postgres redis # Típicamente: # backend: 200-400MB RAM # postgres: 200-300MB RAM # redis: 50-100MB RAM

Stack técnico

  • Backend: Rust 1.75+ (Axum web framework)
  • Frontend: React 19 (TypeScript)
  • Database: PostgreSQL 14+ (ACID, row-level security)
  • Cache/Sessions: Redis 6+
  • Storage: S3-compatible API (Wasabi, B2, MinIO, AWS)
  • API: REST (OpenAPI docs built-in)
  • Auth: JWT, OIDC, SAML 2.0, 2FA (TOTP)
  • Deployment: Docker Compose, Docker Hub + GHCR
  • Licencia: MIT open source

Comparativa con alternativas

vs Box ($20/user/mes)

Clovalink gana: 99% cost reduction, self-hosted, multi-tenant. Box gana: Managed service, 1-click setup, 24/7 support.

vs Dropbox ($18/user/mes)

Clovalink gana: Enterprise features (approval workflow, compliance modes, SSO), self-hosted. Dropbox gana: Simple UI, seamless native app sync.

vs SharePoint (on-prem)

Clovalink gana: Simpler setup, lower cost, modern UI. SharePoint gana: Office 365 integration, Copilot features, large ecosystem.

Mejor para: Enterprises. MSPs. HIPAA/SOX compliance. Cost-conscious. Full control data. Self-hosted preference.


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.