Notes:
- The following steps are verified on
- lubuntu 20.04 - X86_64
- Linux Mint 20.3 - 86_64
- ubuntu 20.04 - aarch64
- redhat - X86_64
- Arch Linux - X86_64
- Deepin - X86_64
- Raspberry Pi OS - aarch64
- You may need to disable hardware 3D acceleration if you are running AppFlowy in a VM. Otherwise, certain GL failures will prevent the app from launching.
- If you encounter any issues, have a look at troubleshooting-when-installing-appflowy.md first. If your issue is not included in the page, please create an issue or ask on Discord.
{% hint style="warning" %} There is a known issue with Ubuntu 22.04, Fedora 36, and PopOS 22.04:
Failed to load dynamic library 'libdart_ffi.so': libssl.so.1.1: cannot open shared object file: No such file or directory
The issue can be fixed by installing the required missing libraries:
# Fedora
sudo dnf in openssl1.1.x86_64 # Workstation
rpm-ostree upgrade && rpm-ostree install openssl1.1.x86_64 # Silverblue
# Ubuntu & PopOS
$ wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.6_amd64.deb
$ sudo dpkg -i libssl1.1_1.1.1l-1ubuntu1.6_amd64.deb
{% endhint %}
Clone the source code from our Github project.
{% hint style="warning" %} You should fork the code instead if you wish to submit code to AppFlowy. You'll find information on that in setting-up-your-repositories.md {% endhint %}
git clone https://github.com/AppFlowy-IO/appflowy.git
Feel free to ask questions on our Discord so that we may refine this document and make the process as easy as possible for you.
- Install system prerequisites
{% tabs %} {% tab title="Ubuntu" %}
sudo apt-get install curl build-essential libsqlite3-dev libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev unzip
{% endtab %}
{% tab title="Arch" %}
yay -S curl base-devel sqlite openssl clang cmake ninja pkg-config gtk3 unzip
{% endtab %} {% endtabs %}
-
Install flutter according to https://docs.flutter.dev/get-started/install/linux. Make sure to install flutter in a directory that is appropriate for you.
-
Or you can use the code below to install
FLUTTER
manually on your linux system.
git clone https://github.com/flutter/flutter.git
cd flutter
echo "export PATH=\$PATH:"`pwd`"/bin" >> ~/.profile
export PATH="$PATH:`pwd`/bin"
cd ..
- Run the setup script from the base directory
cd appflowy
./frontend/scripts/install_dev_env/install_linux.sh
If you get the warning as shown above, run following command:
export PATH="$PATH":"$HOME/.pub-cache/bin"
- Change to the frontend directory
cd frontend
Optionally if you want to Build flowy-sdk-dev (dart-ffi)
{% tabs %} {% tab title="Development" %}
cargo make --profile development-linux-x86_64 flowy-sdk-dev
{% endtab %}
{% tab title="Production" %}
cargo make --profile production-linux-x86_64 flowy-sdk-release
{% endtab %} {% endtabs %}
- Build AppFlowy. You'll find the binary in app_flowy/product/linux/AppFlowy/
{% tabs %} {% tab title="Development" %}
cargo make -p development-linux-x86_64 appflowy-linux-dev
{% endtab %}
{% tab title="Production" %}
cargo make -p production-linux-x86_64 appflowy-linux
{% endtab %} {% endtabs %}
cd app_flowy/product/0.0.5/linux/Debug/AppFlowy
./app_flowy
- A new window as shown below will show up after you run the application:
- If using a virtual machine
- Run Linux GUI application through x11 on windows (use MobaXterm) for instance:
export DISPLAY=localhost:10
[VS Code]
- Open the
frontend
folder located at xx/AppFlowy/frontend with VS Code. - Go to the Run and Debug tab and then click AF: Clean + Rebuild All for the first time running.
If you encounter any issues, have a look at Troubleshooting first. If your issue is not included in the page, please create an issue or ask on Discord.
- Go to the AppFlowy/frontend/ directory.
- Run the following command to create the binary.
cargo make --profile production-linux-x86 appflowy
The scripts are located in the AppFlowy/frontend/Makefile.toml file.
The resulting binary file is located in AppFlowy/frontend/app_flowy/product/x.x.x/linux/Release/AppFlowy/
.