Aplica a: Cloud Server con Appwrite instalado · Tiempo estimado: 20 min
¿Qué vas a lograr?
Instalar Appwrite, configurar el dominio con SSL, crear el usuario administrador y empezar a construir el backend de tu aplicación.
Qué es Appwrite
Appwrite es una plataforma Backend-as-a-Service (BaaS) de código abierto que provee autenticación, bases de datos, almacenamiento, funciones serverless, mensajería en tiempo real y hosting, todo desde un único panel y con control total sobre los datos.
1. Instalación
Opción A — Imagen Click&Go (recomendada)
En Mi cuenta, andá a Mis Servicios → Cloud & IaaS, seleccioná el servidor, hacé clic en Gestionar
Andá a Software y accesos, buscá la imagen Appwrite en el catálogo y presioná Siguiente
Elegí el método de autenticación y hacé clic en Siguiente
Revisá la información y hacé clic en Confirmar e instalar
La imagen instala automáticamente la última versión estable con Docker y todos los componentes necesarios:
Componente | Descripción |
🚀 Appwrite Core | Conjunto de microservicios que conforman el motor principal de Appwrite: API, workers, realtime y scheduler. |
🗄️ MariaDB | Base de datos relacional donde Appwrite almacena colecciones, documentos, usuarios y configuración de proyectos. |
⚡ Redis | Motor de caché y cola de tareas utilizado para operaciones en segundo plano y suscripciones en tiempo real. |
🔍 Elasticsearch | Motor de búsqueda utilizado para indexar y consultar documentos de forma eficiente. |
🌐 Traefik (Proxy) | Reverse proxy integrado que gestiona el enrutamiento de peticiones y la generación automática de certificados SSL. |
📁 Volúmenes persistentes | Los datos de proyectos, archivos y configuración se almacenan en volúmenes Docker que persisten ante reinicios. |
Los archivos de configuración están en /root/appwrite:
docker-compose.yml— orquesta los microservicios.env— variables de configuración
Cualquier modificación en estos archivos requiere:
docker compose up -d
Opción B — Instalación manual
Iniciar con una imagen Ubuntu mínima en el Cloud Server
Instalar Docker siguiendo esta guía de instalación de Docker
Ejecutar el instalador oficial de Appwrite desde la terminal:
docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
appwrite/appwrite:latest
Recomendada solo para usuarios con experiencia en Docker y administración de servidores Linux.
2. Configurar el dominio y SSL
El dominio debe apuntar a la IP del servidor antes de continuar.
Andá a Software y accesos → Appwrite → Configurar Dominio y SSL
Ingresá el dominio o subdominio y seguí las instrucciones
En unos minutos podés acceder a Appwrite por HTTPS.
Para instalaciones manuales, configurá las variables _APP_DOMAIN, _APP_DOMAIN_TARGET y _APP_DOMAIN_FUNCTIONS en el archivo .env.
3. Crear el usuario administrador
Este paso es crítico — hacélo inmediatamente después de configurar el dominio. El formulario es público: cualquier persona que conozca el dominio puede crear la cuenta administradora.
Ingresá al dominio configurado desde el navegador
Completá el formulario con nombre, email y contraseña (mínimo 8 caracteres)
Confirmá la creación de la cuenta
4. Primeros pasos en el panel
Crear un proyecto — hacé clic en Create Project, asigná un nombre y un ID único
Agregar una plataforma — en Overview → Add a platform, registrá la plataforma (Web, Flutter, Android, iOS, etc.) con su dominio o bundle ID
Configurar Auth — en Auth → Settings habilitá los métodos de inicio de sesión y definí políticas de sesión
Crear una base de datos — en Databases, creá la base de datos con sus colecciones y configurá los permisos
Configurar Storage — en Storage, creá buckets y definí permisos, límites de tamaño y tipos de archivo
Crear Functions — en Functions, desplegá funciones serverless en 15 runtimes disponibles (Node.js, Python, PHP, Go, etc.)
5. Integrar el SDK en la aplicación
Instalación (JavaScript):
npm install appwrite
Inicialización:
import { Client, Account } from "appwrite";
const client = new Client()
.setEndpoint("https://app.tudominio.com/v1") // URL de tu instancia
.setProject("<ID-de-tu-proyecto>"); // ID del proyecto en Appwrite
const account = new Account(client);Crear un usuario:
const user = await account.create(
"unique()",
"[email protected]",
"contraseña-segura",
"Nombre Apellido"
);
console.log(user);
SDKs disponibles para otras plataformas:
Plataforma | Instalación |
Web / React / Vue / Svelte |
|
Node.js (server-side) |
|
Flutter / Dart |
|
Python |
|
PHP |
|
Swift (iOS / macOS) | Swift Package Manager |
Kotlin (Android) | Gradle |
6. Configuración avanzada con variables de entorno
El archivo de configuración está en /root/appwrite/.env. Antes de modificarlo, creá un backup:
cp /root/appwrite/.env /root/appwrite/.env.backup
Para configurar SMTP (verificación de email, recuperación de contraseña, etc.):
_APP_SMTP_HOST=tu-servidor-smtp.com
_APP_SMTP_PORT=587
_APP_SMTP_SECURE=tls
[email protected]
_APP_SMTP_PASSWORD=tu-contraseña-smtp
[email protected]
_APP_SYSTEM_EMAIL_NAME="Appwrite"
Después de editar el .env:
cd /root/appwrite && docker compose down && docker compose up -d
Comandos útiles:
# Cambiar al directorio de la aplicación
cd /root/appwrite
# Ver estado de los contenedores
docker compose ps
# Ver logs en tiempo real
docker compose logs -f
# Reiniciar todos los servicios
docker compose restart
# Detener servicios
docker compose down
# Iniciar servicios
docker compose up -d
# Acceder al contenedor principal de Appwrite
docker compose exec appwrite bash
# Ver uso de espacio de Docker
docker system df
# Limpiar contenedores, imágenes y redes no utilizadas
docker system prune
7. Actualizar Appwrite
Ingresar por SSH al servidor
Ejecutar
cd /root/appwritepara ingresar al directorio de la aplicaciónRealizar un pull de los contenedores actualizados y reiniciarlos:
docker compose pull
docker compose up -d
Verificá la versión actual en Settings → Overview. Antes de actualizar a una versión mayor, revisá las notas de migración en la documentación oficial.
8. Consideraciones de seguridad
Completá el registro inmediatamente al activar el dominio
Usá una contraseña de al menos 12 caracteres
Guardá la variable
_APP_OPENSSL_KEY_V1en un lugar seguro — perderla implica perder acceso a los datos encriptadosConfigurá permisos granulares en bases de datos, colecciones y buckets usando el sistema de roles de Appwrite
La instalación Click&Go ejecuta todos los servicios dentro de contenedores Docker, lo que agrega una capa adicional de aislamiento.
Mantené abiertos solo los puertos necesarios en el Firewall: 80, 443 y el puerto SSH
Verificá que las copias de seguridad del Cloud Server estén activas






