Environment Setup
These instructions are written for a typical linux system, and not verified to work on Windows or MacOS.
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 and change to its directory
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 runThe logs for the backend will be shown in the left tmux pane, and the frontend in the right pane.
-
(OPTIONAL) 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.