Homelab - Next Terminal, a Bastion Host Supporting Multiple Protocols
Next Terminal is an easy-to-use bastion host that integrates Apache Guacamole, a clientless remote desktop gateway solution, supporting various protocols such as RDP, SSH, VNC, TELNET, and Kubernetes. It allows direct web access to internal network resources and offers excellent cross-platform compatibility. Next Terminal also supports Multi-Factor Authentication (MFA) for login, audit recording, and other features.
Deployment (Docker Compose)
To begin, create a compose.yaml
file and paste the following content:
version: "3.3"
services:
guacd:
container_name: ${STACK_NAME}_guacd
image: dushixiang/guacd:${GUACD_VERSION}
volumes:
- ${STACK_DIR}/data:/usr/local/next-terminal/data
restart: always
next-terminal:
container_name: ${STACK_NAME}_app
image: dushixiang/next-terminal:${APP_VERSION}
environment:
DB: sqlite
GUACD_HOSTNAME: ${APP_GUACD_HOSTNAME}
GUACD_PORT: ${APP_GUACD_PORT}
ports:
- ${APP_PORT}:8088
volumes:
- /etc/localtime:/etc/localtime
- ${STACK_DIR}/data:/usr/local/next-terminal/data
restart: always
(Optional) It is recommended to create a .env
file at the same level as compose.yaml
and customize your environment variables. If you prefer not to use environment variables, you can directly customize your parameters within compose.yaml
(e.g., replacing ${STACK_NAME}
with next-terminal
).
STACK_NAME=next-terminal
STACK_DIR=xxx # Customize your project storage path, e.g., ./next-terminal
# next-terminal
APP_VERSION=latest
APP_PORT=xxxx # Choose an available access port
APP_GUACD_HOSTNAME=guacd # Default
APP_GUACD_PORT=4822 # Default
# guacd
GUACD_VERSION=latest
Finally, execute the docker compose up -d
command in the directory where compose.yaml
is located to start the orchestrated containers.
Configuration Details
Initial account/password: admin
.
References and Acknowledgments
- Official Website
- Documentation
- GitHub Repository
- Docker Hub
- Demo Site (Username: test, Password: test)
- Next Terminal | Open Source, Lightweight, and Simple Bastion Host
[Placeholder 1] [Placeholder 2]
This post is translated using ChatGPT, please feedback if any omissions.