Files
Docker-Compose-Stacks/termix-compose.yml

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