Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

How to Self-Host Appwrite on a VPS (Complete Guide)

Learn how to self-host Appwrite on a VPS with a step-by-step 2026 guide covering install, configuration, and securing Appwrite for reliable daily use.

How to Self-Host Appwrite on a VPS (Complete Guide)

Appwrite is an open-source backend server that provides developers with the tools they need to build and deploy server-side applications easily. In this guide, weโ€™ll detail how to self-host Appwrite on a VPS using Docker, covering everything from initial setup to best practices.

Choosing Your VPS Provider

Before diving into the installation process, you should choose a VPS provider that fits your budget and requirements. Below is a comparison of some of the top VPS providers:

ProviderPrice (EUR/USD)ResourcesSpecial Features
Contabo VPS5.99 EUR/mo4 CPUs, 8 GB RAMHigh storage options
Hetzner Cloud4.15 EUR/mo2 CPUs, 8 GB RAMFlexible scaling, reliable uptime
DigitalOcean6 USD/mo1 CPU, 1 GB RAMEasy-to-use interface
Vultr6 USD/mo1 CPU, 1 GB RAMGlobal presence, SSD storage
Linode (Akamai)5 USD/mo1 CPU, 2 GB RAMExcellent support, additional features for developers

For our example, we will use Contabo with a starting price of 5.99 EUR/month, but feel free to explore other options suitable to your needs.

Getting Started with Appwrite

Prerequisites

  1. VPS Access: Ensure you have SSH access to your VPS. You can get a VPS from Contabo VPS, Hetzner Cloud, or any other provider.
  2. Docker & Docker Compose: Appwrite runs on Docker, so Docker and Docker Compose must be installed on your VPS.

Installing Docker and Docker Compose

  1. Connect to your VPS via SSH:

    ssh root@your_vps_ip
  2. Update your package index:

    sudo apt update
  3. Install Docker:

    sudo apt install docker.io -y
  4. Enable and start the Docker service:

    sudo systemctl enable docker
    sudo systemctl start docker
  5. Install Docker Compose:

    sudo apt install docker-compose -y
  6. Verify your Docker and Docker Compose installations:

    docker --version
    docker-compose --version

Deploying Appwrite

Now that you have Docker installed, you can deploy Appwrite by following these steps:

  1. Create a new directory for Appwrite:

    mkdir ~/appwrite
    cd ~/appwrite
  2. Create a docker-compose.yml file:

    nano docker-compose.yml

    Add the following configuration:

    version: '3.5'
    services:
      appwrite:
        image: appwrite/appwrite:latest
        environment:
          - _APP_ENV=production
          - _APP_OPENSSL_KEY=your_openssl_key
          - _APP_DOMAIN=your_domain_or_ip
          - _APP_ADMIN_EMAIL=your_email
          - _APP_ADMIN_PASSWORD=your_password
        volumes:
          - appwrite:/storage
        ports:
          - 80:80
          - 443:443
        restart: unless-stopped
    
    volumes:
      appwrite:

    Replace your_openssl_key, your_domain_or_ip, your_email, and your_password with appropriate values.

  3. Start Appwrite:

    docker-compose up -d
  4. Verify that Appwrite is running:

    docker ps

Once the installation is complete, you can access the Appwrite dashboard by navigating to http://your_domain_or_ip in your web browser.

Configuring Appwrite

After accessing the dashboard, you will need to complete the initial setup:

  1. Create a new project: This can be done via the dashboard.
  2. Configure your database: Choose the type of storage you need.
  3. Set up authentication and authorization: Ensure you provide the necessary credentials for your app.

Best Practices for Self-Hosting Appwrite

  1. Regular Backups: Set up a backup strategy for your Appwrite storage to prevent data loss.
  2. Secure Your Server: Make sure to implement security best practices such as firewall rules and SSH key authentication.
  3. Monitor Performance: Keep an eye on your serverโ€™s performance and optimize Appwrite settings as necessary.

FAQs

What are the benefits of self-hosting Appwrite?

Self-hosting Appwrite allows you greater control over your environment, data privacy, and customization. Unlike cloud-hosted solutions, you can tailor your backend to your exact needs, managing everything from storage to authentication. Additionally, self-hosting can be more cost-effective in the long run, especially for small projects or businesses. Using VPS services like Vultr allows you to scale up resources as your project grows.

Can I run Appwrite on a low-spec VPS?

While Appwrite can run on low-spec VPS settings, it is recommended to choose a server with at least 1 CPU and 2 GB of RAM for optimal performance. Depending on the size of your application and the expected traffic, you might want to choose one of the higher tier plans from providers like DigitalOcean or Linode. Monitor your serverโ€™s performance regularly to ensure it meets your applicationโ€™s needs.

How do I update Appwrite after initial installation?

Updating Appwrite is straightforward. You can easily achieve this using Docker. First, pull the latest image with:

docker pull appwrite/appwrite:latest

Then, stop your current Appwrite services:

docker-compose down

Finally, bring the services back up with:

docker-compose up -d

Ensure you regularly check for new versions and read the release notes for breaking changes that may impact your configuration.

Self-hosting Appwrite on a VPS is a powerful way to maintain control over your applications. By following the above steps and guidelines, youโ€™ll have a robust backend that can scale as your needs evolve. For further insights into the best VPS hosting solutions, visit our full VPS comparison.