gnmyt/Nexterm

The open source server management software for SSH, VNC & RDP

JavaScript

5,084

4,893 commits

updated Oct 7, 2026

See the code

README

Contributors Forks Stargazers Issues MIT License Release


Nexterm Banner

🤔 What is Nexterm?

Nexterm is an open-source server management software that allows you to:

  • Connect remotely via SSH, VNC and RDP
  • Manage files through SFTP
  • Deploy applications via Docker
  • Manage Proxmox LXC and QEMU containers
  • Secure access with two-factor authentication and OIDC SSO
  • Separate users and servers into Organizations

📷 Screenshots

ServersConnectionsSFTP
SnippetsMonitoringRecordings

🚀 Install

You can install Nexterm by clicking here.

💻 Development

Prerequisites

  • Node.js 18+
  • Yarn
  • FlatBuffers compiler (flatc)
  • Docker (optional)

Install FlatBuffers:

PlatformCommand
macOSbrew install flatbuffers
Ubuntu / Debiansudo apt install flatbuffers-compiler
Windowswinget install Google.FlatBuffers

Local Setup

Clone the repository

git clone https://github.com/gnmyt/Nexterm.git
cd Nexterm

Configure environment

Create a local environment file:

cp .env.example .env

Make sure ENCRYPTION_KEY is set in .env.

You can generate a secure key using:

PlatformCommand
macOS / Linuxopenssl rand -hex 32

Install dependencies

yarn install
cd client && yarn install
cd ..

Generate FlatBuffers schemas

yarn schema:generate

This step is required before starting the development server.

Start development mode

yarn dev

Start an engine

The development server does not automatically start an engine. To connect to servers, an engine must be running separately:

yarn dev:engine

If using local engine registration, set LOCAL_ENGINE_TOKEN in the server environment and use the same value as REGISTRATION_TOKEN for the engine.

🔧 Configuration

Docker Images

ImageDescription
nexterm/aioAll-In-One — server, client, and engine bundled together
nexterm/serverServer + web client only (requires external engine)
nexterm/engineEngine only

The server listens on port 6989 by default. You can modify this behavior using environment variables:

  • SERVER_PORT: Server listening port (default: 6989)
  • CONTROL_PLANE_PORT: TCP port for engine communication (default: 7800)
  • NODE_ENV: Runtime environment (development/production)
  • ENCRYPTION_KEY: Encryption key for passwords, SSH keys and passphrases. Supports Docker secrets via /run/secrets/encryption_key`
  • AI_SYSTEM_PROMPT: Extra instructions appended to the AI assistant's system prompt (example: Always explain destructive commands before running them.)
  • LOG_LEVEL: Logging level for application and engine (system/info/verbose/debug/warn/error, default: system)
  • TRUST_PROXY: Number of reverse proxies in front of Nexterm, so logs and audits show the real client IP instead of the proxy's (default: disabled). Use 1 for a single Nginx/Traefik, or pass trusted addresses (10.10.10.10,192.168.0.0/16). Only enable this if your proxy sets X-Forwarded-For, otherwise clients can spoof their IP.

🛡️ Security

  • Two-factor authentication
  • Session management
  • Password encryption
  • Docker container isolation
  • Oauth 2.0 OpenID Connect SSO

🤝 Contributing

Contributions are welcome! Please feel free to:

  1. Fork the project
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

💜 Powered by

JetBrains logo

📄 License

Distributed under the MIT license. See LICENSE for more information.

gnmyt/Nexterm

The open source server management software for SSH, VNC & RDP

JavaScript

5,084

4,893 commits

updated Oct 7, 2026

See the code

README

Contributors Forks Stargazers Issues MIT License Release


Nexterm Banner

🤔 What is Nexterm?

Nexterm is an open-source server management software that allows you to:

  • Connect remotely via SSH, VNC and RDP
  • Manage files through SFTP
  • Deploy applications via Docker
  • Manage Proxmox LXC and QEMU containers
  • Secure access with two-factor authentication and OIDC SSO
  • Separate users and servers into Organizations

📷 Screenshots

ServersConnectionsSFTP
SnippetsMonitoringRecordings

🚀 Install

You can install Nexterm by clicking here.

💻 Development

Prerequisites

  • Node.js 18+
  • Yarn
  • FlatBuffers compiler (flatc)
  • Docker (optional)

Install FlatBuffers:

PlatformCommand
macOSbrew install flatbuffers
Ubuntu / Debiansudo apt install flatbuffers-compiler
Windowswinget install Google.FlatBuffers

Local Setup

Clone the repository

git clone https://github.com/gnmyt/Nexterm.git
cd Nexterm

Configure environment

Create a local environment file:

cp .env.example .env

Make sure ENCRYPTION_KEY is set in .env.

You can generate a secure key using:

PlatformCommand
macOS / Linuxopenssl rand -hex 32

Install dependencies

yarn install
cd client && yarn install
cd ..

Generate FlatBuffers schemas

yarn schema:generate

This step is required before starting the development server.

Start development mode

yarn dev

Start an engine

The development server does not automatically start an engine. To connect to servers, an engine must be running separately:

yarn dev:engine

If using local engine registration, set LOCAL_ENGINE_TOKEN in the server environment and use the same value as REGISTRATION_TOKEN for the engine.

🔧 Configuration

Docker Images

ImageDescription
nexterm/aioAll-In-One — server, client, and engine bundled together
nexterm/serverServer + web client only (requires external engine)
nexterm/engineEngine only

The server listens on port 6989 by default. You can modify this behavior using environment variables:

  • SERVER_PORT: Server listening port (default: 6989)
  • CONTROL_PLANE_PORT: TCP port for engine communication (default: 7800)
  • NODE_ENV: Runtime environment (development/production)
  • ENCRYPTION_KEY: Encryption key for passwords, SSH keys and passphrases. Supports Docker secrets via /run/secrets/encryption_key`
  • AI_SYSTEM_PROMPT: Extra instructions appended to the AI assistant's system prompt (example: Always explain destructive commands before running them.)
  • LOG_LEVEL: Logging level for application and engine (system/info/verbose/debug/warn/error, default: system)
  • TRUST_PROXY: Number of reverse proxies in front of Nexterm, so logs and audits show the real client IP instead of the proxy's (default: disabled). Use 1 for a single Nginx/Traefik, or pass trusted addresses (10.10.10.10,192.168.0.0/16). Only enable this if your proxy sets X-Forwarded-For, otherwise clients can spoof their IP.

🛡️ Security

  • Two-factor authentication
  • Session management
  • Password encryption
  • Docker container isolation
  • Oauth 2.0 OpenID Connect SSO

🤝 Contributing

Contributions are welcome! Please feel free to:

  1. Fork the project
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

💜 Powered by

JetBrains logo

📄 License

Distributed under the MIT license. See LICENSE for more information.

Significant stargazers

Zoee

306 followers · starred Mar 2026

Pascal Jufer

145 followers · starred Apr 2026

Dmitry Polushkin

123 followers · starred Jul 2026

Mulia Nasution

562 followers · starred Nov 2025