Environment Setup
Requirements
To develop Convinator, there are some software requirements you need to have installed:
- docker
- Runs the database and other services in containers
- rust
- Primary backend language
- node
- Runtime for the frontend
- pnpm
- Package manager for frontend dependencies
- just
- Command runner for project scripts
- tmux
- Terminal multiplexer for running multiple apps at once
Setup
-
Clone the repository
git clone ssh://git@codeberg.org/borisnl/Convinator.git convinator && \ cd convinator -
Install the pnpm and cargo dependencies using just
just install -
Copy the
.env.examplefile to.envand set theCONVI_JWT_SECRETto a random stringcp .env.example .env && \ sed -i "s/^CONVI_JWT_SECRET=.*$/CONVI_JWT_SECRET=$(openssl rand -hex 32)/g" .env -
Run the front- and backend in tmux using just
just run -
If you’d like to use the S3 adapter, you need to set up garage (a local S3 service). This command should also update your
.envfile with the generated secrets.just setup-garage
You should now be able to reach the frontend at localhost:4200 and start making changes. Changes in the frontend will automatically reload, but the backend will not. You will have to manually restart it using just run-backend in the backend tmux session (the left pane).
To stop the development server, you can run just kill. This command will kill the tmux session and stop the running docker containers.