AppFlowy-Cloud/doc/GUIDE.md
Nathan.fooo c85383b21d
chore: project folder structture (#392)
* chore: docker build

* chore: update

* chore: update

* chore: test stream pubsub

* chore: fix wanrings

* chore: realtime crate

* chore: realtime crate

* chore: realtime crate

* chore: realtime crate

* chore: reanme crates

* chore: reanme crates

* chore: project structure

* chore: disable docker for collab hisotry
2024-03-22 11:24:28 +08:00

2.5 KiB

AppFlowy Cloud: Comprehensive Guide

Overview of File Structure

Libraries (libs)

  • libs/client-api: API client for interfacing with AppFlowy-Cloud.
  • libs/database: Houses database schema and migration scripts.
  • libs/database-entity: Definitions for database entities.
  • libs/gotrue: Contains the GoTrue Authentication Server code.
  • libs/gotrue-entity: Entity definitions for the GoTrue Auth Server.
  • libs/realtime: Realtime server implementation.
  • libs/collab-rt-entity: Realtime server entity definitions.
  • libs/infra: Scripts and tools for infrastructure management.
  • libs/app_error: Custom error types specific to AppFlowy-Cloud.

Source Code (src)

  • src/api: Endpoints and handlers for the AppFlowy-Cloud API.
  • src/biz: Core business logic of the application.
  • src/middleware: Middleware components for API processing.

Configuration and Migration

  • configurations: Contains essential configuration files for various services.
  • migrations: Scripts for managing and migrating the Postgres database.

Service Routing and Access

Access Points Post Deployment

After executing docker-compose up -d, AppFlowy-Cloud is accessible at http://localhost on ports 80 and 443 with the following routing:

  • /gotrue: Redirects to the GoTrue Auth Server.
  • /api: AppFlowy-Cloud's HTTP API endpoint.
  • /ws: WebSocket endpoint for AppFlowy-Cloud.
  • /web: User Admin Frontend for AppFlowy.
  • /pgadmin: Interface for Postgres database management.
  • /minio: User interface for Minio object storage.
  • /portainer: Tool for container management.

Deployment Architecture

Dockerization and Continuous Integration

Docker Images

AppFlowy leverages Docker for efficient deployment and scaling. Docker images are available at:

Automated Builds with GitHub Tags

The Docker images are automatically built and updated through a GitHub Actions workflow:

  1. Tag Creation: A new tag in the GitHub repository indicates a new version or release.
  2. Automated Build Trigger: This tag initiates the Docker image building process via GitHub Actions.
  3. Docker Hub Updates: The appflowy_cloud and admin_frontend images are updated on Docker Hub with the latest build.