# RustDesk server (built from source on gitea.cstudio.ch) # # Configuration is driven by a sibling .env file — see .env.example. # Override the build source with RUSTDESK_GIT_URL / RUSTDESK_GIT_BRANCH. x-rustdesk-build: &rustdesk-build context: . dockerfile: docker/Dockerfile.source args: RUSTDESK_GIT_URL: ${RUSTDESK_GIT_URL:-https://gitea.cstudio.ch/mike/rustdesk-server.git} RUSTDESK_GIT_BRANCH: ${RUSTDESK_GIT_BRANCH:-pro-features} DATABASE_URL: ${DATABASE_URL:-} networks: rustdesk-net: external: false services: hbbs: container_name: hbbs build: *rustdesk-build image: rustdesk-server-pro:local command: > hbbs -r ${RUSTDESK_DOMAIN:?set RUSTDESK_DOMAIN in .env, e.g. rd.gamecom.ch}:21117 -k ${RUSTDESK_KEY:--} --http-port ${RUSTDESK_HTTP_PORT:-21114} --admin-ui-dir /opt/rustdesk/admin_ui --bootstrap-admin-username=${RUSTDESK_BOOTSTRAP_ADMIN_USERNAME:-} --bootstrap-admin-password=${RUSTDESK_BOOTSTRAP_ADMIN_PASSWORD:-} environment: ALWAYS_USE_RELAY: ${RUSTDESK_ALWAYS_USE_RELAY:-N} RUST_LOG: ${RUST_LOG:-info} ports: - "${RUSTDESK_HTTP_PORT:-21114}:21114" - "21115:21115" - "21116:21116" - "21116:21116/udp" - "21118:21118" volumes: - ./data:/root networks: - rustdesk-net depends_on: - hbbr restart: unless-stopped hbbr: container_name: hbbr build: *rustdesk-build image: rustdesk-server-pro:local command: > hbbr -k ${RUSTDESK_KEY:--} environment: RUST_LOG: ${RUST_LOG:-info} ports: - "21117:21117" - "21119:21119" volumes: - ./data:/root networks: - rustdesk-net restart: unless-stopped