Guía de despliegue

Alojar Appwrite en un VPS

Desplegar en un VPS Cloud →

Tutorial

Alojar Appwrite en un VPS

Bases de datos4 min de lectura6 pasos

Appwrite es un backend-as-a-service open source pensado para los desarrolladores web y móviles: base de datos documental, autenticación, almacenamiento de archivos, funciones serverless y messaging. Autoalojarlo en un VPS le ofrece un backend completo self-hosted, con SDK multiplataforma y sin facturación por uso.

Contenido· Por qué autoalojar Appwrite en un VPS1/6
  1. 01Por qué autoalojar Appwrite en un VPS
  2. 02Los beneficios concretos de un Appwrite autoalojado
  3. 03Requisitos de hardware y software
  4. 04Desplegar Appwrite self-hosted con Docker
  5. 05Appwrite vs Supabase: ¿cuál autoalojar?
  6. 06Esta plantilla aporta el núcleo: las Functions vienen después

Por qué autoalojar Appwrite en un VPS

Appwrite reúne en una sola plataforma todo lo que una aplicación necesita del lado del servidor: autenticación con más de 30 métodos OAuth, base de datos documental con permisos granulares, almacenamiento de archivos con transformación de imágenes, funciones serverless en varios lenguajes y messaging. Su versión cloud factura por uso y por recursos; al autoalojarla en un VPS, despliega el conjunto mediante Docker y lo pilota desde una consola web elegante, sin tope. Resulta especialmente adecuado para los desarrolladores de Flutter, React Native o web que quieren un backend listo para usar con SDK oficiales, manteniendo los datos y la lógica en su propia infraestructura. Usted controla las funciones, las claves API y los permisos, y evoluciona a su ritmo.

Los beneficios concretos de un Appwrite autoalojado

  • Backend todo en uno: Auth, Databases, Storage, Functions y Messaging en una consola única.
  • SDK oficiales para Flutter, React Native, Web, Android, iOS, Node, Python y más.
  • Más de 30 proveedores OAuth integrados (Google, GitHub, Apple...) sin escribir código.
  • Funciones serverless self-hosted: ejecute su lógica de negocio sin ningún servicio externo.
  • Permisos granulares a nivel de documento y de colección, gestionados desde la consola.
  • Sin facturación por ejecución ni cuota de usuarios: tarifa de VPS fija.

Requisitos de hardware y software

Appwrite orquesta varios servicios (API, consola, MariaDB, Redis, workers y el runtime de funciones mediante Docker-in-Docker). Para una instancia de desarrollo, bastan 2 vCPU y 4 GB de RAM con 40 GB de SSD. Para producción con funciones serverless activas y varias apps, apunte a 4 vCPU, 8 GB de RAM y 80 GB de SSD, ya que cada función se ejecuta en su propio contenedor efímero. En cuanto al software: Ubuntu 22.04/24.04 LTS, Docker y Docker Compose v2 (Appwrite gestiona su propio Traefik integrado para el enrutamiento y el SSL), y un nombre de dominio que apunte al VPS (p. ej.: api.miapp.com). Los puertos 80 y 443 deben estar libres para que Traefik obtenga los certificados Let's Encrypt.

Desplegar Appwrite self-hosted con Docker

  1. Preparar el VPS y el dominio

    Instale Docker, haga que su dominio apunte a la IP del VPS y asegúrese de que los puertos 80 y 443 estén abiertos en ufw: el Traefik integrado de Appwrite los necesita para el challenge ACME de Let's Encrypt.

  2. Lanzar el instalador oficial

    Ejecute el comando de instalación docker run ... appwrite/appwrite install: un asistente interactivo le pide el dominio y el puerto HTTP/HTTPS, y genera el docker-compose.yml así como el archivo .env con los secretos. Es el método recomendado, mejor que un compose escrito a mano.

  3. Configurar el dominio y el SSL

    Rellene _APP_DOMAIN y _APP_DOMAIN_TARGET con su nombre de dominio. Traefik genera entonces automáticamente el certificado HTTPS. Compruebe el acceso a la consola en https://api.miapp.com y cree su cuenta de administrador raíz.

  4. Crear un proyecto y su primera aplicación

    Desde la consola, cree un proyecto, añada una plataforma (Web, Flutter, Apple...) declarando el hostname autorizado y recupere el ID del proyecto. Esos datos alimentan la inicialización del SDK en el lado del cliente.

  5. Endurecer la configuración de producción

    En .env, ponga _APP_OPTIONS_ABUSE y _APP_OPTIONS_FORCE_HTTPS en enabled, configure el SMTP (_APP_SMTP_*) para los correos de verificación y restrinja _APP_CONSOLE_WHITELIST_* si quiere limitar el acceso a la consola.

  6. Respaldar MariaDB y el Storage

    Programe un dump diario de la base de datos MariaDB de Appwrite y archive el volumen de Storage (uploads). Como Appwrite cifra ciertos datos con _APP_OPENSSL_KEY_V1, guarde también ese secreto: sin él, los archivos cifrados son irrecuperables.

Appwrite vs Supabase: ¿cuál autoalojar?

Desplace la tabla

CriterioAppwriteSupabase
Base de datosMariaDB, modelo documentalPostgreSQL nativo, SQL completo
EnfoqueOrientado a SDK y apps móvilesOrientado a SQL y apps relacionales
Funciones serverlessNativas, multilenguaje, integradasEdge Functions (Deno)
InstalaciónInstalador interactivo oficialCompose que hay que configurar a mano
SSL / enrutamientoTraefik integrado, automáticoReverse proxy externo por añadir
Búsqueda vectorial / IANo nativaNativa mediante pgvector
Ideal paraFlutter, React Native, mobile-firstSQL avanzado, RAG, relacional
Consola de administraciónConsola rica y guiadaStudio centrado en las tablas SQL

Guarde sin falta la variable _APP_OPENSSL_KEY_V1 de su .env en una caja fuerte aparte: Appwrite la utiliza para cifrar los archivos y ciertos datos sensibles, y una restauración sin esa clave deja ilegibles los contenidos cifrados. Para las funciones serverless en producción, vigile el consumo de disco ligado a los contenedores de runtime efímeros y programe un docker system prune regular para evitar la saturación del SSD por las imágenes intermedias.

Esta plantilla aporta el núcleo: las Functions vienen después

El instalador oficial de Appwrite genera más de 25 contenedores, entre ellos workers de segundo plano y un runtime de ejecución para las Functions serverless y los Sites. Para mantener una huella reducida en el VPS, esta plantilla solo aporta el núcleo autosuficiente, el servidor de API, MariaDB, Redis y Traefik, que hace funcionar plenamente Auth, Databases, Storage, Realtime y la Console. Las Functions serverless, los webhooks salientes y el envío de correos en segundo plano requieren los contenedores worker y executor adicionales, y no están activados aquí. Cuando su proyecto lo necesite, pase a la stack docker-compose oficial completa de Appwrite y prevea al menos 4 GB de RAM. Para las copias de seguridad, programe snapshots de los volúmenes Docker appwrite-mariadb (datos) y appwrite-uploads (archivos).

Autoaloje su backend Appwrite

El VPS Cloud ServOrbit, con plantilla Docker lista para usar y SSD, aloja toda la stack de Appwrite, funciones serverless incluidas, en HTTPS.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva