
Self-host Appwrite on custom domain with Cloudflare and Nginx
A clean walkthrough for setting up Appwrite on your own Linux server, using Docker, Cloudflare DNS, and Nginx Proxy Manager (NPM) for secure access and SSL.
πͺ 1. Prerequisites
A Linux server (Ubuntu 22.04+ recommended) Docker & Docker Compose installed A domain managed in Cloudflare (e.g. crismuscalu.com) Nginx Proxy Manager already running (on ports 80, 81, 443)

πͺ 2. Install Appwrite via Docker
Create a folder for Appwrite and Run the official installer:
During installation: HTTP port β 8888 HTTPS port β 8443 Appwrite hostname β appwrite.crismuscalu.com DNS record hostname (CNAME) β appwrite.crismuscalu.com Email for SSL β your real email (for Letβs Encrypt) After installation completes, Appwrite will run on those ports via Traefik.

πͺ 3. Configure Cloudflare DNS
In your Cloudflare dashboard:
Type Name Target / Value Proxy Status CNAME appwrite cmuscalu.go.ro DNS only (grey cloud)

πͺ 4. Set up Proxy in Nginx Proxy Manager
Open http://your-server-ip:81 β Add Proxy Host:
Details tab Domain: appwrite.crismuscalu.com Forward Hostname/IP: 192.168.1.101 Forward Port: 8443 Scheme: https Websockets Support β Block Common Exploits β
SSL tab Request a new SSL Certificate (Letβs Encrypt) Force SSL β HTTP/2 Support β Save the proxy host.

πͺ 5. Access Appwrite
https://appwrite.crismuscalu.com
You should see the Appwrite console login screen. π Create your admin account and start configuring your project.
