Deploy web apps from Git in minutes_
Ship static, SSR, and client-rendered frontends with automatic builds, branch previews, and Appwrite services connected behind the scenes.
Build logs
- Cloning repository2s
- Building38s
- Deploying4s
- Ready
- Framework presets
- 14
- Push to deploy
- Git
- Branch URLs
- Preview
- Rollbacks
- Instant
- CDN + TLS
- Edge
Deploy with the framework your team already uses
Deploy from Git with preview URLs
Connect GitHub or Origin and ship on every push. Commits to your production branch build and auto-activate on your primary domain; other branches get preview links for org members to review before merge.
Supported Git providers
GitLab, Bitbucket, Gitea, and more coming soon.
main
4e1f2a9
acme.io
feat/pricing
9f8e7d6
feat-pricing-9f8e7d6.appwrite.network
appwrite bot · 2m ago
Pull request #42Appwrite Sites
marketing-site
ReadyView LogsPreview URLDeploy the way your team works
Use Git for automatic builds on push, the Appwrite CLI in CI, or a manual tarball upload from the Console. Every path runs through the same build pipeline, logs, domains, and rollbacks.
Git
Connect a repository for automatic builds on push, branch previews, and production deploys.
$ git push origin main
CLI
Deploy from CI or your terminal with the Appwrite CLI and appwrite.config.json.
$ appwrite push sites
Manual upload
Package your source as .tar.gz and upload from the Console when you need a one-off deploy.
marketing-site.tar.gz
Static and SSR hosting
Host static sites, SPAs, and PWAs alongside server-rendered apps. Choose the rendering mode that fits your framework, from Vite and Astro to Next.js 16, Nuxt, SvelteKit, and TanStack Start.
Rendering modes
acme.io/*
Static, SPA, and PWA
Pages built at deploy time. Fast cold starts for Vite, Astro, React, and Vue.
Server-side rendering
Render on every request at the edge. Runtime env vars and framework-native 404 pages.
Hybrid apps are supported too. Frameworks like Next.js, Nuxt, and SvelteKit can mix static pages with server-rendered routes in the same site.
Build and deploy faster
Spend less time waiting on builds and more time shipping updates. Cached dependencies speed up repeat deploys, path filters help monorepos skip unnecessary rebuilds, and deployment retention automatically removes old inactive deployments to save storage. Tune build and runtime CPU and memory when compilation or SSR needs more headroom.
Deployments
DurationPath filters
Deployment retention
30 days
Instant rollbacks
Switch the active deployment with zero downtime and no rebuild. Pick any previous ready deployment from Overview in the Console and promote it in one click when you need to recover fast.
Production
acme.io
v1.4.2 · main
Active now · 2h ago
v1.4.1 · main
Ready · yesterday
v1.4.0 · main
Ready · 3 days ago
Promote a previous deployment without rebuilding.
Delivered on Appwrite Network
Every site runs on Appwrite Network. Auth, Databases, and Storage stay in your project region while pages and assets reach users from the edge.
Connect hostnames to your site
Point production at your live deployment, give staging branches their own domain, or configure redirects. Every site also gets a generated .appwrite.network URL for instant sharing.
Marketing site
67abc12f
acme.io
Active deployment
64d4d22d.appwrite.network
Generated · active deployment
staging.acme.io
Git branch · staging
www.acme.io
acme.io
Buy domains and manage DNS
Purchase domains in Appwrite and manage records with Appwrite DNS from the Console. TLS is issued automatically when you connect a hostname.
Buy domain
Register a domain in Appwrite without leaving the Console.
Appwrite DNS
Manage A, CNAME, TXT, and other records in one place.
A@76.76.21.21
CNAMEwwwacme.dev
Automatic TLS
Certificates are issued when a hostname is verified.
Logs, traffic, and usage insights
Track requests, bandwidth, builds, and compute over time with breakdowns by path, asset type, or region. Inspect individual requests with status, headers, and SSR console output in the same view.
Traffic
Last 30 days
Top paths
Request logs
LiveRequest details
200GET- Path
- /pricing
- Duration
- 124ms
- Region
- US East
- Cache
- Miss
SSR output
GET /pricing 200 · Rendered in 118ms [console] Loaded 12 products from catalog [console] Cached pricing tiers for 5m
Framework quick-starts and templates
Start from official quick-starts or pick a template in the create wizard. Filter by framework and use case, connect GitHub or Origin, and deploy with build settings already tuned for Appwrite.
Tools built for developers and agents_
API-first by design. Use the Console, Realtime, SDKs, CLI, Terraform, MCP, and agent skills on the same project.
Developer and agent experience
A typical integration in TypeScript.
import { Client, Sites } from 'appwrite';
const client = new Client() .setEndpoint('https://<REGION>.cloud.appwrite.io/v1') .setProject('<PROJECT_ID>');
const sites = new Sites(client);
const deployment = await sites.createDeployment({ siteId: 'marketing-site', code: tarball, activate: true,});Everything is an API
REST, GraphQL, and SDKs for every service. Automate and integrate without console-only workflows.
Console
Manage every service in your project from a unified Console. Optimized keyboard access and a Command Center keep you moving fast.
Realtime
Subscribe to live events and react to changes as they happen.
sites.*.deployments.*
sites.*.deployments.*.create
MCP
Connect AI agents to your Appwrite project, APIs, and docs through one remote MCP server.
appwrite
https://mcp.appwrite.ioTerraform
Manage Appwrite infrastructure as code with the official provider.
terraform plan
terraform applyAgent skills
Give AI agents SDK-accurate knowledge of Appwrite services and APIs.
npx skills add appwrite/skillsSDKs
Client and server SDKs for the platforms your team already uses. 15 official SDKs available across client and server runtimes.
CLI
Deploy resources, manage projects, and generate typed SDKs from your terminal.
appwrite login
appwrite deployFAQ_
Sites supports popular frameworks including Next.js, Nuxt, SvelteKit, Astro, Vue, TanStack Start, Remix, Angular, React, and more. Static hosting works with any framework that outputs HTML assets; SSR is available for supported server-rendered stacks. See the frameworks page for build settings per preset.
Yes. Push deployments with the Appwrite CLI from CI or your machine, or upload a .tar.gz archive from the Console for manual deploys. Git remains the recommended path for automatic builds on push and branch previews, but every deploy method uses the same build pipeline and settings.
Yes. Usage charts show requests, bandwidth, builds, and compute over selectable ranges, with breakdowns to see where traffic comes from. The Logs tab records every request with status code, method, path, and duration. Open a log entry for request and response headers. For SSR sites, console.log and console.error output appears in response logs.
Yes. Add multiple domain rules on a site: point one hostname to the active production deployment, map another to a specific Git branch for staging, or configure redirects. Branch and commit preview URLs are also generated automatically for Git deployments.
When you push to a branch other than your production branch, Appwrite builds a deployment but does not activate it on your primary domain. Instead, a preview URL is generated for org members to review. Pull requests can also receive preview links and optional PR comments unless silent mode is enabled.
Static and SPA hosting serves pre-built assets at the edge with fast cold starts. SSR runs your framework on each request, which suits dynamic or user-specific pages and gives you runtime access to environment variables. Many frameworks support both modes in the same app.
Build workers restore a dependency cache at the start of each deployment, so package installs on unchanged lockfiles finish in seconds instead of minutes. Path filters and root directory settings let Turborepo monorepos skip builds when unrelated packages change. Deployment retention automatically deletes inactive deployments after a period you choose, so preview builds do not pile up and consume storage. You can also tune build and runtime CPU and memory in site settings when compilation or SSR needs more headroom.
Instant rollbacks change which ready deployment is served to visitors. They do not delete, modify, or rebuild your code, so recovery is near-instant with zero downtime. Open your site Overview in the Console, click Instant Rollback, and promote a previous deployment.
Yes. Purchase domains from your organization Domains tab and manage records with Appwrite DNS in the same Console. Connect the domain to a site for automatic TLS, or use the generated .appwrite.network URL while you set up DNS. Apex domains can delegate to Appwrite nameservers; subdomains use CNAME records. Sites traffic is delivered through Appwrite Network with CDN, DDoS protection, and Firewall.
Sites run on Appwrite Network with global CDN delivery, DDoS protection, Firewall, and TLS encryption. SSR workloads can execute closer to users at the edge while Auth, Databases, Storage, and other project services stay in your selected region.
Yes. Browse templates from Sites > Templates in the Console and filter by framework or use case. The create wizard walks you through GitHub or Origin setup, production branch, environment variables, and domain configuration. Official quick-starts cover Next.js, Nuxt, SvelteKit, Astro, Vue, TanStack Start, and more.
Yes. Sites deploy in the same project as Auth, Databases, Storage, Functions, and Messaging. Use environment variables for API keys and endpoints, then call Appwrite SDKs from your frontend or SSR routes without managing separate infrastructure.
Start building with Sites_
Connect a repository and deploy your first frontend alongside your Appwrite backend.
Explore Appwrite_
Modular backend services that share the same project, permissions model, and console.