The configuration is handled through environment variables. They are all prefixed by FLORA_ to avoid conflict, and the
server will tell you which ones are missing.
To start in the best of conditions, create a file called environment.local.sh with the following content:
source environment.sh
# export FLORA_SENTRY_DSN="" # Don't forget to add your Sentry DSN if you use it!# export FLORA_PROMETHEUS_ENABLED="true"
This will get all the variables from environment.sh and allow you to override them.
You can then build the server with
# To build the binaries
$ make build
# To load the main library in a REPL
$ make repl
Database
The Flora server uses PostgreSQL 14.
To create the database and apply the migrations, type:
$ make db-setup # Implies db-create
you can also use db-create and db-drop to create and delete the database in the PostgreSQL instance.
Docker Workflow
A docker-based workflow is provided. The idea is to develop from within a container that brings with it all dependencies,
and communicates with another container for the PostgreSQL database.
# You need to build the container first. It's gonna take around 13 minutes the first time you build
$ make docker-build
# Start the container.
$ make docker-start
# Once the containers are running, you can enter the development environment and start hacking
$ make docker-enter
# You'll be in the docker container. Environment variables are automatically set # so you should be able to start Flora
(docker)$ make nix-tmux
# You'll be in a tmux session, everything should be launched# Visit localhost:8084 from your web browser to see if it all works.# To provision the development database, type:
$ make docker-enter
(docker)$ source environment.docker.sh
(docker)$ make db-drop # password is 'postgres' by default
(docker)$ make db-setup # password is 'postgres' by default
(docker)$ make nix-provision
# And you should be good!
请发表评论