Aller au contenu

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