Initial vault setup
This commit is contained in:
@@ -0,0 +1,136 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user