Hermes is a toolset to port forward across boundaries
Find a file
imterah 51ebfe46d3
Some checks failed
Release code / build (push) Failing after 8m38s
fix: Attempts to fix workflow to allow for uploading packages.
2024-12-25 20:04:45 -05:00
.devcontainer fix: Reorders files again. 2024-04-28 14:32:38 -04:00
.forgejo/workflows fix: Attempts to fix workflow to allow for uploading packages. 2024-12-25 20:04:45 -05:00
.githooks chore: Clean up usage of git commands in git hooks. 2024-06-02 11:24:53 -04:00
.vscode fix: Fixes vscode settings. 2024-12-22 11:35:57 -05:00
backend feature: Adds backup importing support. 2024-12-25 19:21:22 -05:00
backend-legacy feature: Adds migration Docker image. 2024-12-25 20:00:16 -05:00
routes/Hermes API feature: Adds autostart support. 2024-12-23 22:03:59 -05:00
sshfrontend chore: Restructure files. 2024-12-21 18:27:40 -05:00
.gitconfig chore: Adds formatting. 2024-05-05 16:59:08 -04:00
.gitignore feature: Adds backup importing support. 2024-12-25 19:21:22 -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
dev-docker-compose.yml chore: Reword and rename things. 2024-12-21 18:07:53 -05:00
docker-compose.yml chore: Bumps dependencies, rewrites development environment system. 2024-12-01 13:06:28 -05:00
init.sh fix: Fixes initializing script for backend-legacy. 2024-12-22 10:31:38 -05:00
LICENSE Initial commit 2024-04-16 09:03:21 -04:00
migration-entrypoint.sh feature: Adds migration Docker image. 2024-12-25 20:00:16 -05:00
MigrationDockerfile feature: Adds migration Docker image. 2024-12-25 20:00:16 -05:00
prod-docker.env chore: Move docker production env file. 2024-04-28 14:24:46 -04:00
README.md fix: Fixes alt text to be more descriptive and removes extra new line. 2024-12-21 23:34:13 +00:00
shell.nix chore: Bumps dependencies, rewrites development environment system. 2024-12-01 13:06:28 -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 and NodeJS. Using Docker is required for database configuration.

  1. First, make sure you have a sane copy of Docker installed, and make sure the copy of Docker works.

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

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

API Development

  1. After that, run the project in development mode: npm run dev.

  2. If you want to explore your database, run npx prisma studio to open the database editor.

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=nextnet/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

  • I'm using SSH tunneling, and I can't reach any of the tunnels publicly.

    • Be sure to enable GatewayPorts in your sshd config (in /etc/ssh/sshd_config on most systems). Also, be sure to check your firewall rules on your system and your network.