From 6f1719331270be0170dff2e926814d9d40fb9ade Mon Sep 17 00:00:00 2001 From: Ruslan Date: Mon, 27 Apr 2026 19:07:55 +0000 Subject: [PATCH] feat: loading overlay on dashboard, RDP pooled session routing fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - dashboard.html: overlay div moved before diff --git a/docker-compose.yml b/docker-compose.yml index 5784395..4020972 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -30,7 +30,7 @@ services: api: build: context: ./app - command: ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "6"] + command: ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "${UVICORN_WORKERS:-6}"] environment: DATABASE_URL: postgresql+psycopg2://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} SIGNING_KEY: ${SIGNING_KEY} @@ -41,14 +41,22 @@ services: PREWARM_POOL_SIZE: ${PREWARM_POOL_SIZE:-2} UNIVERSAL_POOL_SIZE: ${UNIVERSAL_POOL_SIZE:-0} WEB_POOL_SIZE: ${WEB_POOL_SIZE:-20} - WEB_POOL_BUFFER: ${WEB_POOL_BUFFER:-10} - X11VNC_FLAGS: ${X11VNC_FLAGS:--wait 5 -defer 5 -ncache 10 -threads} + WEB_POOL_BUFFER: ${WEB_POOL_BUFFER:-2} + X11VNC_FLAGS: ${X11VNC_FLAGS:--wait 5 -defer 5 -threads} MAX_ACTIVE_SERVICES_PER_USER: ${MAX_ACTIVE_SERVICES_PER_USER:-4} LOG_LEVEL: ${LOG_LEVEL:-INFO} - GO_USER_LOCK_TIMEOUT_SECONDS: 8 - GO_POOL_LOCK_TIMEOUT_SECONDS: 20 - POOL_DISPATCH_RETRIES: 6 - ENABLE_STARTUP_MAINTENANCE: 0 + LOG_SLOW_REQUEST_MS: ${LOG_SLOW_REQUEST_MS:-2000} + GO_USER_LOCK_TIMEOUT_SECONDS: ${GO_USER_LOCK_TIMEOUT_SECONDS:-8} + GO_POOL_LOCK_TIMEOUT_SECONDS: ${GO_POOL_LOCK_TIMEOUT_SECONDS:-20} + POOL_DISPATCH_RETRIES: ${POOL_DISPATCH_RETRIES:-6} + POOL_DISPATCH_REQUEST_TIMEOUT_SECONDS: ${POOL_DISPATCH_REQUEST_TIMEOUT_SECONDS:-2.0} + POOL_DISPATCH_SLEEP_SECONDS: ${POOL_DISPATCH_SLEEP_SECONDS:-0.3} + TRAEFIK_INTERNAL_URL: ${TRAEFIK_INTERNAL_URL:-http://traefik} + WEB_RESOLUTION_MIN_WIDTH: ${WEB_RESOLUTION_MIN_WIDTH:-1024} + WEB_RESOLUTION_MIN_HEIGHT: ${WEB_RESOLUTION_MIN_HEIGHT:-720} + WEB_RESOLUTION_MAX_WIDTH: ${WEB_RESOLUTION_MAX_WIDTH:-3840} + WEB_RESOLUTION_MAX_HEIGHT: ${WEB_RESOLUTION_MAX_HEIGHT:-2160} + ENABLE_STARTUP_MAINTENANCE: ${ENABLE_STARTUP_MAINTENANCE:-0} depends_on: - db volumes: @@ -83,14 +91,22 @@ services: PREWARM_POOL_SIZE: ${PREWARM_POOL_SIZE:-2} UNIVERSAL_POOL_SIZE: ${UNIVERSAL_POOL_SIZE:-0} WEB_POOL_SIZE: ${WEB_POOL_SIZE:-20} - WEB_POOL_BUFFER: ${WEB_POOL_BUFFER:-10} - X11VNC_FLAGS: ${X11VNC_FLAGS:--wait 5 -defer 5 -ncache 10 -threads} + WEB_POOL_BUFFER: ${WEB_POOL_BUFFER:-2} + X11VNC_FLAGS: ${X11VNC_FLAGS:--wait 5 -defer 5 -threads} MAX_ACTIVE_SERVICES_PER_USER: ${MAX_ACTIVE_SERVICES_PER_USER:-4} LOG_LEVEL: ${LOG_LEVEL:-INFO} - GO_USER_LOCK_TIMEOUT_SECONDS: 8 - GO_POOL_LOCK_TIMEOUT_SECONDS: 20 - POOL_DISPATCH_RETRIES: 6 - ENABLE_STARTUP_MAINTENANCE: 0 + LOG_SLOW_REQUEST_MS: ${LOG_SLOW_REQUEST_MS:-2000} + GO_USER_LOCK_TIMEOUT_SECONDS: ${GO_USER_LOCK_TIMEOUT_SECONDS:-8} + GO_POOL_LOCK_TIMEOUT_SECONDS: ${GO_POOL_LOCK_TIMEOUT_SECONDS:-20} + POOL_DISPATCH_RETRIES: ${POOL_DISPATCH_RETRIES:-6} + POOL_DISPATCH_REQUEST_TIMEOUT_SECONDS: ${POOL_DISPATCH_REQUEST_TIMEOUT_SECONDS:-2.0} + POOL_DISPATCH_SLEEP_SECONDS: ${POOL_DISPATCH_SLEEP_SECONDS:-0.3} + TRAEFIK_INTERNAL_URL: ${TRAEFIK_INTERNAL_URL:-http://traefik} + WEB_RESOLUTION_MIN_WIDTH: ${WEB_RESOLUTION_MIN_WIDTH:-1024} + WEB_RESOLUTION_MIN_HEIGHT: ${WEB_RESOLUTION_MIN_HEIGHT:-720} + WEB_RESOLUTION_MAX_WIDTH: ${WEB_RESOLUTION_MAX_WIDTH:-3840} + WEB_RESOLUTION_MAX_HEIGHT: ${WEB_RESOLUTION_MAX_HEIGHT:-2160} + ENABLE_STARTUP_MAINTENANCE: ${ENABLE_STARTUP_MAINTENANCE:-0} depends_on: - db volumes: diff --git a/rdp-proxy/entrypoint.sh b/rdp-proxy/entrypoint.sh index b5075b7..f8df8c9 100644 --- a/rdp-proxy/entrypoint.sh +++ b/rdp-proxy/entrypoint.sh @@ -107,7 +107,8 @@ cat > /opt/portal/index.html < { connected = false;