.devcontainer | ||
api | ||
gui | ||
.gitignore | ||
docker-compose.yml | ||
init.sh | ||
LICENSE | ||
prod-docker.env | ||
README.md | ||
shell.nix |
NextNet
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
.
-
First, check if you have a working Nix environment if you're using Nix.
-
Run
nix-shell
, or alternativelysource init.sh
if you're not using Nix.
API Development
-
After that, run the project in development mode:
npm run dev
. -
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!
-
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
-
Build the dockerfile:
docker compose build
-
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.
- Be sure to enable GatewayPorts in your sshd config (in