๐Architecture
Last updated
Last updated
This articles goes through self-host AppFlowy Cloud's architecture after deployment.
For the rest of the article, we will myhost
as the hostname/ip of the machine where AppFlowy Cloud is deployed in.
From the diagram, there are 5 entrypoints for end user usage, we categorized them into the following
Client Usage
Observability Tools
This is where regular AppFlowy Cloud users should spend most of their time in.
Dependencies: GoTrue, AppFlowy-Cloud
Client Application specific to various Operating System(Windows, Mac, Linux)
Dependency: GoTrue, Redis
Account management for both Admin and Non-Admin users.
Accessible at https://hostname/web
Admin capabilities
User creation, deletion, password change
Generating sign in link for users
Non-Admin capabilities
Password Change
User Invitation (via email)
Strictly speaking, the following are not essentially for cloud functionality, but recommended to have for various reasons including:
Resource Usage
Database performance
Usernames and password are generated during the initialization phase. Kindly refer to environmental variables for login credentials.
Dependency: Postgres
Postgres database administration tool
Accessible at https://myhost/pgadmin
Depdency: None
File storage management
Accessible at https://myhost/minio
Depdency: None
Docker container management
Accessible at https://myhost/portainer
Core services that AppFlowy Native Application would need
Dependencies: GoTrue, Postgres, Redis, Minio
Provides core functionalities to AppFlowy Native Application
Dependencies: Postgres
Authentication Server for Native Application, User Admin, and AppFlowy-Cloud
Source of truth for user creation/deletion/verification
Essential data storage for AppFlowy Cloud and Gotrue
Used as cache for AppFlowy Cloud and User Admin Web for session management.
S3 API Compatible File Storage
Refer to deployment guide if you want to configure to switch to your S3 Storage instead