Auto-hébergement de Minispace
Minispace est open source (AGPL-3.0) et peut être auto-hébergé sur votre propre serveur. Vous avez le contrôle total sur vos données, votre infrastructure et votre configuration.
Aperçu de l'Architecture
Une pile Minispace complète est composée des services suivants, tous orchestrés via Docker Compose :
| Service | Image | Rôle |
|---|---|---|
db |
postgres:16-alpine |
Base de données PostgreSQL (schémas multi-locataires) |
redis |
redis:7-alpine |
Pub/sub temps réel et limitation de débit |
api |
Backend Rust/Axum | API REST + serveur WebSocket |
web |
Frontend Next.js 15 | Application web |
nginx |
nginx:alpine |
Proxy inverse, terminaison SSL |
backup |
alpine:3.20 |
Sauvegardes planifiées de la base de données et des médias |
Flux de Données
Internet → Nginx (80/443)
├── /api/* → API (port 8080)
├── /ws → WebSocket de l'API
└── /* → Frontend web (port 3000)
Chaque garderie provisionnée sur la plateforme obtient son propre schéma PostgreSQL isolé (garderie_{slug}), de sorte que les locataires sont complètement séparés au niveau de la base de données.
Prérequis
Avant de déployer, vous avez besoin de :
- Un serveur Linux (Ubuntu 22.04+ recommandé) avec au moins 2 Go de RAM
- Docker 24+ et Docker Compose v2 installés
- Un nom de domaine pointant vers votre serveur (ex. :
minispace.votredomaine.com) - Un serveur SMTP ou service (Gmail, Mailgun, Resend, etc.) pour l'envoi de courriels
- (Optionnel) Un compte Cloudflare si vous voulez utiliser la configuration nginx de production telle quelle
Dépendance Cloudflare dans nginx de production
Le fichier nginx.prod.conf inclus dans le dépôt est configuré pour n'accepter que le trafic provenant des IPs Cloudflare et rejette toutes les autres connexions avec un 444. Si vous n'utilisez pas Cloudflare comme proxy, vous devez modifier la configuration nginx pour supprimer la liste d'autorisation des IPs Cloudflare avant de déployer.
La Suite
- Guide de Déploiement — Instructions étape par étape pour faire fonctionner Minispace sur votre serveur