Cómo instalar ntfy en Docker - Notificaciones push simples en Docker

Imagen
ntfy | Push Notifications | Docker ntfy: Servicio de notificaciones push minimalista en Docker Envía notificaciones desde scripts sin registro, sin API keys, sin comisiones. Con un simple curl a un tema. Open source, autohospedado, extremadamente simple. ¿Qué es ntfy? ntfy (pronunciado "notify") es un servicio de notificaciones push minimalista y basado en HTTP . La idea es tan simple como revolucionaria: en lugar de registrarte, compilar una lista de temas y enviar notificaciones con un simple POST a una URL. Cero fricción : no necesitas crear cuenta, no necesitas API keys complicadas, no necesitas autenticación. Solo un simple `curl -d "mensaje" ntfy.sh/mi_tema` desde tu script de backup, cron job o cualquier sistema. Puedes usar ntfy.sh gratuito en la nube, o auto-alojar tu propia instancia en Docker para máxima privacidad y control. Filosofía: Notificaciones sin complejidad. Sin ...

Cómo instalar SFTPGo en Docker - Servidor SFTP/FTPS/HTTP/WebDAV en Docker

SFTPGo | SFTP/FTP/WebDAV | Docker

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.

Multi-backend y flexible: Un usuario SFTP puede acceder a almacenamiento local, otro a un bucket S3, otro a Google Cloud. Todo configurado por usuario, todo desde una sola interfaz.

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)
Nota sobre FTP: FTP en modo pasivo requiere rango de puertos abierto. SFTP es más simple y seguro, recomendado en lugar de FTP.

Instalación rápida con Docker

Opción 1: Docker Run (30 segundos)

docker run -d \ --name sftpgo \ -p 8080:8080 \ -p 2022:2022 \ -v sftpgo-data:/srv/sftpgo \ -v sftpgo-home:/var/lib/sftpgo \ drakkan/sftpgo:latest

Opción 2: Docker Compose (recomendado)

version: '3.8' services: sftpgo: image: drakkan/sftpgo:latest container_name: sftpgo restart: unless-stopped ports: - "8080:8080" # WebAdmin - "2022:2022" # SFTP - "2121:2121" # FTP (opcional) - "80:80" # WebDAV HTTP (opcional) volumes: - sftpgo-data:/srv/sftpgo - sftpgo-home:/var/lib/sftpgo volumes: sftpgo-data: sftpgo-home:

Iniciar

docker compose up -d

Acceder

WebAdmin: http://localhost:8080/web/admin

SFTP: sftp://localhost:2022

Primeros pasos

1. Crear primer admin

  1. Abre http://localhost:8080/web/admin
  2. No hay usuario por defecto. Necesitas crear el primer admin desde contenedor
  3. Ejecuta:
    docker exec sftpgo sftpgo add-user admin --password admin123
  4. Luego promociona a admin:
    docker exec sftpgo sftpgo add-admin admin

2. Acceder a WebAdmin

  1. Abre http://localhost:8080/web/admin
  2. Usa credenciales: admin / admin123
  3. Cambia la contraseña inmediatamente

3. Crear primer usuario SFTP

  1. En WebAdmin: Users → Add user
  2. Username: cliente1
  3. Password: contraseña-segura
  4. Home dir: /cliente1 (se crea automáticamente en /srv/sftpgo/data)
  5. Quota: 10 GB (o lo que necesites)
  6. Save

4. Conectar con SFTP

# Desde terminal sftp -P 2022 cliente1@localhost # O usar cliente gráfico (WinSCP, FileZilla, Cyberduck) # Host: localhost | Puerto: 2022 | User: cliente1 | Pass: [tu-contraseña]

Configuración avanzada

Integración con S3

  1. En WebAdmin: Users → Add user → Storage
  2. Backend: S3
  3. Bucket: tu-bucket-s3
  4. Access key y secret key de AWS
  5. 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

  1. En WebAdmin: Users → editar usuario
  2. Public keys: pega tu clave SSH pública
  3. 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

sftpgo.tudominio.com { reverse_proxy localhost:8080 }

WebAdmin se accede vía HTTPS automáticamente con certificados Let's Encrypt.

Nota: SFTP usa SSH, no HTTP. El puerto 2022 continúa siendo SSH puro, no necesita proxy inverso.

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

docker compose logs -f sftpgo

Crear usuario via CLI

docker exec sftpgo sftpgo add-user newuser --password pass123

Listar usuarios

docker exec sftpgo sftpgo list-users

Cambiar contraseña usuario

docker exec sftpgo sftpgo change-user-password username newpassword

Backup de configuración

docker exec sftpgo sftpgo dumpdata > backup.json

Restaurar desde backup

docker exec -i sftpgo sftpgo loaddata < backup.json

Actualizar a la última versión

docker compose pull docker compose up -d

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.