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.
Pay close attention to the .env file, as this is where all your important settings are defined.
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
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
Save the file
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