Cómo instalar SFTPGo en Docker - Servidor SFTP/FTPS/HTTP/WebDAV en Docker
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
SFTPGo: Servidor de transferencia de archivos completo SFTP/FTP/WebDAV en Docker
Servidor de archivos profesional con soporte para SFTP, FTP/S, WebDAV. Integración con S3, Google Cloud, Azure. WebAdmin intuitiva, API REST, almacenamiento encriptado.
¿Qué es SFTPGo?
SFTPGo es un servidor de transferencia de archivos de código abierto y altamente configurable que soporta múltiples protocolos: SFTP, SCP, FTP, FTPS y WebDAV. A diferencia de servidores tradicionales, SFTPGo conecta con múltiples backends de almacenamiento: sistemas de archivos locales (encriptado u normal), S3, Google Cloud Storage, Azure Blob Storage, e incluso otros servidores SFTP.
Casos de uso: Compartir archivos seguros con clientes, gestionar transferencias de archivos entre equipos, integrar almacenamiento en la nube con protocolos legacy, crear un servidor SFTP privado, gestión de logs centralizados, transferencia segura de datos sensibles.
Características principales
SFTP (SSH File Transfer)
Protocolo seguro SSH-based. Estándar en Linux/Unix, universalmente soportado.
FTP/FTPS
FTP clásico con soporte para TLS encriptado (FTPS) para compatibilidad legacy.
WebDAV
Protocolo HTTP-based para acceso desde navegador, integración con clientes de escritorio.
S3 integrado
Mapea buckets S3 a usuarios. Acceso vía SFTP a almacenamiento S3.
Google Cloud Storage
Integración nativa con GCS. Expone buckets sobre SFTP/FTP/WebDAV.
Azure Blob Storage
Mapea contenedores Azure a usuarios sin transferir datos localmente.
Encriptación local
Almacenamiento local encriptado con clave del usuario para máxima privacidad.
Carpetas virtuales
Mapea múltiples almacenamientos a diferentes rutas dentro del mismo usuario.
WebAdmin intuitiva
Interface web moderna para gestionar usuarios, cuotas, permisos.
WebClient para usuarios
Los usuarios pueden subir/descargar archivos desde navegador sin SFTP.
API REST completa
Automatiza todo: crear usuarios, configurar cuotas, gestionar acceso.
Eventos y webhooks
Ejecuta acciones personalizadas en upload/download: scripts, HTTP callbacks.
Auditoría completa
Logs detallados en JSON de todas las operaciones, accesos, errores.
Cuotas por usuario
Limita espacio de almacenamiento, ancho de banda, número de conexiones.
Autenticación flexible
Contraseña, clave pública SSH, LDAP, HTTP personalizado, proxies de auth.
Open Source
AGPLv3. Código auditable, sin dependencias de terceros opacas.
Requisitos del sistema
- Docker instalado
- 256 MB de RAM mínimo (depende de usuarios/conexiones)
- 100 MB de espacio en disco para base de datos
- Puerto 2022 para SFTP (configurable)
- Puerto 8080 para WebAdmin (configurable)
- Puerto 2121 para FTP (opcional, configurable)
- Puertos 50000-50100 para rango pasivo FTP (si usas FTP)
Instalación rápida con Docker
Opción 1: Docker Run (30 segundos)
Opción 2: Docker Compose (recomendado)
Iniciar
Acceder
WebAdmin: http://localhost:8080/web/admin
SFTP: sftp://localhost:2022
Primeros pasos
1. Crear primer admin
- Abre
http://localhost:8080/web/admin - No hay usuario por defecto. Necesitas crear el primer admin desde contenedor
- Ejecuta:
docker exec sftpgo sftpgo add-user admin --password admin123
- Luego promociona a admin:
docker exec sftpgo sftpgo add-admin admin
2. Acceder a WebAdmin
- Abre
http://localhost:8080/web/admin - Usa credenciales: admin / admin123
- Cambia la contraseña inmediatamente
3. Crear primer usuario SFTP
- En WebAdmin: Users → Add user
- Username: cliente1
- Password: contraseña-segura
- Home dir: /cliente1 (se crea automáticamente en /srv/sftpgo/data)
- Quota: 10 GB (o lo que necesites)
- Save
4. Conectar con SFTP
Configuración avanzada
Integración con S3
- En WebAdmin: Users → Add user → Storage
- Backend: S3
- Bucket: tu-bucket-s3
- Access key y secret key de AWS
- El usuario accede a S3 como si fuera almacenamiento local
Carpetas virtuales (múltiples backends)
Un usuario puede tener acceso a:
- /local → almacenamiento local encriptado
- /s3 → bucket S3
- /gcs → Google Cloud Storage
- Todo desde un solo usuario SFTP
Autenticación con clave SSH pública
- En WebAdmin: Users → editar usuario
- Public keys: pega tu clave SSH pública
- Ahora puedes conectar sin contraseña:
sftp -P 2022 -i ~/.ssh/id_rsa cliente1@localhost
WebClient para usuarios finales
Los usuarios pueden acceder sin cliente SFTP:
http://localhost:8080/web/client
Interfaz web moderna para subir/descargar archivos. Perfecto para usuarios no-técnicos.
Configurar HTTPS con Caddy
WebAdmin se accede vía HTTPS automáticamente con certificados Let's Encrypt.
Casos de uso
- Compartir archivos con clientes: Usuarios SFTP seguros sin acceso al servidor
- Integración cloud: Exponé S3/GCS/Azure como SFTP tradicional para apps legacy
- Transferencia de datos: Entre equipos, entre oficinas, con encriptación
- Gestión centralizada de logs: Recolecta logs de múltiples servidores
- Cumplimiento normativo: GDPR/HIPAA con auditoría completa y encriptación
- Automatización: Webhooks para ejecutar acciones en upload/download
- Reemplazo de FTP: Migración segura desde FTP inseguro
Gestión y mantenimiento
Ver logs
Crear usuario via CLI
Listar usuarios
Cambiar contraseña usuario
Backup de configuración
Restaurar desde backup
Actualizar a la última versión
Referencias oficiales
Apoya el canal GENBYTE
Suscríbete al canal de YouTube Suscríbete a la newsletter semanal Invítame a un Ko-fi genbyte@proton.me- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Comentarios
Publicar un comentario