Files
wiki/Catalogue-Self-Hosted/apps/app-sync-in.md
T
2026-06-09 18:40:21 +02:00

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 : tar du dossier /data ou pg_dump si vous utilisez PostgreSQL.
  • Reverse-proxy : app-traefik ou app-caddy pour HTTPS et headers de sécurité.

🔄 Alternatives

Open Source

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 latest sur GitHub, projet jeune, vérifier les CVE.
  • MFA native : roadmap indique une intégration TOTP en préparation.

📚 Ressources

Pages Liées