How to Install Appwrite with DigitalOcean Marketplace 1-Click

By Appwrite Team on 7 Jun 2023

Introduction

Appwrite is a secure, open-source backend that abstracts the complexity of common, complex, and repetitive tasks required for building a modern app.

Appwrite provides a set of secure APIs, tools, and a management console UI to help you build your apps quickly without compromising security. Use Appwrite to add user authentication and management, data and file storage, run server-side code, image manipulation, localization, and more into your apps.

Appwrite adapts to your unique habits and needs. You can integrate Appwrite directly with your client app or use it alongside your existing backend server, using the language and technologies you’re most comfortable with.

This tutorial will guide you through spinning up a DigitalOcean droplet with Appwrite pre-installed using the DigitalOcean Appwrite 1-Click App.

Create a DigitalOcean account to use the Marketplace application.

1-Click Deployment on DO Marketplace

As of writing, the Appwrite 1-Click deployment uses Ubuntu 22.04 and comes with Appwrite version 1.3.

Prerequisites

All you need to set up Appwrite 1-Click App is a free DigitalOcean account. However, having a domain name to access your Appwrite server is also recommended. You can use the DNS quickstart guide to learn how to set one up using DigitalOcean DNS.

Step 1: Creating an Appwrite Droplet

The Appwrite 1-Click App is available on DigitalOcean Marketplace. To begin, select the Create Appwrite Droplet button:

Your DigitalOcean control panel lists the Appwrite 1-Click droplet as your selection:

Choosing a plan

Select a plan that works for you. Remember that you can resize your Droplet depending on your needs. We recommend using a droplet with a minimum of 2GB of RAM. Though it works on smaller droplets, the performance may be different.

Choosing a Datacenter

Selecting a data center region closest to your user base is recommended to avoid potential latency. In some regions, DigitalOcean has more than one data center. There is no difference between data centers in the same region (e.g., SFO3 and SFO2).

Choosing an Authentication Method

The SSH Key option is recommended over a password for your Droplet. Using SSH Keys for authentication is more secure.

Selecting Additional Options

Adding improved metrics, monitoring, and alerting to your Droplet helps you follow your Droplet resource usage over time. You may also consider enabling automated backups. You can return later to enable backup functionality on your existing Droplets.

Choosing a Hostname

Give your Droplet an identifying name:

After entering a name and selecting it, click the Create Droplet button. Your droplet will begin the installation process, and may take some time. Once it’s finished, you’ll receive an IP address:

1-Click Marketplace applications come with additional resources you can access by clicking Get Started. This includes an app overview, other installation settings, and links to relevant tutorials. You can also get support by reviewing the official Appwrite documentation.

After making all your selections, you can access your new Appwrite server in the browser and set up your console user and projects.

Step 2: Accessing the Appwrite server

You can access the Appwrite server using the IP address of your droplet. However, it’s recommended to set up a domain name and access the server using a secured connection using the domain. Appwrite automatically generates an SSL certificate for your assigned domain.

Use this DNS quickstart guide to get your DNS setup on DigitalOcean. You’ll first need to purchase and register your domain through a third party, such as Name.com, GoDaddy, etc.

  • Why do you need a domain name? You can access your Appwrite server using a secured SSL connection with the domain correctly set up. You can also access your server using the IP address of the droplet. We still recommend having a valid domain.

Open the web browser and enter your domain or the IP address of your Droplet. You will be presented with a login page. This is the first time you must create a new account. Click on the Sign-Up button to go to the signup page.

Enter your name, email, and password, and click on the Sign-Up button to create a root user for managing your Appwrite server.

Once the account creation is successful, you will be redirected to the console page, where you can create your first project:

Enter your project name. Optionally you can also click on the Project ID button to enter a custom ID that is easy to remember. Click on the Create Project button to create your first project. You will then be redirected to the project overview page, where you can set up your project further to connect with your applications, set up databases, storage, and more:

Now that you have created your project follow one of the getting started guides below to build your Application with Appwrite.

Accessing Droplet Via SSH to Configure Further

After spinning up your Appwrite Droplet, connect to it via SSH. If you haven’t used a terminal program like SSH or PuTTY before, check out How To Connect To Your Droplet with SSH. When you’re ready, open a terminal on your computer and log into your Droplet as root via SSH with this command, substituting the IP address with your Droplet’s IP address:

ssh root@your_server_ip

When the terminal prompts you to continue connecting, enter  yes. You’re then greeted with the Appwrite welcome message.

  __   ____  ____  _  _  ____  __  ____  ____     __  __
 / _\ (  _ \(  _ \/ )( \(  _ \(  )(_  _)(  __)   (  )/  \
/    \ ) __/ ) __/\ /\ / )   / )(   )(   ) _)  _  )((  O )
\_/\_/(__)  (__)  (_/\_)(__\_)(__) (__) (____)(_)(__)\__/

Welcome to Appwrite!
Appwrite is a self-hosted solution that provides developers with a set of 
easy-to-use and integrate REST APIs to manage their core backend needs.

Access your Appwrite console at http://161.35.195.88 or any domain you have 
assigned.

Access using https://<your_domain> and accept the self signed certificate or 
http://<your_domain>, so that our certificates worker can generate 
a valid SSL certificate within seconds.

More information on:
Website: https://appwrite.io/
Docs: https://appwrite.io/docs
https://appwrite.io/discord

You can find your Appwrite installation at /root/appwrite
You can find all the environment variables and their values in /root/appwrite/.env

After accessing your Droplet via SSH, You can continue setting up various environment configurations.****

If you want to use the email service of Appwrite, you’ll need to get SMTP credentials for sending emails. This can be from an email delivery service like SparkPost, Sendgrid, Mailgun, etc. Using this email delivery guide; you can easily set up your email provider to work with Appwrite.

  • Why do you need SMTP? Appwrite uses SMTP to send verification emails to users signing up for your project, send emails for URL-based login, and use email to reset passwords for your server’s users. Without enabling an SMTP provider, you won’t be able to use email verification or magic URL login in your applications.

Step 3: Connect to DigitalOcean Spaces(Optional)

You’ll need access credentials for your preferred storage system. Look at the storage environment variables to set up one of the supported object storage providers.

  • Why do I need object storage?

    These buckets are used to store files by Appwrite’s storage service. Without Object storage, you can use your local file system, which can be slow and overloaded quickly.

Step 4: Configuring other environment variables(Optional)

Optionally you can configure the environment variables manually. To do that, you must login to the droplet you created via SSH. You will find your environment file in /root/appwrite/.env. You can open it in a text editor and update any available environment variables. You can learn about all the known variables in the environment variables guide. Ensure you restart the Appwrite server after changing the environment variables for new ones to take effect.

Conclusion

Now that you’ve set up your own Appwrite server, continue building your applications using services like authentication, databases, functions, and storage. To learn more about Appwrite, you can check out the official documentation.