Skip to content
Appwrite Sites

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.

acme.appwrite.network
Live
nextjs

Build logs

44s
  • 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

  • tanstack-start
  • nextjs
  • nuxt
  • sveltekit
  • angular
  • remix
  • react
  • vue
  • vite
  • analog
  • astro
  • flutter
  • react-native
  • vanilla

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

GitHubOriginGitLabGiteaForgejoGogsBitbucket

GitLab, Bitbucket, Gitea, and more coming soon.

main

4e1f2a9

ProductionActive

acme.io

feat/pricing

9f8e7d6

PreviewReady

feat-pricing-9f8e7d6.appwrite.network

appwrite bot · 2m ago

Pull request #42

Appwrite Sites

marketing-site

ReadyView LogsPreview URL

Deploy 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

BuildLogsDomainsRollback

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.

GET /docs8msHit

Server-side rendering

Render on every request at the edge. Runtime env vars and framework-native 404 pages.

GET /dashboard118msMiss

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

Duration
67abc12fActive24s
Cache hit
89def45a28s
Cache hit
12ab34cd1m 12s
Build

Path filters

apps/web/**
apps/docs/**Skipped

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

Active

v1.4.1 · main

Ready · yesterday

Rollback

v1.4.0 · main

Ready · 3 days ago

Ready

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.

Global CDNDDoS protectionTLS encryptionEdge SSR
Appwrite Network docs
PoP locationsEdgesRegions

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.

acme.devAvailable

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.

acme.devVerified

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

Sep 17Oct 1Oct 16

Top paths

/
42%
/pricing
18%
/docs
11%

Request logs

Live
200GET/pricing124ms
304GET/assets/logo.svg8ms
200POST/api/contact342ms
404GET/old-blog/post12ms
500GET/dashboard1.2s

Request 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.

Create siteClone template

FAQ_

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.