zsio/netsgo

By zsio

Updated 1 day ago

Self-hosted tunneling and node management platform

Image
Networking
Developer tools
Monitoring & observability
0

3.1K

zsio/netsgo repository overview

NetsGo

Self-hosted tunnel platform for exposing internal HTTP, TCP, and UDP services through a public server.

Image

docker pull zsio/netsgo:latest

China mirror:

docker pull docker.cnb.cool/zsio/netsgo:latest

Server

services:
  netsgo-server:
    image: zsio/netsgo:latest
    restart: unless-stopped
    ports:
      - "9527:9527"
      # Map extra public ports for TCP/UDP tunnels when needed:
      # - "10022:10022/tcp"
    environment:
      NETSGO_DATA_DIR: "/var/lib/netsgo"
      NETSGO_INIT_ADMIN_USERNAME: "admin"
      NETSGO_INIT_ADMIN_PASSWORD: "<change-me-strong-password>"
      NETSGO_INIT_SERVER_ADDR: "https://netsgo.example.com"
    volumes:
      - netsgo-data:/var/lib/netsgo

volumes:
  netsgo-data:

Start:

docker compose up -d

NETSGO_INIT_* variables are only needed for first initialization with a new data volume.

Client

Create a client key in the NetsGo Web console first.

services:
  netsgo-client:
    image: zsio/netsgo:latest
    restart: unless-stopped
    environment:
      NETSGO_DATA_DIR: "/var/lib/netsgo"
      NETSGO_SERVER: "https://netsgo.example.com"
      NETSGO_KEY: "<your-client-key>"
    volumes:
      - netsgo-client-data:/var/lib/netsgo
    command:
      - "client"

volumes:
  netsgo-client-data:

Important Notes

  • Persist /var/lib/netsgo with a Docker volume.
  • Expose port 9527 for the Web console and client access.
  • Map additional public TCP/UDP ports for TCP/UDP tunnels.
  • Use a strong initial admin password.
  • Keep client keys private.
  • Use HTTPS in production.

Upgrade

docker compose pull
docker compose up -d

Back up the data volume before upgrading production deployments.

Documentation

https://netsgo.zs.uy

Tag summary

Content type

Image

Digest

sha256:66dac076a

Size

12.6 MB

Last updated

1 day ago

docker pull zsio/netsgo:sha-670fe38