---
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](https://sync-in.com/) |
| **GitHub** | [sync-in/sync-in](https://github.com/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é)

```yaml
# 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

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

## 📚 Ressources

- [Site officiel](https://sync-in.com/)
- [GitHub sync-in/sync-in](https://github.com/sync-in/sync-in)
- [Documentation](https://docs.sync-in.com/)
- [Démo publique](https://demo.sync-in.com/)
- [API Swagger](https://api.sync-in.com/docs)

## 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
