/AppFlowy-Cloud

AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

License: AGPL

WebsiteTwitter

⚡ The AppFlowy Cloud written with Rust 🦀

AppFlowy Cloud

AppFlowy Cloud is part of the AppFlowy ecosystem, offering secure user authentication, file storage, and real-time WebSocket communication for an efficient and collaborative user experience.

Table of Contents

🚀 Deployment

💻 Development

Pre-requisites

You'll need to install:

Configuration

  • copy the configurations from dev.env to .env
  • edit the .env as required (such as SMTP configurations)

Run with all dependencies

./script/run_local_server.sh

This process will execute all the dependencies and start the AppFlowy-Cloud server. Alternatively, you have the option to run the AppFlowy-Cloud server independently

Run the AppFlowy-Cloud

  1. Run the dependency servers
docker compose --file docker-compose-dev.yml up -d
  1. Install sqlx-cli
cargo install sqlx-cli
  1. Run sqlx migration
sqlx database create
sqlx migrate run
cargo sqlx prepare --workspace
  1. Run the server
cargo run

Run the tests

After the server is running, you can run the tests with:

cargo test

🐞Debugging

Effective debugging is essential for maintaining a healthy application. Here are some tools and commands to help you troubleshoot issues in various components of the AppFlowy cloud server:

Postgres

A web-based administration tool for PostgreSQL. Access it at PgAdmin

  • OR command line:
    export PGPASSWORD=password
    psql --host=localhost --username=postgres --port=5432
  • Redis

Redis offers a powerful command line interface for managing your Redis instance. Connect using the following command:

    redis-cli -p 6379

Minio

Minio provides a Web UI for easy management of your files and buckets. Access it at Web UI

Portainer

For managing Docker containers, Portainer's Web UI is an excellent tool. Access it at Web UI to easily manage Docker environments, including container deployment, networking, volume management, and more. Access it at Web UI

⚙️ Contributing

Any new contribution is more than welcome in this project! If you want to know more about the development workflow or want to contribute, please visit our contributing guidelines for detailed instructions!