Add Termix Docker Compose stack

This commit is contained in:
2026-06-21 05:30:28 +00:00
parent af5377e550
commit 217591f4a0
2 changed files with 76 additions and 0 deletions

54
termix-compose.yml Normal file
View File

@@ -0,0 +1,54 @@
# ============================================
# Termix — self-hosted SSH and remote desktop manager
# ============================================
# Target: Docker-Test-1 regular Compose trial, later promotable to TrueNAS.
#
# Deploy:
# docker compose --env-file termix.env -f termix-compose.yml up -d
#
# Validate:
# docker compose --env-file termix.env.example -f termix-compose.yml config
#
# Notes:
# - Keep /app/data persistent; it stores the encrypted SQLite database,
# auto-generated .env secrets, SSL certs, uploads, and OPKSSH binaries.
# - Do not commit the real termix.env or contents of TERMIX_DATA_DIR.
# - guacd is included for RDP/VNC/Telnet remote desktop support.
# ============================================
services:
termix:
image: ${TERMIX_IMAGE:-ghcr.io/lukegus/termix}:${TERMIX_TAG:-2.4.0}
container_name: termix
restart: unless-stopped
ports:
- "${TERMIX_HTTP_PORT:-8080}:8080"
volumes:
- ${TERMIX_DATA_DIR:-/opt/docker/termix/data}:/app/data
environment:
PORT: "8080"
NODE_ENV: production
DATA_DIR: /app/data
LOG_LEVEL: ${TERMIX_LOG_LEVEL:-info}
PUID: ${PUID:-1000}
PGID: ${PGID:-1000}
ENABLE_GUACAMOLE: ${ENABLE_GUACAMOLE:-true}
GUACD_HOST: guacd
GUACD_PORT: "4822"
OIDC_FORCE_HTTPS: ${OIDC_FORCE_HTTPS:-false}
OIDC_ALLOW_REGISTRATION: ${OIDC_ALLOW_REGISTRATION:-false}
depends_on:
- guacd
networks:
- termix-net
guacd:
image: guacamole/guacd:${GUACD_TAG:-1.6.0}
container_name: termix-guacd
restart: unless-stopped
networks:
- termix-net
networks:
termix-net:
driver: bridge

22
termix.env.example Normal file
View File

@@ -0,0 +1,22 @@
# Termix Docker-Test-1 trial settings
# Copy to termix.env on the target host and adjust as needed.
TERMIX_IMAGE=ghcr.io/lukegus/termix
TERMIX_TAG=2.4.0
TERMIX_HTTP_PORT=8080
TERMIX_DATA_DIR=/opt/docker/termix/data
TERMIX_LOG_LEVEL=info
# Container process UID/GID. Match the owner of TERMIX_DATA_DIR on the target host.
PUID=1000
PGID=1000
# Remote desktop support via guacd.
ENABLE_GUACAMOLE=true
GUACD_TAG=1.6.0
# Set true if Termix is behind an HTTPS reverse proxy and OIDC callbacks need HTTPS.
OIDC_FORCE_HTTPS=false
# Keep false until an admin intentionally enables SSO/LDAP/GitHub/Google self-registration.
OIDC_ALLOW_REGISTRATION=false