---
layout: article
title: Self-hosting
description: Set up your self-hosted Appwrite instance easily. Read the installation guide to configure and deploy Appwrite on your infrastructure for complete control.
---

Appwrite was designed from the ground up with self-hosting in mind. You can install and run Appwrite on any operating system that can run a [Docker CLI](https://www.docker.com/products/docker-desktop). Self-hosted Appwrite instances can be configured flexibly with access to the same features found on Appwrite Cloud.

**Upgrading from older versions**

If you are migrating from an older version of Appwrite, you need to follow the [migration instructions](/docs/advanced/self-hosting/production/updates)

# Cloud vs Self-hosting

Choose the deployment method that fits your needs.

| Feature | Appwrite Cloud | Self-hosting |
|---------|---------------|--------------|
| Setup | Zero setup | Manual setup required |
| Maintenance | Fully managed | You manage updates and scaling |
| Data control | Managed infrastructure | Full control over data location |
| Compliance | Built-in compliance | Configure for your requirements |
| Scaling | Automatic | Manual configuration |

# When to self-host

Self-hosting is ideal when you need data control or have specific compliance requirements.

**Consider self-hosting if:**
- You want to manage your own infrastructure
- You're a hobbyist or want to experiment with Appwrite in a playground environment
- You need to develop against a local instance of Appwrite

**Appwrite Cloud is recommended if:**
- You want to focus on building features, not managing infrastructure
- Your team lacks extensive DevOps experience
- You expect self-hosting to save costs (it often costs more when factoring in time and expertise)

**Enterprise self-hosting**

For compliance features and dedicated support, explore [enterprise self-hosting solutions](/contact-us/enterprise).

# Quick start

The fastest way to get started with Appwrite self-hosting:

1. **Use a one-click deployment** - Choose from [marketplace installations](#one-click-deployments) for instant setup
2. **Or follow the manual installation** - Use our [Docker installation guide](/docs/advanced/self-hosting/installation) for custom setups
3. **Configure services** - Set up [email](/docs/advanced/self-hosting/configuration/email), [storage](/docs/advanced/self-hosting/configuration/storage), and other services

# Deployment options

Choose the deployment method that best fits your needs:

## One-click deployments

**Recommended:** Use these pre-configured marketplace apps for instant setup:

| &nbsp; | Provider | Installation Link |
| --- | --- | --- |
| ![DigitalOcean logo](/images/one-click/digitalocean.svg) | DigitalOcean | [Click to install](https://marketplace.digitalocean.com/apps/appwrite) |
| ![Gitpod logo](/images/one-click/gitpod.svg) | Gitpod | [Click to install](https://gitpod.io/#https://github.com/appwrite/integration-for-gitpod) |
| ![Akamai logo](/images/one-click/akamai.svg) | Akamai Compute | [Click to install](https://www.linode.com/marketplace/apps/appwrite/appwrite/) |
| ![AWS logo](/images/one-click/aws.svg) | AWS Marketplace | [Click to install](https://aws.amazon.com/marketplace/pp/prodview-2hiaeo2px4md6) |

## Cloud platforms

For custom deployments on major cloud providers:

- [Amazon Web Services](/docs/advanced/self-hosting/platforms/aws): One-click AWS Marketplace deployment with custom configuration options.

- [DigitalOcean](/docs/advanced/self-hosting/platforms/digitalocean): Marketplace installation with simple Droplet configuration.

- [Google Cloud](/docs/advanced/self-hosting/platforms/google-cloud): Deploy using Cloud Run, Compute Engine, or other Google Cloud services.

- [Microsoft Azure](/docs/advanced/self-hosting/platforms/azure): Deploy using Container Apps, Virtual Machines, or other Azure services.

## Platform-as-a-Service (PaaS)

Deploy Appwrite on modern PaaS platforms for simplified management:

- [Coolify](/docs/advanced/self-hosting/platforms/coolify): Open-source platform for easy self-hosting with one-click deployments.
- [Dokploy](/docs/advanced/self-hosting/platforms/dokploy): Open-source deployment platform with one-click Appwrite template deployment.

# Configuration

After deployment, configure Appwrite to enable additional features:

- [Email delivery](/docs/advanced/self-hosting/configuration/email): Set up SMTP providers for user verification, password recovery, and notifications.

- [SMS Delivery](/docs/advanced/self-hosting/configuration/sms): Configure SMS providers for phone authentication and two-factor authentication.

- [Storage Backends](/docs/advanced/self-hosting/configuration/storage): Connect external storage providers like AWS S3, Backblaze, or Wasabi.

- [Functions Runtime](/docs/advanced/self-hosting/configuration/functions): Enable serverless functions with custom runtimes and execution environments.

# Production readiness

Ensure your Appwrite deployment is production-ready:

## Security considerations

- **Environment Variables** - Secure sensitive configuration using environment variables
- **TLS Certificates** - Enable HTTPS with automated certificate management
- **Network Security** - Configure firewalls and security groups appropriately
- **Access Control** - Implement proper authentication and authorization

## Performance optimization

- **Resource Scaling** - Monitor and scale CPU, memory, and storage resources
- **Database Performance** - Optimize database connections and queries
- **CDN Integration** - Use content delivery networks for static assets
- **Load Balancing** - Distribute traffic across multiple instances

## Monitoring and maintenance

- **Health Checks** - Set up monitoring for service availability and performance
- **Log Management** - Centralize and analyze application logs
- **Backup Strategy** - Implement regular database and file backups
- **Update Management** - Keep Appwrite updated with the latest releases

# Get started

Ready to self-host Appwrite? Choose your preferred path:

**One-Click Deploy** - Use a [marketplace installation](#one-click-deployments) for instant setup (recommended)

**Manual Installation** - Follow our [Docker installation guide](/docs/advanced/self-hosting/installation) for custom setups

**Cloud Platform** - [Choose a cloud platform](#cloud-platforms) for production hosting with custom configuration

**Platform-as-a-Service** - Deploy on [Coolify](/docs/advanced/self-hosting/platforms/coolify) or [Dokploy](/docs/advanced/self-hosting/platforms/dokploy) for simplified management
