Skip to content

Repository files navigation

Introduction

An efficient, elegant, and easy-to-use server operations and maintenance tool.

Deployment & Installation

docker

Reference file: docker-compose.yml

Deployment requires MySQL and Redis. Docker Compose is the recommended deployment method.

First, clone the project

git clone https://gitee.com/zimehjl/termius-plus.git

Modify the version number in docker-compose.yml (check the .version file for the latest version)

cd termius-plus

Modify the configuration in application.env as needed (works without modification by default, but some advanced features may require additional configuration)

vim docker-compose.yml
docker compose up -d

Based on the port mapping in docker-compose.yml, access http://ip:8989

Default username and password are admin / admin

Feature List

Server Group List

img.png img.png img_1.png

Connect to Server

Terminal

img_2.png

Supports individual documentation per server

img_9.png

Execute Custom Commands

img_10.png

Built-in Linux command documentation for quick reference

img_24.png

sftp

img_3.png

Editor Features

img.png img.png

Editor

The editor is built on monaco-editor, the upstream library powering VSCode. It supports multi-language syntax highlighting, IntelliSense, auto-completion, code formatting, and AI-powered completion for common code patterns. img.png

Basic File Operations

img_11.png img_12.png

Split-screen drag-and-drop enables direct server-to-server file transfer

ps: Multiple browser tabs also work img_13.png

Permission Management

Role-based server access control, supporting multiple roles and multi-user management

img_25.png img_26.png

Theme Colors

img_4.png

Font

Uses JetBrainsMono-Bold font by default img_32.png

Custom Command Snippets

img_5.png img_6.png

Custom Proxy

img_7.png img_8.png

Supports proxy configuration on groups; the nearest proxy is used when connecting to a server

img_8.png

Applications

Currently focused on websites; more application types will be supported in the future img_14.png

Information

Records various application details; the responsible person's phone number is used for monitoring alerts

img_15.png

Identity

Records identity information such as username/password for future login and maintenance

img_16.png

Monitoring

Monitors an application endpoint, uses regex to detect anomalies, and sends DingTalk notifications

img_17.png

Monitoring view: if an anomaly is detected, the error time is displayed and a DingTalk notification is sent

img_21.png

Server

Records the servers used by the application for future operations. Also enables architecture diagrams

img_20.png

Architecture Diagram

img_18.png img_19.png

Port Forwarding

Supports dynamic port forwarding for direct access to internal services such as MySQL, Redis, or non-public sites

img_22.png

Scheduled Tasks

Uses MVEL expression scripts (Java-like syntax) with cron expression support for scheduled tasks

Provides a global session variable for direct server command execution
The DingerRequest object can be used to send DingTalk notifications

img_23.png

Logs

Records logs for every operation for future troubleshooting

Logs use a buffer + file approach to avoid frequent disk writes and improve performance

img_27.png img_28.png

Development

Standard Spring Boot + Vue + MySQL + Redis architecture

Frontend

UI framework: ant-design-vue

Terminal: xterm.js

Code editors: codemirror, monaco-editor

# Enter the frontend directory
cd web/admin 
# Install dependencies
yarn install
# Start
yarn serve

Backend

Persistence framework: spring data jpa, querydsl

Utility library: hutool

SSH connection, SFTP, port forwarding and related features use sshj

Database migration: flyway

DingTalk robot notifications: dinger

RDP to WebSocket: apache guacamole

Run before starting the backend

mvn compile

Generates querydsl query code

Run

Create the database, requires MySQL 8.0+

Copy .env.dist to .env, update the database configuration, then start the application!

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages