Guide de déploiement

Héberger PocketBase sur un VPS

Déployer sur un VPS Cloud →

Bases de données6 min de lecture

Héberger PocketBase sur un VPS

PocketBase tient dans un unique exécutable Go : base SQLite embarquée, authentification, stockage de fichiers, API REST et abonnements temps réel, le tout avec une interface d'admin intégrée. C'est le backend idéal à auto-héberger sur un VPS léger pour vos applications web et mobiles. Voici comment le déployer proprement, avec Docker, reverse proxy et certificat SSL.

Pourquoi auto-héberger PocketBase sur un VPS

PocketBase est un backend-as-a-service open source distribué sous forme d'un seul binaire : pas de Postgres séparé, pas de Redis, pas de pile complexe à orchestrer. Tout repose sur SQLite, ce qui le rend parfaitement adapté à un VPS d'entrée de gamme. En l'auto-hébergeant, vous gardez la maîtrise totale de vos données utilisateurs et de vos fichiers, sans dépendre d'un Firebase ou d'un Supabase managé dont les quotas et la latence depuis le Maroc peuvent poser problème. Un VPS vous donne une IP fixe, un domaine personnalisé et des sauvegardes que vous contrôlez. Comme PocketBase écrit dans un dossier pb_data unique, la stratégie de backup se résume à copier ce répertoire, ce qui simplifie énormément l'exploitation par rapport à un cluster de base de données classique.

Les bénéfices concrets du self-hosting de PocketBase

  • Un seul binaire à déployer : démarrage en quelques secondes, empreinte mémoire minime (souvent moins de 100 Mo de RAM).
  • Base SQLite embarquée : zéro service de base de données à administrer, sauvegarde par simple copie du dossier pb_data.
  • Authentification, règles d'accès, gestion de fichiers et API temps réel via WebSocket inclus d'origine.
  • Interface d'admin web complète pour gérer collections, utilisateurs et permissions sans écrire de SQL.
  • Souveraineté des données : vos utilisateurs et leurs fichiers restent sur votre infrastructure, derrière votre domaine.
  • Coût prévisible : un VPS modeste suffit pour des dizaines de milliers de requêtes par jour.

Prérequis matériels et logiciels

PocketBase est extrêmement frugal. Un VPS avec 1 vCPU et 1 Go de RAM gère sans difficulté un projet en production de taille modeste à moyenne ; 2 Go offrent une marge confortable pour le cache SQLite et les pics de trafic temps réel. Côté stockage, prévoyez 20 à 40 Go SSD selon le volume de fichiers uploadés par vos utilisateurs. Vous aurez besoin de Docker et Docker Compose (ou simplement du binaire et de systemd), d'un nom de domaine ou sous-domaine pointant vers l'IP du VPS via un enregistrement A, et d'un reverse proxy (Caddy, Nginx ou Traefik) pour gérer le TLS. SQLite étant mono-fichier, privilégiez un disque SSD NVMe pour de bonnes performances en écriture concurrente.

Déployer PocketBase étape par étape

01

Préparer le VPS et le DNS

Connectez-vous en SSH, mettez à jour le système avec apt update && apt upgrade -y, puis installez Docker via curl -fsSL https://get.docker.com | sh. Créez un enregistrement DNS de type A faisant pointer app.mondomaine.ma vers l'IP publique de votre VPS et attendez la propagation.

02

Écrire le docker-compose.yml

Utilisez une image PocketBase (ex : ghcr.io/muchobien/pocketbase), exposez le port 8090 en interne et montez un volume nommé sur /pb_data pour persister la base et les fichiers : volumes: - ./pb_data:/pb_data. Ne publiez PAS le port directement sur Internet, laissez le reverse proxy s'en charger.

03

Lancer le conteneur

Exécutez docker compose up -d puis docker compose logs -f pour vérifier que PocketBase démarre et affiche l'URL de l'admin. Le service écoute en interne sur 0.0.0.0:8090.

04

Configurer le reverse proxy et le SSL

Avec Caddy, un Caddyfile de trois lignes suffit : app.mondomaine.ma { reverse_proxy localhost:8090 }. Caddy obtient et renouvelle automatiquement le certificat Let's Encrypt. Pensez à autoriser le passage des WebSockets pour les abonnements temps réel (Caddy le fait par défaut, sous Nginx ajoutez les en-têtes Upgrade et Connection).

05

Créer le compte admin et les collections

Ouvrez https://app.mondomaine.ma/_/, créez le premier compte super-admin, puis définissez vos collections, vos règles d'API (@request.auth.id != "") et vos providers d'authentification OAuth si besoin.

06

Automatiser les sauvegardes

Planifiez un cron qui archive le dossier pb_data (tar czf backup-$(date +%F).tar.gz pb_data) vers un stockage externe. PocketBase propose aussi des backups intégrés déclenchables depuis l'admin ou l'API.

Activez le mode WAL de SQLite (PocketBase le fait par défaut depuis les versions récentes) pour autoriser des lectures concurrentes pendant les écritures : c'est le levier numéro un de performance. Pour un trafic élevé, placez le dossier pb_data sur un volume NVMe et évitez NFS ou tout système de fichiers réseau, qui dégrade fortement les performances de SQLite et peut corrompre la base en cas de verrous mal gérés.

La documentation officielle

Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de PocketBase. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.

Lancez votre backend PocketBase en quelques minutes

Le VPS Cloud ServOrbit vous donne un environnement Docker prêt à l'emploi, une IP fixe et des disques NVMe rapides pour héberger PocketBase avec SSL automatique et sauvegardes simplifiées.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou écrivez à notre équipe — support en anglais, français et arabe.