--- page-title: "Installation - Docs - Appwrite" url: https://appwrite.io/docs/installation date: "2023-04-06 23:41:10" --- ##   Table of contents - [Home](https://appwrite.io/docs) **Getting Started** - [Installation](https://appwrite.io/docs/installation) -    [Production](https://appwrite.io/docs/production) -    [Env. Variables](https://appwrite.io/docs/environment-variables) -    [Email Delivery](https://appwrite.io/docs/email-delivery) -    [SMS Delivery](https://appwrite.io/docs/sms-delivery) -    [Certificates](https://appwrite.io/docs/certificates) -    [Debugging](https://appwrite.io/docs/debugging) -    [Upgrade](https://appwrite.io/docs/upgrade) - [Appwrite for Web](https://appwrite.io/docs/getting-started-for-web) - [Appwrite for Flutter](https://appwrite.io/docs/getting-started-for-flutter) - [Appwrite for Apple](https://appwrite.io/docs/getting-started-for-apple) - [Appwrite for Android](https://appwrite.io/docs/getting-started-for-android) - [Appwrite for Server](https://appwrite.io/docs/getting-started-for-server) - [Appwrite CLI](https://appwrite.io/docs/command-line) -   [Deployment](https://appwrite.io/docs/command-line-deployment) -   [Commands](https://appwrite.io/docs/command-line-commands) -   [CI Mode](https://appwrite.io/docs/command-line-ci) - [SDKs](https://appwrite.io/docs/sdks) **APIs** - [REST](https://appwrite.io/docs/rest) - [GraphQL](https://appwrite.io/docs/graphql) - [Realtime](https://appwrite.io/docs/realtime) **References** - [Account](https://appwrite.io/docs/client/account) - [Users](https://appwrite.io/docs/server/users) - [Teams](https://appwrite.io/docs/client/teams) - [Databases](https://appwrite.io/docs/client/databases) - [Storage](https://appwrite.io/docs/client/storage) - [Functions](https://appwrite.io/docs/client/functions) - [Localization](https://appwrite.io/docs/client/locale) - [Avatars](https://appwrite.io/docs/client/avatars) - [Health](https://appwrite.io/docs/server/health) **Guides** - [Databases](https://appwrite.io/docs/databases) - [Storage](https://appwrite.io/docs/storage) - [Authentication](https://appwrite.io/docs/authentication) - [Functions](https://appwrite.io/docs/functions) **Advanced** - [API Keys](https://appwrite.io/docs/keys) - [Permissions](https://appwrite.io/docs/permissions) - [Events](https://appwrite.io/docs/events) - [Pagination](https://appwrite.io/docs/pagination) - [Webhooks](https://appwrite.io/docs/webhooks) - [Custom Domains](https://appwrite.io/docs/custom-domains) - [Response Codes](https://appwrite.io/docs/response-codes) - [Rate Limits](https://appwrite.io/docs/rate-limits) [Docs](https://appwrite.io/docs) ## Installation Appwrite is a self-hosted backend server, packaged as a set of Docker containers. You can install and run Appwrite on any operating system that can run a [Docker CLI](https://www.docker.com/products/docker-desktop). You can use Appwrite on your local machine or a cloud provider of your choice. ## [System Requirements](https://appwrite.io/docs/installation#systemRequirements) Appwrite is designed to run well on both small and large deployments. The minimum requirements to run Appwrite are as little as **1 CPU core** and **2GB of RAM**, and an operating system that supports Docker. Appwrite requires [Docker Compose Version 2](https://docs.docker.com/compose/install/). To install Appwrite, make sure your Docker installation is updated to support Composer V2. ### Upgrading From Older Versions If you are migrating from an older version of Appwrite, you need to follow the [migration instructions](https://appwrite.io/docs/upgrade). ## [Install with Docker](https://appwrite.io/docs/installation#installWithDocker) The easiest way to start running your Appwrite server is by running our Docker installer tool from your terminal. Before running the installation command, make sure you have [Docker CLI](https://www.docker.com/products/docker-desktop) installed on your host machine. You will be prompted to configure the following during the setup command: 1. Your Appwrite instance's HTTP and HTTPs ports. 2. Your Appwrite instance's secret key which used to encrypt sensitive data. 3. Your Appwrite instance's main hostname. Appwrite will generate a certificate using this hostname. 4. Your Appwrite instance's DNS A record hostname. Typically set to the same value as your Appwrite instance's hostname. ### [Unix](https://appwrite.io/docs/installation#unix) ``` docker run -it --rm \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \ --entrypoint="install" \ appwrite/appwrite:1.2.1 ``` *Click Here to Copy* ### [Windows](https://appwrite.io/docs/installation#windows) Hyper-V and Containers Windows features must be enabled to run Appwrite on Windows with Docker. If you don't have these features available, you can install [Docker Desktop](https://docs.docker.com/desktop/windows/install/) which uses Virtualbox to run Appwrite on a Virtual Machine. - CMD - PowerShell - #### CMD ``` docker run -it --rm ^ --volume //var/run/docker.sock:/var/run/docker.sock ^ --volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^ --entrypoint="install" ^ appwrite/appwrite:1.2.1 ``` *Click Here to Copy* - #### PowerShell ``` docker run -it --rm ` --volume /var/run/docker.sock:/var/run/docker.sock ` --volume ${pwd}/appwrite:/usr/src/code/appwrite:rw ` --entrypoint="install" ` appwrite/appwrite:1.2.1 ``` *Click Here to Copy* ## [One-Click Setups](https://appwrite.io/docs/installation#one-click-setups) In addition to running Appwrite locally, you can also launch Appwrite using a pre-configured setup. This allows you to get up and running with Appwrite quickly without installing Docker on your local machine. Choose from one of the providers below: Provider ![Logo](https://appwrite.io/images-ee/one-click/digitalocean.svg) ![Logo](https://appwrite.io/images-ee/one-click/dark/digitalocean.svg) DigitalOcean [Click to Install](https://marketplace.digitalocean.com/apps/appwrite) ![Logo](https://appwrite.io/images-ee/one-click/gitpod.svg) ![Logo](https://appwrite.io/images-ee/one-click/dark/gitpod.svg) Gitpod [Click to Install](https://gitpod.io/#https://github.com/appwrite/integration-for-gitpod) ### [Manual (using docker-compose.yml)](https://appwrite.io/docs/installation#manual) For advanced Docker users, the manual installation might seem more familiar. To set up Appwrite manually, download the Appwrite base [docker-compose.yml](https://appwrite.io/install/compose) and [.env](https://appwrite.io/install/env) files, then move them inside a directory named `appwrite`. After the download completes, update the different environment variables as you wish in the `.env` file and start the Appwrite stack using the following Docker command: ``` docker compose up -d --remove-orphans ``` *Click Here to Copy* Once the Docker installation completes, go to your machine's hostname or IP address on your browser to access the Appwrite console. Please note that on hosts that are not Linux-native, the server might take a few minutes to start after installation completes. ### [Stop](https://appwrite.io/docs/installation#stop) You can stop your Appwrite containers by using the following command executed from the same directory as your `docker-compose.yml` file. ``` docker compose stop ``` *Click Here to Copy* ### [Uninstall](https://appwrite.io/docs/installation#uninstall) To stop and remove your Appwrite containers, you can use the following command executed from the same directory as your `docker-compose.yml` file. ``` docker compose down -v ``` *Click Here to Copy* ## [Learn More](https://appwrite.io/docs/installation#learnMore)