Retour à l'accueil

Syncloud : auto-hébergement sans Docker ni configs

Syncloud est une plateforme open source pour l'auto-hébergement en Go, utilisant des paquets snap au lieu de Docker. Fournit une configuration HTTPS automatique, SSO via Authelia et OpenLDAP, mises à jour atomiques et isolation d'apps. Fonctionne sur Raspberry Pi, mini-PC et x86.

Syncloud : quand l'auto-hébergement cesse d'être une tâche DevOps
Advertisement 728x90

Syncloud : Comment une plateforme open source en Go résout les maux de l’auto-hébergement sans Docker ni configurations manuelles

Syncloud n’est pas un simple wrapper UI pour Docker. C’est une véritable plateforme d’exploitation pour l’auto-hébergement, conçue de zéro en Go et pensée pour la fiabilité, l’isolation et le fonctionnement sans configuration. Elle élimine le principal point de douleur des serveurs domestiques : devoir ajuster les configs Nginx chaque week-end, renouveler les certificats Let’s Encrypt et déboguer les conflits de ports après les mises à jour. À la place, elle propose une interface unique, une authentification SSO prête à l’emploi, un routage automatique et plus de 40 applications prêtes à installer en un clic.

Pourquoi Snap plutôt que Docker ?

Syncloud rejette Docker comme runtime principal de conteneurs — non par idéologie, mais pour des raisons techniques. Les paquets Snap offrent une isolation stricte du système de fichiers, un contrôle d’accès via des profils de sécurité et des mises à jour atomiques sans temps d’arrêt. Contrairement aux images Docker, les paquets Snap dans Syncloud incluent :

  • Des interfaces prédéfinies (réseau, maison, médias amovibles) — pas besoin de --cap-add ou --privileged manuels
  • Une réinscription automatique des services dans systemd lors des mises à jour
  • Un mécanisme de rollback intégré : si une nouvelle version d’une application ne démarre pas, le système revient à la version précédente en seulement 2 secondes

Le backend de la plateforme est écrit en Go et se compose de trois composants clés :

Google AdInline article slot
  • Daemon de la plateforme — le cœur qui gère les cycles de vie des applications, les paramètres DNS et les certificats
  • Interface web (Vue.js) — un panneau d’administration avec une boutique d’applications, des paramètres réseau et une surveillance de l’état
  • Couche d’intégration Snapd — une couche intermédiaire qui convertit les requêtes d’installation en commandes snap avec les bons paramètres d’environnement

Nginx ici n’est pas seulement un reverse proxy — il est entièrement géré : la config est générée dynamiquement à chaque installation ou suppression d’une application, en tenant compte du mode TLS (Let’s Encrypt ou certificat personnalisé), du routage SNI et des headers de sécurité (HSTS, CSP, X-Frame-Options). Pas besoin d’éditer manuellement /etc/nginx/sites-enabled/ — tout se fait via l’API.

Comment fonctionne l’authentification : Authelia + OpenLDAP en production

Un système d’authentification unifié n’est pas optionnel — c’est fondamental. Syncloud intègre Authelia comme proxy intermédiaire devant toutes les applications. Lors de la première connexion, les utilisateurs passent par un formulaire de login centralisé, et Authelia vérifie les identifiants auprès du backend OpenLDAP. Après une authentification réussie, un token JWT est émis et transmis de manière transparente dans l’en-tête X-Forwarded-User à chaque application.

Fait important : le serveur LDAP n’est pas utilisé uniquement pour l’autorisation. Il gère également :

Google AdInline article slot
  • Des groupes d’utilisateurs (par exemple, admin, media, dev) — avec des accès différenciés aux applications
  • Des attributs comme mail, displayName et sshPublicKey — pour l’intégration avec les serveurs email et Git
  • Des politiques de mot de passe (longueur minimale, historique, expiration) — via la surcouche slapd ppolicy

Cela permet, par exemple, de configurer l’accès de sorte que seuls les membres du groupe media puissent accéder à Jellyfin, tandis que dev a accès à Gogs et MeshCentral. Les utilisateurs saisissent leur mot de passe une seule fois et obtiennent l’accès à tous les services autorisés sans avoir à se reconnecter.

Installation pratique : de la carte SD à un Nextcloud opérationnel

Le processus de déploiement est simplifié à l’extrême. Voici la séquence réelle des étapes sur un Raspberry Pi 5 (64 bits) :

  • Téléchargez l’image officielle syncloud-os_24.04_arm64.img.xz depuis syncloud.org
  • Écrivez-la sur une carte microSD à l’aide de dd ou Balena Etcher
  • Connectez le PC au réseau et mettez-le sous tension
  • Attendez 90 secondes, puis ouvrez http://syncloud.local dans votre navigateur
  • Créez un compte — cela déclenche la génération d’un certificat Let’s Encrypt via ACME v2
  • Dans la section « Boutique d’applications », trouvez Nextcloud → cliquez sur « Installer »
  • Environ 80 secondes plus tard, vous verrez le lien https://nextcloud.syncloud.local, déjà avec un certificat valide et une SSO active

Pendant ce processus :

Google AdInline article slot
  • Nginx a automatiquement assigné le port 8080 au service Nextcloud (interne)
  • Configuré un bloc location avec proxying et des headers comme X-Real-IP et X-Forwarded-Proto
  • Ajouté un utilisateur provenant de LDAP à la base de données Nextcloud via une API de type SCIM
  • Configuré un cron job pour le renouvellement régulier des certificats

Pas de docker-compose up -d, pas de certbot --nginx, pas de sudo systemctl restart nginx. Tout se fait via l’interface HTTP.

Ce qui compte

  • Syncloud est une plateforme semblable à un OS, pas un simple wrapper UI : elle remplace l’init système, le gestionnaire de paquets et la pile réseau
  • L’isolation Snap garantit la sécurité et des mises à jour prévisibles — aucun risque de « casser tout le système » en mettant à jour une seule application
  • Authelia + OpenLDAP offrent une SSO de niveau entreprise avec prise en charge des groupes, des politiques de mot de passe et de l’accès basé sur les attributs
  • La prise en charge des architectures ARM64, amd64 et armhf signifie la compatibilité avec les Raspberry Pi, les mini-PCs Intel/AMD et même les anciens serveurs ARM (par exemple, Scaleway C2)
  • Entièrement open source (GPL-3.0), sans dépendances cloud : DNS, certificats et authentification tournent tous localement

Comparaison avec les alternatives : où se positionne Syncloud

| Critère | Syncloud | YunoHost | CasaOS |

|----------|----------|----------|--------|

| Runtime | snapd | chroot + scripts shell | Docker |

| SSO | Authelia + LDAP intégrés | SSO via YunoHost SSO | Aucun (seulement authentification basique) |

| HTTPS | Let’s Encrypt / certificat personnalisé, auto-config dans Nginx | Let’s Encrypt, activation manuelle | Let’s Encrypt, nécessite une configuration manuelle de reverse-proxy |

| Mises à jour | Atomiques, avec rollback | Via apt + scripts, sans garanties | Via Docker Hub, sans contrôle de version |

| Contrôle | Haut niveau d’abstraction, « plateforme avec une voix » | Flexible, mais nécessite des connaissances Debian | Bas niveau — juste une UI au-dessus de Docker |

Pour les développeurs de niveau intermédiaire ou senior, Syncloud est particulièrement précieux car elle ne cache pas la complexité — elle la structure : tout le code est accessible, toutes les interfaces sont documentées, et la CI inclut des tests sur du matériel réel (Raspberry Pi 4/5, mini-PC x86). Ce n’est pas une « boîte noire », mais un système transparent qui peut être audité, forké et modifié — tout en maintenant la compatibilité avec la boutique d’applications.

Évolutivité et limites

Syncloud n’est pas destinée à des milliers d’utilisateurs. Son point optimal se situe entre 1 et ~50 comptes actifs et jusqu’à 15 applications en cours d’exécution simultanément. Les tests montrent qu’avec un mini-PC équipé d’un processeur Intel N100 et de 8 Go de RAM, les applications suivantes tournent de manière stable :

  • Nextcloud (avec Collabora Online et recherche full-text)
  • Jellyfin (transcodage en temps réel 1080p)
  • Home Assistant (avec plus de 200 appareils)
  • Gogs (avec intégration CI)
  • Bitwarden + Authelia + OpenLDAP

La consommation électrique est de 9–12 W sous charge, sans ventilateur. Pour des scénarios plus lourds (par exemple, Plex avec transcoding matériel ou Matrix avec plus de 500 utilisateurs), un serveur externe ou un clustering est nécessaire — ce que Syncloud ne supporte pas encore. Mais pour la plupart des cas d’utilisation à domicile et dans les petits bureaux, elle trouve le parfait équilibre entre simplicité et contrôle.

— Editorial Team

Advertisement 728x90

Lire ensuite