Guide de déploiement

Héberger Appwrite sur un VPS

Déployer sur un VPS Cloud →

Bases de données9 min de lecture

Héberger Appwrite sur un VPS

Appwrite est un backend-as-a-service open source pensé pour les développeurs web et mobiles : base documentaire, authentification, stockage de fichiers, fonctions serverless et messaging. L'auto-héberger sur un VPS vous offre un backend complet self-hosted, avec SDK multi-plateformes et sans facturation à l'usage.

Pourquoi auto-héberger Appwrite sur un VPS

Appwrite regroupe en une seule plateforme tout ce dont une application a besoin côté serveur : authentification avec plus de 30 méthodes OAuth, base de données documentaire avec permissions granulaires, stockage de fichiers avec transformation d'images, fonctions serverless dans plusieurs langages, et messaging. Sa version cloud facture par usage et par ressources ; en self-hostant sur un VPS, vous déployez l'ensemble via Docker et vous le pilotez depuis une console web élégante, sans plafond. C'est particulièrement adapté aux développeurs Flutter, React Native ou web qui veulent un backend prêt à l'emploi avec des SDK officiels, tout en gardant les données et la logique sur leur propre infrastructure. Vous contrôlez les fonctions, les clés API et les permissions, et vous évoluez à votre rythme.

Les bénéfices concrets d'un Appwrite auto-hébergé

  • Backend tout-en-un : Auth, Databases, Storage, Functions et Messaging dans une console unique.
  • SDK officiels pour Flutter, React Native, Web, Android, iOS, Node, Python et plus.
  • Plus de 30 fournisseurs OAuth intégrés (Google, GitHub, Apple...) sans code.
  • Fonctions serverless self-hosted : exécutez votre logique métier sans service externe.
  • Permissions granulaires au niveau document et collection, gérées depuis la console.
  • Pas de facturation à l'exécution ni de quota d'utilisateurs : forfait VPS fixe.

Prérequis matériels et logiciels

Appwrite orchestre plusieurs services (API, console, MariaDB, Redis, workers, et le runtime de fonctions via Docker-in-Docker). Pour une instance de développement, 2 vCPU et 4 Go de RAM avec 40 Go de SSD suffisent. Pour de la production avec des fonctions serverless actives et plusieurs apps, visez 4 vCPU, 8 Go de RAM et 80 Go de SSD, car chaque fonction s'exécute dans son propre conteneur éphémère. Côté logiciel : Ubuntu 22.04/24.04 LTS, Docker et Docker Compose v2 (Appwrite gère son propre Traefik intégré pour le routage et le SSL), et un nom de domaine pointant vers le VPS (ex : api.monapp.ma). Le port 80 et 443 doivent être libres pour que Traefik obtienne les certificats Let's Encrypt.

Déployer Appwrite self-hosted avec Docker

01

Préparer le VPS et le domaine

Installez Docker, faites pointer votre domaine vers l'IP du VPS, et assurez-vous que les ports 80 et 443 sont ouverts dans ufw : le Traefik intégré d'Appwrite en a besoin pour le challenge ACME de Let's Encrypt.

02

Lancer l'installateur officiel

Exécutez la commande d'installation docker run ... appwrite/appwrite install : un assistant interactif vous demande le domaine, le port HTTP/HTTPS et génère le docker-compose.yml ainsi que le fichier .env avec les secrets. C'est la méthode recommandée plutôt qu'un compose écrit à la main.

03

Configurer le domaine et le SSL

Renseignez _APP_DOMAIN et _APP_DOMAIN_TARGET avec votre nom de domaine. Traefik génère alors automatiquement le certificat HTTPS. Vérifiez l'accès à la console sur https://api.monapp.ma et créez votre compte administrateur racine.

04

Créer un projet et sa première application

Depuis la console, créez un projet, ajoutez une plateforme (Web, Flutter, Apple...) en déclarant l'hostname autorisé, et récupérez l'ID de projet. Ces informations alimentent l'initialisation du SDK côté client.

05

Durcir la configuration de production

Dans .env, passez _APP_OPTIONS_ABUSE et _APP_OPTIONS_FORCE_HTTPS à enabled, configurez le SMTP (_APP_SMTP_*) pour les emails de vérification, et restreignez _APP_CONSOLE_WHITELIST_* si vous voulez limiter l'accès à la console.

06

Sauvegarder MariaDB et le Storage

Planifiez un dump quotidien de la base MariaDB d'Appwrite et archivez le volume de Storage (uploads). Comme Appwrite chiffre certaines données avec _APP_OPENSSL_KEY_V1, sauvegardez aussi ce secret : sans lui, les fichiers chiffrés sont irrécupérables.

Appwrite vs Supabase : lequel self-hoster ?

CritèreAppwriteSupabase
Base de donnéesMariaDB, modèle documentairePostgreSQL natif, SQL complet
ApprocheOrienté SDK et apps mobilesOrienté SQL et apps relationnelles
Fonctions serverlessNatives, multi-langages intégréesEdge Functions (Deno)
InstallationInstallateur interactif officielCompose à configurer manuellement
SSL / routageTraefik intégré, automatiqueReverse proxy externe à ajouter
Recherche vectorielle / IANon nativeNative via pgvector
Idéal pourFlutter, React Native, mobile-firstSQL avancé, RAG, relationnel
Console d'administrationConsole riche et guidéeStudio centré sur les tables SQL

Sauvegardez impérativement la variable _APP_OPENSSL_KEY_V1 de votre .env dans un coffre séparé : Appwrite l'utilise pour chiffrer les fichiers et certaines données sensibles, et une restauration sans cette clé rend les contenus chiffrés illisibles. Pour les fonctions serverless en production, surveillez la consommation disque liée aux conteneurs de runtime éphémères et planifiez un docker system prune régulier afin d'éviter la saturation du SSD par les images intermédiaires.

Self-hostez votre backend Appwrite

Le VPS Cloud ServOrbit avec template Docker prêt à l'emploi, SSD NVMe et CPU dédié accueille toute la stack Appwrite, fonctions serverless comprises, en HTTPS.

Besoin d'aide ?

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