Les couches du système.
Rien d'exotique et rien de propriétaire : des briques libres, largement déployées, documentées et remplaçables. C'est ce qui permet à un autre prestataire de reprendre l'installation si je disparais.
Distribution Linux stable, sans interface graphique. Empreinte minimale, cycle de mises à jour de sécurité prévisible et long.
Chaque service tourne dans son conteneur, décrit dans un fichier unique versionné. Environnement reproductible, retour arrière possible.
Le partage de fichiers, les comptes, les permissions et les clients de synchronisation pour Windows, macOS, Linux, iOS et Android.
Obligatoire dès qu'il y a plusieurs utilisateurs simultanés. SQLite, souvent proposé par défaut, provoque des échecs d'écriture silencieux en synchronisation concurrente.
Cache mémoire et verrouillage transactionnel des fichiers. Évite les conflits quand deux personnes touchent au même document.
Reverse proxy en frontal de Nextcloud, gestion du HTTPS et des en-têtes de sécurité. Configuration courte, donc auditable.
Système de fichiers transactionnel à sommes de contrôle natives : la corruption silencieuse est détectée et corrigée. Trois disques en pool, tolérance à la perte de l'un d'eux.
Réseau privé chiffré en WireGuard entre le serveur et les appareils autorisés. Aucun port ouvert sur l'internet public.
Le serveur physique.
Une machine compacte et silencieuse, dimensionnée pour tourner en continu dans un local de bureau — pas dans une salle serveur.
| Composant | Référence | Rôle |
|---|---|---|
| Processeur | Intel Core i3-12100 | 4 cœurs, 8 threads. Dimensionné pour les requêtes simultanées d'une trentaine d'utilisateurs, pas seulement pour leur nombre. |
| Mémoire | 32 Go DDR4 | Répartie entre le cache du système de fichiers, la base de données et Nextcloud. C'est la ressource qui décide de la réactivité ressentie. |
| Disque système | NVMe 500 Go, classe NAS | Système, conteneurs et base de données. Séparé des disques de données pour isoler les pannes, et choisi pour son endurance en écriture continue. |
| Stockage — 4 To | 2 × WD Red Plus 4 To | Deux disques en miroir, 4 To utiles. Chacun porte une copie exacte de l'autre. |
| Stockage — 8 To | 3 × WD Red Plus 4 To | Pool RAIDZ1, 8 To utiles. Disques NAS à enregistrement classique (CMR), prévus pour un fonctionnement continu. |
| Stockage — 12 To | 4 × WD Red Plus 4 To | Pool RAIDZ1, 12 To utiles. Même modèle de disque que les autres configurations, un exemplaire de plus. |
| Boîtier | Jonsbo N2 | Format compact, baies 3,5 pouces accessibles en façade, niveau sonore compatible avec un bureau occupé. |
| Alimentation | be quiet! SFX 450 W | Certifiée 80 PLUS, marge confortable sur la configuration installée. |
| Onduleur | APC Back-UPS 650 VA | Relié au serveur, il ne se contente pas de retarder la coupure : il commande l'arrêt propre de la machine avant que la batterie ne cède. |
| Accès de secours | Boîtier KVM sur IP | Un second chemin d'accès, indépendant du serveur. Si la machine ne démarre plus, j'interviens depuis Lyon plutôt que de me déplacer. |
Plusieurs filets de sécurité.
La redondance des disques protège de la panne matérielle. Elle ne protège ni de la suppression accidentelle, ni de l'incendie. D'où les deux autres niveaux.
Instantanés locaux, récupérables sans intervention
Envoi chiffré vers un second site
Chiffrement avant que les données ne sortent
Délai de restauration en cas d'incident
Instantanés ZFS
ZFS enregistre des instantanés cohérents du pool à intervalles réguliers. Un fichier supprimé par erreur ou un dossier écrasé se récupère à la version près, sans restauration complète et sans mon intervention en urgence.
Copie hors site chiffrée
Chaque semaine, une copie part vers un second site par un réseau privé chiffré. Les données sont chiffrées sur votre serveur, avant de partir : ce qui circule et ce qui est stocké à l'autre bout est illisible sans votre clé, que vous détenez. Seules les différences depuis la semaine précédente sont transmises, ce qui rend l'opération rapide même sur de gros volumes.
Aucune porte sur l'internet public.
La plupart des serveurs de fichiers auto-hébergés se font attaquer parce qu'ils sont joignables depuis n'importe où. Celui-ci ne l'est pas.
Réseau privé WireGuard
L'accès distant passe par un tunnel chiffré géré par Tailscale. Le serveur n'écoute sur aucun port ouvert vers l'extérieur : il est invisible depuis l'internet. Seuls les appareils explicitement autorisés, authentifiés par clé cryptographique, peuvent l'atteindre.
Chiffrement du transport
Tout le trafic entre les appareils et le serveur est chiffré par le tunnel WireGuard, y compris sur un réseau local ou un Wi-Fi public. À l'intérieur de ce réseau privé, Caddy sert Nextcloud en HTTPS. Les certificats sont de vrais certificats Let's Encrypt, délivrés par l'intermédiaire du réseau privé sans jamais ouvrir de port : la validation se fait par le DNS, pas par une porte laissée ouverte sur internet.
Isolation des services
Nextcloud, la base de données, le cache et le reverse proxy tournent dans des conteneurs séparés sur un réseau Docker interne. Seul le proxy est exposé aux autres machines du réseau privé ; la base de données n'est joignable que par Nextcloud.
Mises à jour
Les correctifs de sécurité du système sont appliqués automatiquement. Les montées de version de Nextcloud sont déclenchées manuellement, après vérification, hors heures d'utilisation — une mise à jour applicative qui se lance seule pendant que quelqu'un travaille est une mauvaise idée.
Prévenu avant vous.
Un serveur qui tombe un vendredi soir et que personne ne surveille reste tombé jusqu'au lundi. La supervision existe pour que ça n'arrive pas.
État du stockage
L'état du pool ZFS est contrôlé toutes les quinze minutes. Toute dégradation — disque en défaut, pool en mode dégradé, remplissage proche du seuil — déclenche une alerte immédiate sur mon téléphone.
Disponibilité du service
La réponse de l'instance Nextcloud est vérifiée au même rythme. Les alertes sont dédoublonnées : je suis prévenu une fois quand un problème apparaît, et une fois quand il est résolu — pas toutes les quinze minutes entre les deux.
Intégrité des données
Une vérification complète du pool (scrub) parcourt périodiquement chaque bloc écrit et corrige, grâce à la redondance, les erreurs qu'il détecte — avant qu'elles ne se propagent aux sauvegardes.
Santé des disques
Les indicateurs SMART de chaque disque sont relevés : secteurs réalloués, température, heures de fonctionnement. Un disque qui commence à fatiguer se remplace avant de tomber, sans interruption pour vous.