PocketBase

pocketbase/pocketbase ↗ ·★ 38.0k ·Go ·MIT

Back-end open source dans un seul fichier — base de données SQLite embarquée, abonnements en temps réel, authentification et stockage de fichiers. Livré sous forme d'un binaire Go unique, idéal pour les hôtes de conteneurs et de VM.

PocketBase screenshot
Étoiles
★ 38.0k
Langage
Go
Licence
MIT
Cibles de déploiement
3

Aperçu

PocketBase compresse tout un back-end dans un seul binaire Go : une base de données SQLite embarquée, une API REST, des abonnements en temps réel, l’authentification des utilisateurs, le stockage de fichiers et un tableau de bord d’administration, le tout dans un fichier que vous pouvez exécuter n’importe où. Pour les MVP et les projets personnels, il supprime le cérémonial habituel consistant à câbler ensemble une base de données, un service d’authentification et une couche d’API — vous téléchargez un exécutable et vous avez un back-end.

Parce qu’il est autonome, PocketBase est un choix naturel pour les hôtes de conteneurs et de VM plutôt que pour les plateformes statiques. Il brille sur Fly.io, Railway et Render, où vous pouvez exécuter le binaire ou son image Docker en continu. La seule chose à bien gérer est le stockage : PocketBase conserve ses données dans un fichier SQLite sur disque, vous attachez donc un volume persistant pour vous assurer que ce fichier survive aux redémarrages et aux déploiements.

Vous pouvez utiliser PocketBase de deux façons. La plupart des gens l’exécutent tel quel et construisent n’importe quel front-end contre ses API générées automatiquement et ses canaux temps réel. Si vous avez besoin d’une logique serveur personnalisée, il fait aussi office de framework Go que vous pouvez étendre. Le compromis à comprendre, c’est qu’il est mono-nœud par conception — excellent pour une vaste gamme d’applications, mais pas destiné aux charges nécessitant une mise à l’échelle horizontale ou un débit d’écritures concurrentes très élevé.

Points forts

  • Tout le back-end dans un seul exécutable — base de données, API, authentification et interface d'administration
  • SQLite embarqué avec abonnements en temps réel via WebSockets
  • Authentification des utilisateurs, stockage de fichiers et tableau de bord d'administration intégrés
  • Extensible comme framework Go ou utilisable tel quel avec n'importe quel front-end

Idéal pour

  • MVP et projets personnels qui ont besoin d'un back-end rapidement
  • Applications qui veulent des données en temps réel sans gérer de service séparé
  • Auto-hébergeurs qui préfèrent un seul binaire à une pile de services

Pour commencer

  1. 1 Téléchargez le binaire (ou utilisez l'image Docker officielle) et exécutez ./pocketbase serve
  2. 2 Ouvrez l'interface d'administration pour créer des collections, des règles et le premier utilisateur administrateur
  3. 3 Pointez votre front-end vers les API REST et temps réel générées automatiquement
  4. 4 Déployez le binaire ou le conteneur sur Fly.io, Railway ou Render et attachez un volume persistant
#backend#sqlite#realtime#auth#self-hosted

FAQ

Pourquoi PocketBase a-t-il besoin d'un volume persistant ?

Ses données vivent dans un fichier SQLite embarqué sur disque. Sur des hôtes comme Fly.io, Railway ou Render, vous devez attacher un volume persistant pour que la base de données survive aux redémarrages et aux redéploiements.

SQLite est-il suffisant pour la production ?

Pour de nombreuses applications à forte lecture et de taille petite à moyenne, oui. PocketBase est mono-nœud par conception ; si vous avez besoin d'une mise à l'échelle horizontale ou d'écritures concurrentes intensives, évaluez si cela convient à votre charge de travail.

Suis-je obligé d'écrire du Go ?

Non. Vous pouvez exécuter PocketBase tel quel et lui parler depuis n'importe quel front-end via ses API REST et temps réel. Le Go n'est nécessaire que si vous voulez l'étendre comme framework.

Déployer PocketBase gratuitement

Plateformes à offre gratuite capables d’héberger ce projet. Choisissez-en une et lancez-vous.