Microservicio de transferencia de archivos con dashboard web. Recibe archivos vía API REST y los mueve a destinos predefinidos según un archivo de configuración. Opcionalmente notifica via Gotify al completar cada transferencia.
- API REST para recibir y mover archivos
- Destinos configurables via
config.yml - Dashboard web con estética de terminal
- Notificaciones opcionales via Gotify
- Healthcheck integrado
- Docker y Docker Compose
- (Opcional) Instancia de Gotify para notificaciones
git clone https://github.com/osdaeg/transferr.git
cd transferrcp .env.example .env
nano .envCompletar con tus valores:
GOTIFY_URL=http://TU_HOST:8088
GOTIFY_TOKEN=tu_token_aqui
PUID=1000
PGID=1000
TZ=America/Argentina/Buenos_AiresSi no usás Gotify, podés dejar GOTIFY_TOKEN vacío — las notificaciones se omiten silenciosamente.
Editá config.yml con los destinos que necesitás. El archivo incluido tiene ejemplos comentados.
En docker-compose.yml, descomentá y ajustá los volúmenes de destino para que coincidan con los definidos en config.yml:
volumes:
- /ruta/local/comics:/comics
- /ruta/local/music:/musicdocker network create TuReddocker compose up -d --buildEl dashboard está disponible en http://TU_HOST:7900.
Para transferir un archivo via API:
curl -X POST http://TU_HOST:7900/transfer \
-F "file=@/ruta/al/archivo.ext" \
-F "destination=comics"Ver ejemplos_curl.sh para más ejemplos de uso.
transferr/
├── Dockerfile
├── docker-compose.yml
├── .env.example
├── config.yml
├── main.py
├── requirements.txt
├── ejemplos_curl.sh
├── static/
│ └── index.html
└── logs/ # generado en runtime, no incluido en el repo
AGPL
