How to install appflowy

How to self-host appflowy. Trello alternative

What is Appflowy

AppFlowy is an open-source alternative to tools like Notion, designed for collaborative note-taking, project management, and knowledge organization. Built with a focus on privacy and self-hosting, it lets you run your own workspace without relying on third-party cloud providers. With features such as databases, tasks, and customizable views, AppFlowy gives you full control over your data while still offering a modern, flexible productivity platform.

What is docker

Docker is an open-source platform that makes it easy to build, package, and run applications in lightweight, portable containers. A container is like a mini virtual environment that bundles together an application with all its dependencies (libraries, configurations, runtime, etc.) so it runs the same way on any machine. Unlike traditional virtual machines, containers don’t need a full operating system — they share the host’s kernel — which makes them much faster and more efficient. Developers use Docker to avoid the classic “it works on my machine” problem, because containers ensure consistency across development, testing, and production environments. It’s widely used for microservices, cloud deployments, and modern DevOps workflows.

Hands on!

This is a summary, but I will be following this document.

Clone the repository:

git clone https://github.com/AppFlowy-IO/AppFlowy-Cloud

Move to the repository’s root folder:

cd AppFlowy-Cloud

Copy the deployment environment example into a .env file:

cp deploy.env .env

You’ll need to modify the .env file.

This is what the .env file looks like:

Normally, this is where you’d put the server’s domain, for example on AWS EC2. But in this case, we’ll set it to localhost for now, make sure AppFlowy works, and then “redirect” it through Tailscale using the domain Tailscale provides.

FQDN=localhost

Try not to use special characters in these passwords.

Set a secure password for the Postgres variable.

POSTGRES_PASSWORD=password

Example: DYkJcVWARzW8zUey7kpbe0YyjUuxB0

Fill in the AWS access keys.

AWS_ACCESS_KEY=minioadmin
AWS_SECRET=minioadmin

Fill the admin user and password. (No need to have a real email)

GOTRUE_ADMIN_EMAIL=admin@example.com
GOTRUE_ADMIN_PASSWORD=password

Fill in the JWT

GOTRUE_JWT_SECRET=hello456

I won’t fill in the SMTP server because I won’t be using it, but if you’re planning to use this in a team setting, you may need to configure those settings as well.

Fill in the PGADMIN fields

PGADMIN_DEFAULT_EMAIL=admin@example.com
PGADMIN_DEFAULT_PASSWORD=password

Start the docker service

Start the docker service:

docker compose up -d

You should see an output similar to this:

Once everything is up and running, you’ll see something like this:

Then you can navigate to http://localhost and you should see the login page.

You can log in with the admin@example.com email and the password you set earlier.

Click on Continue with password.

Great — that means your server setup is done 🎉

Now what? Well, you can continue with Home server: Tailscale + docker

✨🧙 New dark magic spell unlocked!

Last updated