99 lines
3.7 KiB
Markdown
99 lines
3.7 KiB
Markdown
---
|
|
title: GoMFT
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, file-transfer-and-sync, mft, backup, sftp, go]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=file-transfer-and-sync]
|
|
---
|
|
|
|
# GoMFT 🚚
|
|
> Managed File Transfer : orchestrateur de jobs multi-protocoles (Go).
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://github.com/starfolksoftware/gomft |
|
|
| **GitHub** | https://github.com/starfolksoftware/gomft |
|
|
| **License** | MIT |
|
|
| **Langage** | Go |
|
|
| **Étoiles** | 200+ |
|
|
| **Dernière MAJ** | 2025 |
|
|
| **Catégorie** | [[cat-file-transfer-and-sync]] |
|
|
|
|
## Description
|
|
GoMFT (Go Managed File Transfer) est une jeune plateforme d'**orchestration de transferts de fichiers** écrite en Go. Elle complète l'écosystème dominé par des solutions historiques comme CrushFTP ou MOVEit en proposant une alternative moderne, légère, auto-hébergeable, avec une interface web claire et une API REST.
|
|
|
|
La philosophie est d'**abstraire les sources et destinations hétérogènes** : sources SFTP, FTPS, SMB, S3, WebDAV, filesystem local ; destinations équivalentes. Un « job » est défini comme un **pipeline** (source → transformations optionnelles → destination), planifié via cron ou déclenché manuellement. Chaque exécution produit un **log détaillé** consultable dans l'UI.
|
|
|
|
Le projet cible les **PME, SI d'entreprise, ESN, DSI** qui doivent automatiser des flux d'échange de fichiers entre partenaires, ERP, et solutions de sauvegarde. La promesse est de remplacer des dizaines de scripts cron par une UI centralisée avec audit trail, alertes et gouvernance.
|
|
|
|
## Installation
|
|
### Docker Compose
|
|
```yaml
|
|
services:
|
|
gomft:
|
|
image: ghcr.io/starfolksoftware/gomft:latest
|
|
container_name: gomft
|
|
environment:
|
|
- GOMFT_DB_DSN=postgres://gomft:***@db:5432/gomft?sslmode=disable
|
|
- GOMFT_LISTEN=:8080
|
|
- GOMFT_SECRET=*** depends_on:
|
|
- db
|
|
volumes:
|
|
- ./data:/app/data
|
|
- ./logs:/app/logs
|
|
- ./keys:/app/keys
|
|
ports:
|
|
- "8080:8080"
|
|
restart: unless-stopped
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
- POSTGRES_USER=gomft
|
|
- POSTGRES_PASSWORD=*** - POSTGRES_DB=gomft
|
|
volumes:
|
|
- ./pgdata:/var/lib/postgresql/data
|
|
restart: unless-stopped
|
|
```
|
|
|
|
### Binaire
|
|
```bash
|
|
go install github.com/starfolksoftware/gomft@latest
|
|
gomft serve
|
|
```
|
|
|
|
## Configuration
|
|
1. Créer un compte admin via l'UI au premier démarrage.
|
|
2. Configurer les **sources** (SFTP, SMB, S3) en important les credentials.
|
|
3. Configurer les **destinations** symétriques.
|
|
4. Créer un **job** (cron expr), choisir source/destination, pré/post hooks.
|
|
5. Activer les **notifications** (email, webhook, Slack) en cas d'échec.
|
|
6. Surveiller les exécutions depuis l'UI / dashboard.
|
|
|
|
## Alternatives
|
|
- **Open source** : [[app-sftpgo]] (serveur SFTP), [[app-ftpgrab]] (one-shot), [[app-rclone]] (CLI), Apfell MFT, FusionDirectory.
|
|
- **Propriétaire** : CrushFTP, MOVEit, IBM Sterling, Globalscape, AWS Transfer Family.
|
|
|
|
## Sécurité
|
|
- Stockage chiffré des credentials (chiffrement symétrique côté serveur).
|
|
- Authentification par session + JWT pour l'API.
|
|
- HTTPS obligatoire via reverse proxy.
|
|
- Audit log complet (qui, quand, quoi, résultat).
|
|
- 2FA à venir dans la roadmap.
|
|
- Permissions par utilisateur et par job (RBAC).
|
|
|
|
## Ressources
|
|
- Documentation : https://github.com/starfolksoftware/gomft#readme
|
|
- Releases : https://github.com/starfolksoftware/gomft/releases
|
|
- Issues : https://github.com/starfolksoftware/gomft/issues
|
|
|
|
## Pages Liées
|
|
- [[cat-file-transfer-and-sync]] — Catégorie parente
|
|
- [[app-sftpgo]] — Serveur SFTP/FTP
|
|
- [[app-ftpgrab]] — Grabber FTP
|
|
- [[app-rclone]] — Multi-cloud sync
|
|
- [[recettes-docker-compose]] — Modèles de stacks
|