Hermes is a toolset to port forward across boundaries
All checks were successful
Release code / build (push) Successful in 5m47s
There was a typo where databaseBackendName == "postgresql" was "postgres" instead on accident. |
||
---|---|---|
.devcontainer | ||
.forgejo/workflows | ||
.vscode | ||
apiclient | ||
backend | ||
docs | ||
frontend | ||
routes/Hermes API | ||
.gitignore | ||
docker-compose.yml | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
init.sh | ||
LICENSE | ||
prod-docker.env | ||
README.md | ||
shell.nix |
Hermes
Port forwarding across boundaries.
Local Development
Note
Using Nix is recommended for the development environment. If you're not using it, install Go. For legacy maintence tasks, install NodeJS.
-
Firstly, check if you have a working Nix environment if you're using Nix.
-
Secondly, Run
nix-shell
, or alternativelysource init.sh
if you're not using Nix.
API Development
-
After that, run the backend build script:
./build.sh
. -
Then, go into the
api/
directory, and then start it up:go run . -b ../backends.dev.json
Production Deployment
Warning
Deploying using Docker Compose is the only officially supported deployment method.
- Copy and change the default password (or username & db name too) from the template file
prod-docker.env
:
sed -e "s/POSTGRES_PASSWORD=hermes/POSTGRES_PASSWORD=$(head -c 500 /dev/random | sha512sum | cut -d " " -f 1)/g" -e "s/JWT_SECRET=hermes/JWT_SECRET=$(head -c 500 /dev/random | sha512sum | cut -d " " -f 1)/g" prod-docker.env > .env
- Build the docker stack:
docker compose --env-file .env up -d
Troubleshooting
This has been moved here.
Documentation
Go to the docs/
folder.