Skip to content

Docker UnyDesk

Cette page publique conserve uniquement les informations utiles pour comprendre le runtime Docker UnyDesk.

Source de référence :

  • /var/docker/docker_unydesk/docker-compose.yml

Les détails de build internes, les commandes longues de packaging et les valeurs sensibles ne sont pas publiés ici.

Résumé public

Élément Valeur publique
Service unydesk
Image golang:alpine
Conteneur unydesk
Répertoire de travail /app/unydesk/backend
Port interne 8890/tcp
Bind hôte 192.168.3.5:8890
Mode de redémarrage unless-stopped

Service

UnyDesk tourne dans un conteneur Go Alpine et compile le backend ainsi que les binaires hôtes au démarrage.

services:
  unydesk:
    image: golang:alpine
    container_name: unydesk
    working_dir: /app/unydesk/backend
    restart: unless-stopped
    ports:
      - "192.168.3.5:8890:8890"
    volumes:
      - /var/docker/docker_unydesk/unydesk:/app/unydesk
      - go-cache:/root/go/pkg/mod
      - go-build-cache:/root/.cache/go-build

Variables publiques

Les variables suivantes pilotent les aspects publics du runtime et du packaging :

Variable Valeur publique Usage
UNYDESK_ASSETS /app/unydesk/frontend/public assets frontend servis depuis le disque
SERVER_URL variable d'environnement URL publique annoncée au runtime
UNYDESK_FFMPEG_WINDOWS_AMD64_URL URL GitHub FFmpeg source de téléchargement FFmpeg Windows amd64
UNYDESK_STUN_URLS variable d'environnement configuration STUN publique
UNYDESK_TURN_URLS variable d'environnement configuration TURN publique
UNYDESK_TURN_USERNAME variable d'environnement identifiant TURN
UNYDESK_TURN_CREDENTIAL <redacted> secret masqué dans la doc publique
UNYDESK_ENABLE_PAIRED_UPX 1 par défaut active le packaging UPX des binaires associés
UNYDESK_PACK_EMBEDDED_FFMPEG 1 par défaut embarque FFmpeg dans le payload Windows
UNYDESK_UPX_FLAGS variable d'environnement surcharge les flags UPX
UNYDESK_UPX_ULTRA 0 par défaut active un mode UPX plus lent si positionné à 1
environment:
  UNYDESK_ASSETS: /app/unydesk/frontend/public
  SERVER_URL: "${SERVER_URL:-}"
  UNYDESK_FFMPEG_WINDOWS_AMD64_URL: "${UNYDESK_FFMPEG_WINDOWS_AMD64_URL:-https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip}"
  UNYDESK_STUN_URLS: "${UNYDESK_STUN_URLS:-}"
  UNYDESK_TURN_URLS: "${UNYDESK_TURN_URLS:-}"
  UNYDESK_TURN_USERNAME: "${UNYDESK_TURN_USERNAME:-}"
  UNYDESK_TURN_CREDENTIAL: "<redacted>"
  UNYDESK_ENABLE_PAIRED_UPX: "${UNYDESK_ENABLE_PAIRED_UPX:-1}"
  UNYDESK_PACK_EMBEDDED_FFMPEG: "${UNYDESK_PACK_EMBEDDED_FFMPEG:-1}"
  UNYDESK_UPX_FLAGS: "${UNYDESK_UPX_FLAGS:-}"
  UNYDESK_UPX_ULTRA: "${UNYDESK_UPX_ULTRA:-0}"

Volumes

Le service s'appuie sur trois volumes principaux :

Type Source Destination Rôle
Code applicatif /var/docker/docker_unydesk/unydesk /app/unydesk sources backend/frontend
Cache Go modules go-cache /root/go/pkg/mod dépendances Go persistées
Cache Go build go-build-cache /root/.cache/go-build cache de compilation Go

Exposition

Le port applicatif est exposé sur l'adresse interne Docker host :

Hôte Conteneur Usage
192.168.3.5:8890 8890/tcp accès interne avant reverse proxy
192.168.3.5:8890 -> 8890/tcp

L'accès public passe ensuite par le reverse proxy de la plateforme.

Note admin

La documentation admin conserve les détails d'exploitation complets lorsque ceux-ci sont nécessaires aux mainteneurs.