55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
# ============================================
|
|
# 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
|