Hermes is a toolset to port forward across boundaries
Find a file
2024-04-28 13:44:49 -04:00
.devcontainer fix: Adds required vscode extensions. 2024-04-21 20:30:05 +00:00
prisma feature: Adds protocol feidld. 2024-04-25 13:14:33 +00:00
routes/NextNet API fix: Fixes API routes. 2024-04-27 16:53:17 -04:00
src feature: Adds the ability to get logs. 2024-04-28 12:11:41 -04:00
.gitignore chore: Migrates development to use PostgreSQL instead. 2024-04-21 16:09:20 -04:00
dev.env chore: Migrates development to use PostgreSQL instead. 2024-04-21 16:09:20 -04:00
docker-compose.yml feature: Adds docker support. 2024-04-28 09:42:02 -04:00
docker-entrypoint.sh feature: Adds docker support. 2024-04-28 09:42:02 -04:00
Dockerfile feature: Adds docker support. 2024-04-28 09:42:02 -04:00
init.sh chore: Remove things for more compatibility. 2024-04-21 20:29:35 -04:00
LICENSE Initial commit 2024-04-16 09:03:21 -04:00
package-lock.json feature: Implement first backend. 2024-04-27 14:19:02 -04:00
package.json feature: Implement first backend. 2024-04-27 14:19:02 -04:00
prod-docker.env feature: Adds docker support. 2024-04-28 09:42:02 -04:00
README.md chore: Modifies README. 2024-04-28 13:44:49 -04:00
shell.nix chore: Change formatting. 2024-04-26 13:17:34 -04:00
srcpatch.sh feature: Adds docker support. 2024-04-28 09:42:02 -04:00
tsconfig.json Initial commit 2024-04-16 09:03:21 -04:00

NextNet

built with nix License Badge


NextNet is a dashboard to manage portforwarding technologies.

Local Development

Note

Using nix is recommended. If you're not using Nix, install PostgreSQL, Node.JS, and lsof.

  1. First, check if you have a working Nix environment if you're using Nix.

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

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

  4. 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. Here be dragons!

  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
    
  2. Build the dockerfile: docker compose --env-file .env build

  3. Build the docker stack: docker compose --env-file .env up -d

Troubleshooting

  • I'm using the 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.