Hermes is a toolset to port forward across boundaries
Find a file
2025-01-12 11:35:26 -05:00
.devcontainer fix: Fixes more instability issues. :) 2025-01-08 09:12:48 -05:00
.forgejo/workflows fix: Fixes action workflows. 2025-01-09 08:00:37 -05:00
.vscode fix: Fixes vscode settings. 2024-12-22 11:35:57 -05:00
apiclient chore: Adds login and user creation support to the API. 2025-01-05 20:51:06 -05:00
backend chore: Mostly ports SSHBackend. 2025-01-12 11:35:26 -05:00
docs feature: Add profiling documentation for backends based on BackendUtil. 2025-01-10 16:23:26 -05:00
frontend chore: Adds login and user creation support to the API. 2025-01-05 20:51:06 -05:00
routes/Hermes API fix: Fixes more instability issues. :) 2025-01-08 09:12:48 -05:00
.gitignore chore: Adds login and user creation support to the API. 2025-01-05 20:51:06 -05:00
.gitmodules feature: Adds submodule. 2025-01-10 22:49:59 -05:00
.prettierrc chore: Adds formatting. 2024-05-05 16:59:08 -04:00
CHANGELOG.md chore: Update changelog for tag v1.1.2. 2024-09-29 13:03:38 +00:00
docker-compose.yml feature: Fixes all backup and API related things to make everything work in production. 2024-12-26 22:54:05 -05:00
Dockerfile fix: Fixes action workflows. 2025-01-09 08:00:37 -05:00
go.mod feature: Adds submodule. 2025-01-10 22:49:59 -05:00
go.sum feature: Adds submodule. 2025-01-10 22:49:59 -05:00
init.sh feature: Adds submodule. 2025-01-10 22:49:59 -05:00
LICENSE Initial commit 2024-04-16 09:03:21 -04:00
prod-docker.env chore: Adds documentation. 2024-12-26 14:37:38 -05:00
README.md feature: Adds submodule. 2025-01-10 22:49:59 -05:00
shell.nix feature: Adds submodule. 2025-01-10 22:49:59 -05:00

Hermes

Docker Badge Golang Badge License Badge (licensed under BSD-3-Clause)

Port forwarding across boundaries.

Local Development

Note

Using Nix is recommended for the development environment. If you're not using it, install Go.

  1. First off, clone the repository: git clone --recurse-submodules https://git.terah.dev/imterah/hermes

  2. Then, check if you have a working Nix environment if you're using Nix.

  3. Last, Run nix-shell, or alternatively source init.sh if you're not using Nix.

API Development

  1. After that, run the backend build script: ./build.sh.

  2. 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.

  1. Copy and change the default password (or username & db name too) from the template file prod-docker.env:
sed "s/POSTGRES_PASSWORD=hermes/POSTGRES_PASSWORD=$(head -c 500 /dev/random | sha512sum | cut -d " " -f 1)/g" prod-docker.env > .env
  1. Build the docker stack: docker compose --env-file .env up -d

Troubleshooting

This has been moved here.

Documentation

Go to the docs/ folder.