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.
As of writing, the Appwrite 1-Click deployment uses Ubuntu 22.04 and comes with Appwrite version 1.3.
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.
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:
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.
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).
The SSH Key option is recommended over a password for your Droplet. Using SSH Keys for authentication is more secure.
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.
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.
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.
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.
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.
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.
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.
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.