5.7 KiB
title: Sync-in created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, cloud-storage, nodejs, express, sync, minimal, simple] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Self-hosted+Cloud, https://github.com/sync-in/sync-in]
🔄 Sync-in
Un cloud storage compact en Node.js / Express : pensé comme une alternative simple et auto-suffisante à app-mydrive et app-cloudreve pour un usage personnel, avec une interface web claire, un système de partage et une API REST documentée, le tout dans un seul conteneur Docker.
📋 Informations Générales
| Métadonnée | Valeur |
|---|---|
| Site web | sync-in.com |
| GitHub | sync-in/sync-in |
| License | AGPL-3.0 |
| Langage | TypeScript / Node.js (Express) |
| Étoiles | 720 ⭐ |
| Dernière MAJ | 2026-05-15 |
| Catégorie | cat-cloud-storage |
📝 Description
Sync-in est un projet plus modeste que app-nextcloud ou app-cloudreve, mais qui remplit efficacement sa mission : offrir un cloud storage personnel simple à déployer pour un particulier ou une petite équipe, sans les lourdeurs d'une suite collaborative complète. Le choix de Node.js + Express garantit un déploiement en quelques minutes, une API familière aux développeurs web et une consommation mémoire contenue.
L'application propose un web UI moderne (Vue 3 / Nuxt) avec upload drag-and-drop, prévisualisation des fichiers courants (images, PDF, vidéos), partage par lien public avec expiration, gestion fine des permissions par utilisateur, espaces nommés, et une API REST documentée (Swagger/OpenAPI) pour l'intégration avec d'autres outils (scripts, outils de backup, applications tierces). L'authentification supporte LDAP/OIDC en option.
Le public cible est très explicite : les utilisateurs qui trouvent Nextcloud trop lourd, Cloudreve trop « multi-backend » et qui veulent un truc qui « fait juste du cloud » sans fioritures. Sync-in ne cherche pas à devenir un concurrent de app-owncloud-infinite-scale : il assume d'être petit, lisible, et de fournir un service de qualité pour un usage personnel. Une API WebDAV est disponible en option, ce qui permet de connecter des clients de sync (comme les clients app-seafile ou les applis natives).
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
sync-in:
image: syncin/sync-in:latest
container_name: sync-in
restart: unless-stopped
ports:
- "8080:8080"
environment:
SYNCIN_DB_TYPE: sqlite
SYNCIN_STORAGE_PATH: /data/files
SYNCIN_SECRET: ${SYNCIN_SECRET}
SYNCIN_ADMIN_USER: admin
SYNCIN_ADMIN_PASSWORD: ${ADMIN_PASS}
SYNCIN_LISTEN_HOST: 0.0.0.0
SYNCIN_LISTEN_PORT: "8080"
NODE_ENV: production
volumes:
- sync_in_data:/data
volumes:
sync_in_data:
Option 2 : npm
git clone https://github.com/sync-in/sync-in.git
cd sync-in
npm install
npm run build
npm start
⚙️ Configuration
- Variables d'environnement : un fichier
.envà la racine permet de définir DB, storage, secret, écoute. - Base de données : SQLite par défaut, PostgreSQL supporté.
- Stockage : POSIX local. Possibilité d'utiliser un dossier réseau (NFS) ou un montage S3 via FUSE (s3fs).
- WebDAV : activable via variable d'environnement, accessible sur
/webdav. - Authentification : locale, LDAP, ou OpenID Connect.
- Backups :
tardu dossier/dataoupg_dumpsi vous utilisez PostgreSQL. - Reverse-proxy : app-traefik ou app-caddy pour HTTPS et headers de sécurité.
🔄 Alternatives
Open Source
- app-nextcloud — Plus complet (suite collaborative)
- app-cloudreve — Go, plus mature et riche
- app-owncloud — PHP, plus ancien
- app-owncloud-infinite-scale — Go, microservices
- app-opencloud — Fork d'oCIS
- app-seafile — C, performances de sync
- app-oxicloud — Rust
- app-mydrive — Node.js, cousin direct
- app-kinto — JSON, pas fichiers
- FileBrowser — Go, ultra minimal
- Pydio Cells — français, microservices
Propriétaires (ce que cette app remplace)
- Dropbox Basic — partage et sync
- Google Drive personnel — partage
- OneDrive Personnel — écosystème Microsoft
- iCloud Drive — écosystème Apple
- MEGA — cloud chiffré
🔐 Sécurité
- Sessions JWT : expiration configurable, refresh token possible.
- Hash bcrypt des mots de passe (par défaut).
- Chiffrement at-rest : à implémenter côté storage (LUKS) ou via backend S3 avec SSE-KMS.
- HTTPS : obligatoire en prod, à terminaison sur le reverse-proxy.
- 2FA : non intégrée nativement, à compenser par reverse-proxy auth (app-authelia).
- Rate-limiting : à configurer sur le frontal (app-traefik middleware).
- Headers de sécurité : HSTS, CSP, X-Frame-Options à appliquer via reverse-proxy.
- Mises à jour : suivre le canal
latestsur GitHub, projet jeune, vérifier les CVE. - MFA native : roadmap indique une intégration TOTP en préparation.
📚 Ressources
Pages Liées
- cat-cloud-storage — Catégorie Cloud Storage
- recettes-docker-compose — Templates Docker
- app-cloudreve — Concurrent plus mature
- app-mydrive — Cousin Node.js
- securisation-home-lab — Sécurité
- Catalogue-Self-Hosted — Hub