LogoLogo
  • AppFlowy
    • ⭐Start here
      • Welcome to AppFlowy Docs
      • How to get help
      • Install AppFlowy
    • 🛠️Installation
      • 🖥️System Requirements
      • 💿Installation methods
        • Mac / Windows / Linux Packages
          • Installing on Linux
            • Installing & Setting up Flutter on Linux from Source
        • Docker
    • 🌱Community
      • 🤙Get in contact
      • 📔AppFlowy Mentorship Program
        • Program Guidance
        • Proposal Template
        • Pull Request Template
        • Mentorship 2023
          • Mentee Projects
            • Calendar View for AppFlowy Database
            • Custom Themes
            • Shortcuts and Customized Hotkeys for AppFlowy
            • Table
            • ⭐Favorites
            • Code Block
            • Outlines
            • Importers
            • AI Writers
            • Templates
          • Project Ideas
      • ✍️Write for AppFlowy
        • 📃Drafts
          • [Draft] Use Case: Software Engineer
          • [Draft] Use Case: High School Students
          • [Draft] How to add a new property to appflowy database
      • 🍂Hacktoberfest
    • 🛣️Roadmap
    • 🌋Product
      • 💽Data Storage
      • 🎨Customize and Style Content
      • ⏮️Duplicate, Delete, and Restore
      • 💎Databases
        • 🔢Database Properties
        • 🗃️Manage Properties
      • Ⓜ️Markdown
      • ⌨️Shortcuts
      • 🪄AppFlowy AI
      • 🦙AppFlowy Local AI - Ollama
      • 🎨Themes
      • ☁️AppFlowy Cloud
      • 🧩AppFlowy Plugins
        • Table-view Databases
        • Kanban Board
        • Calendar
        • Auto Generator
        • Smart Edit
        • Code Blocks
        • Math Equations
        • Cover
        • Emoji
  • Documentation
    • 💎Software Contributions
      • 🟢Get started
      • 💀Architecture
        • Frontend
          • Tauri
            • 🗺️CodeMap
          • Web
            • 🌟Design Philosophy
          • Flutter
            • 🗺️Project Structure: CodeMap
            • 🧮Grid
            • ⚙️Setting
          • Inter-Process Communication
          • User
            • User Data
            • Events & Notifications
          • Folder
            • Events & Notifications
          • Document
          • Database View
            • Events & Notifications
            • Grid
            • Calendar
            • Kanban Board
        • Backend
          • Initialize
          • Events
          • Delta(WIP)
          • Profiling
          • Database
        • Domain Driven Design
        • Proposals
      • 🏗️Conventions
        • 🔤Naming Conventions
        • ⌨️Code Conventions
          • 🐦Flutter
        • 🐙Git Conventions
      • 💛Submitting Code
        • 🏦Setting Up Your Repositories
        • ⤴️Submitting your first Pull Request
      • 🤟Coding Standards and Practices
        • 👽Rust Backend
    • 🚀AppFlowy
      • 👾How to contribute to AppFlowy
      • 🏗️Building from Source
        • 🌳Flutter Setup
          • 🐧Building on Linux
          • 🍎Building on macOS
          • 🪟Building on Windows
        • 🌐Web Setup
        • 📡Tauri Setup
      • ☁️Debugging with AppFlowy Cloud
      • 🔁Debugging in VS Code
      • ☎️Translate AppFlowy
      • ❓Troubleshooting
      • 👮‍♀️Licenses
    • 🏍️AppFlowy Editor
      • ⌨️How to Implement Markdown Syntax To Style Text In AppFlowy Editor
      • 🧩How to Create a Plugin for AppFlowy Editor
      • 👮‍♀️Licenses
    • ☁️AppFlowy Cloud
      • 🌈Architecture
      • ☀️Deployment
  • Guides
    • Sync Desktop and Mobile
    • Self-Hosting AppFlowy
      • ☁️Self-hosting AppFlowy with AppFlowy Cloud
      • 🆓Self-hosting AppFlowy for free Using Supabase
    • Import From Notion
  • Blog Highlights
    • 🔮Demystifying AppFlowy Editor's Codebase
  • Handbook
    • Core values
Powered by GitBook
On this page
  • Client Usage
  • AppFlowy Native Application
  • User Admin Web UI
  • Observability Tools
  • PgAdmin
  • Minio Web UI
  • Portainer
  • Services
  • AppFlowy-Cloud
  • GoTrue
  • Data Storage
  • Postgres
  • Redis
  • Minio

Was this helpful?

Edit on GitHub
  1. Documentation
  2. AppFlowy Cloud

Architecture

PreviousAppFlowy CloudNextDeployment

Last updated 1 year ago

Was this helpful?

  • 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

Client Usage

This is where regular AppFlowy Cloud users should spend most of their time in.

AppFlowy Native Application

  • Dependencies: GoTrue, AppFlowy-Cloud

  • Client Application specific to various Operating System(Windows, Mac, Linux)

User Admin Web UI

  • 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)

Observability Tools

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.

PgAdmin

  • Dependency: Postgres

  • Postgres database administration tool

Minio Web UI

  • Depdency: None

  • File storage management

Portainer

  • Depdency: None

  • Docker container management

  • Accessible at https://myhost/portainer

Services

Core services that AppFlowy Native Application would need

AppFlowy-Cloud

  • Dependencies: GoTrue, Postgres, Redis, Minio

  • Provides core functionalities to AppFlowy Native Application

GoTrue

  • Dependencies: Postgres

  • Authentication Server for Native Application, User Admin, and AppFlowy-Cloud

  • Source of truth for user creation/deletion/verification

Data Storage

Postgres

  • Essential data storage for AppFlowy Cloud and Gotrue

Redis

  • Used as cache for AppFlowy Cloud and User Admin Web for session management.

Minio

  • S3 API Compatible File Storage

  • Refer to deployment guide if you want to configure to switch to your S3 Storage instead

Accessible at

Accessible at

☁️
🌈
https://myhost/pgadmin
https://myhost/minio
img_1.png