Cómo instalar Clovalink en Docker - Enterprise file storage autohospedado
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.
¿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 |
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
Instalación con Docker Compose (One-Line)
Paso 1: One-line install (recommended)
Paso 2 (Alternativo): Manual setup
Acceder a Clovalink
🔒 Clovalink Web UI: http://localhost:8080
📡 REST API: http://localhost:3000
Credenciales por defecto (cambiar después!)
| Role | Password | |
|---|---|---|
| SuperAdmin | superadmin@clovalink.com | password123 |
| Admin | admin@clovalink.com | password123 |
| Manager | manager@clovalink.com | password123 |
| Employee | employee@clovalink.com | password123 |
http://192.168.1.100:8080Para obtener tu IP:
hostname -I
Primeros pasos
1. Cambiar contraseñas admin
- Login con superadmin@clovalink.com / password123
- Settings → Users → change passwords
- Guarda en password manager seguro
2. Crear primer tenant (multi-tenant setup)
- Dashboard → Tenants → Create tenant
- Nombre: "Acme Corp" (o tu empresa)
- Admin email: setup@acmecorp.com
- Branding customizado (logo, colores)
- Save → tenant creado con aislamiento datos completo
3. Crear usuarios en tenant
- Tenant settings → Users → Create user
- Asigna roles (Admin, Manager, Employee)
- Asigna departments (HR, Engineering, etc)
- Usuarios pueden loguear y acceder files
4. Configurar storage backend
- Settings → Storage → Choose backend (S3, Wasabi, local)
- Si S3: ingresa bucket name, access key, secret key
- Test connection → verify working
5. Setup SSO/SAML (opcional)
- Settings → SSO → Create provider (OIDC o SAML)
- Google: Ingresa OAuth app credentials
- SAML: Copia issuer URL, certificate
- Configure attribute mapping (email → role/department)
- Enable provider → users pueden loguear via SSO
6. Crear file library
- Tenant → Libraries → Create library
- Nombre: "Engineering" o "Finance"
- Permisos: who can access, upload, download
- Save → library lista para files
7. Habilitar compliance mode (si needed)
- Tenant settings → Compliance → HIPAA/SOX/GDPR
- Mode enforces settings automático (MFA required, 7-year retention, etc)
- Audit logs locked, immutable
8. Crear document approval policy (opcional)
- Settings → Approval Policies → Create
- Rule: "Finance documents > $5k require approval"
- Approvers: assign managers
- Files matching criteria require approval automático
9. Upload files
- File browser → Create folder
- Drag-drop files o click upload
- Files encrypted, stored en backend (S3/local)
- Share links expiring, password protected
10. Monitor security alerts
- Dashboard → Security Alerts
- View unusual activity (failed logins, bulk downloads, etc)
- Resolve alerts o dismiss
- 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
Ver logs
Detener Clovalink
Actualizar versión
Backup PostgreSQL
Restore PostgreSQL
Monitorear consumo
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.
Comentarios
Publicar un comentario