Deploy AppFlowy Cloud
Link: https://github.com/AppFlowy-IO/AppFlowy-Cloud
https://appflowy.com/docs/self-host-appflowy-deploy-appflowy-cloud
Deployment
AppFlowy-Cloud is designed to be easily self deployed for self managed cloud storage
The following document will walk you through the steps to deploy your own AppFlowy-Cloud
Hardware Requirements
-
Minimum 2GB Ram (4GB Recommended)
-
Ports 80/443 available
-
Because AppFlowy-Cloud will have to be running persistently (or at least whenever users need access),
it's probably a good idea to run it on a non-end user device. It is best if you already have a home server (check software requirements),
but if you don't, you can also deploy it on a cloud compute service as host server such as Amazon EC2 or Azure Virtual Machines
Software Requirements
Ensure you have Docker Compose(v2) installed on your host server. Follow the official guidelines for a reliable setup:
Docker Compose is included with Docker Engine:
Docker Engine: We suggest adhering to the instructions provided by Docker
for installing Docker Engine.
For older versions of Docker Engine that do not include Docker Compose:
Docker Compose: Install it as per the official documentation.
Once you have it installed, you can check by running the command:
docker compose version
# Docker Compose version 2.23.3
Note: docker-compose (with the hyphen) may not be supported. You are advised to use docker compose (without hyphen) instead.
Steps
🚀🚀🚀 Quick Try: Step-by-Step GuideFor an in-depth, step-by-step guide on self-hosting AppFlowy Cloud on AWS EC2, particularly for demonstration
purposes, please consult our detailed documentation:
Self-Hosting AppFlowy Cloud on AWS EC2 - Step by Step GuideNote: This guide is tailored for demonstration purposes using the AWS EC2 free tier. For more customized
deployment options, please follow the subsequent steps outlined below.
1. Getting source files
Clone this repository into your host server and cd into it
git clone https://github.com/AppFlowy-IO/AppFlowy-Cloud
cd AppFlowy-Cloud
2. Preparing the configuration
This is perhaps the most important part of the deployment process, please read carefully.
It is required that there is a .env file in the root directory of the repository.
To get started, copy the template deploy.env as .env using the following shell commands:
cp deploy.env .env
Kindly read through the comments for each option
Modify the values in .env according to your needs
For authentication details, refer to the Authentication documentation. You will need to update
the redirect URI to match your host server's public IP or hostname, such
as http://<your-host-server-public-ip-or-hostname>/gotrue/callback.
If using localhost, then just keep the default value.
GOTRUE_EXTERNAL_GOOGLE_ENABLED=true
GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID=
GOTRUE_EXTERNAL_GOOGLE_SECRET=
GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI=http://your-host/gotrue/callback
# GitHub OAuth2
GOTRUE_EXTERNAL_GITHUB_ENABLED=true
GOTRUE_EXTERNAL_GITHUB_CLIENT_ID=your-github-client-id
GOTRUE_EXTERNAL_GITHUB_SECRET=your-github-secret
GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI=http://your-host/gotrue/callback
# Discord OAuth2
GOTRUE_EXTERNAL_DISCORD_ENABLED=true
GOTRUE_EXTERNAL_DISCORD_CLIENT_ID=your-discord-client-id
GOTRUE_EXTERNAL_DISCORD_SECRET=your-discord-secret
GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI=http://your-host/gotrue/callback
3. Running the services
Start and run AppFlowy-Cloud
The following command will build and start AppFlowy-Cloud.
docker compose up -d
Please check that all the services are running
docker ps -a