2.3 KiB
This document explains how to start server (@affine/server) locally with Docker
Warning
:
This document is not guaranteed to be up-to-date. If you find any outdated information, please feel free to open an issue or submit a PR.
Run required dev services in docker compose
Running yarn's server package (@affine/server) requires some dev services to be running, i.e.:
- postgres
- redis
- mailhog
You can run these services in docker compose by running the following command:
cp ./.docker/dev/compose.yml.example ./.docker/dev/compose.yml
cp ./.docker/dev/.env.example ./.docker/dev/.env
docker compose -f ./.docker/dev/compose.yml up
Notify
Starting from AFFiNE 0.20, compose.yml includes a breaking change: the default database image has switched from
postgres:16topgvector/pgvector:pg16. If you were previously using another major version of Postgres, please change the number afterpgvector/pgvector:pgto the major version you are using.
Build native packages (you need to setup rust toolchain first)
Server also requires native packages to be built, you can build them by running the following command:
# build native
yarn affine @affine/server-native build
Prepare dev environment
# uncomment all env variables here
cp packages/backend/server/.env.example packages/backend/server/.env
# everytime there are new migrations, init command should runned again
yarn affine server init
Start server
# at project root
yarn affine server dev
when server started, it will created a default user and a pro user for testing:
default user
Workspace members up to 3
- email: dev@affine.pro
- name: Dev User
- password: dev
pro user
Workspace members up to 10
- email: pro@affine.pro
- name: Pro User
- password: pro
team user
Include a default Team Workspace and the members up to 10
- email: team@affine.pro
- name: Team User
- password: team
Start frontend
# at project root
yarn dev
You can login with the user (dev@affine.pro / dev) above to test the server.
Done
Now you should be able to start developing affine with server enabled.
Bonus
Enable prisma studio (Database GUI)
# available at http://localhost:5555
yarn affine server prisma studio
Seed the db
yarn affine server seed -h