docker-compose.yml
Rama main · réplica de lectura del repositorio original.
services:
rustdesk-console:
image: databk/rustdesk-console:latest
restart: unless-stopped
environment:
JWT_SECRET: ${JWT_SECRET:?Set JWT_SECRET in .env}
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?Set ADMIN_PASSWORD in .env}
DB_TYPE: ${DB_TYPE:-sqlite}
DB_MIGRATE_ON_START: ${DB_MIGRATE_ON_START:-1}
DB_HOST: ${DB_HOST:-localhost}
DB_PORT: ${DB_PORT:-3306}
DB_USERNAME: ${DB_USERNAME:-rustdesk_console}
DB_PASSWORD: ${DB_PASSWORD:-}
DB_DATABASE: ${DB_DATABASE:-rustdesk_console}
SYSTEM_UPDATE_MYSQL_EXCLUSIVE_SCHEMA: ${SYSTEM_UPDATE_MYSQL_EXCLUSIVE_SCHEMA:-false}
SYSTEM_UPDATE_SOCKET: /run/rustdesk-console-updater/control.sock
SYSTEM_UPDATE_MAINTENANCE_FILE: /var/lib/rustdesk-console-maintenance/maintenance.json
volumes:
- ./data:/data
- ./updater-ipc:/run/rustdesk-console-updater:ro
- ./updater-maintenance:/var/lib/rustdesk-console-maintenance:ro
networks:
- default
- rustdesk
rustdesk-console-web:
image: databk/rustdesk-console-web:latest
ports:
- '21114:80'
environment:
- BACKEND_URL=http://rustdesk-console:3000
depends_on:
- rustdesk-console
restart: unless-stopped
updater:
image: databk/rustdesk-console:latest
restart: unless-stopped
command: ['node', '/app/deployment/compose-bootstrap.mjs']
environment:
SYSTEM_UPDATE_ROLE: updater
SYSTEM_UPDATE_INSTALLATION: ${CONSOLE_INSTALL_DIR:?Set absolute host project path in .env}/updater-state/installation.json
SYSTEM_UPDATE_SOCKET: ${CONSOLE_INSTALL_DIR:?Set absolute host project path in .env}/updater-ipc/control.sock
SYSTEM_UPDATE_MAINTENANCE_FILE: ${CONSOLE_INSTALL_DIR:?Set absolute host project path in .env}/updater-maintenance/maintenance.json
SYSTEM_UPDATE_COMPOSE_ROOT: ${CONSOLE_INSTALL_DIR:?Set absolute host project path in .env}
SYSTEM_UPDATE_SOCKET_GID: 1000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- .:/install
- ${CONSOLE_INSTALL_DIR:?Set absolute host project path in .env}:${CONSOLE_INSTALL_DIR:?Set absolute host project path in .env}
healthcheck:
disable: true
# Optional RustDesk server (hbbs/hbbr). Enable with COMPOSE_PROFILES=server
# (or `docker compose --profile server up -d`) and set SERVER_MANAGEMENT_TOKEN
# and RUSTDESK_RELAY_ADDRESS in .env. The Console-side management connection
# (URL http://hbbs:21120, the same token and the node identity) is configured
# in Settings -> Server management after sign-in. Required server values
# default to empty instead of failing interpolation because Compose resolves
# variables before filtering profiles; hbbs exits with a clear error when the
# management token is missing or shorter than 32 characters.
hbbs:
image: databk/rustdesk-server:latest
profiles: [server]
container_name: hbbs
command: ['hbbs', '-r', '${RUSTDESK_RELAY_ADDRESS:-}']
working_dir: /data
restart: unless-stopped
environment:
HOME: /data
RD_MANAGEMENT_BIND: 0.0.0.0:21120
RD_MANAGEMENT_TOKEN: ${SERVER_MANAGEMENT_TOKEN:-}
RD_MANAGEMENT_DIR: /data/management
ports:
- '21115:21115'
- '21116:21116'
- '21116:21116/udp'
- '21118:21118'
volumes:
- ./data/server:/data
networks:
- rustdesk
hbbr:
image: databk/rustdesk-server:latest
profiles: [server]
container_name: hbbr
command: ['hbbr']
working_dir: /data
restart: unless-stopped
environment:
HOME: /data
RD_HBBS_API_URL: ws://hbbs:21120/v1/control
RD_MANAGEMENT_TOKEN: ${SERVER_MANAGEMENT_TOKEN:-}
RD_RELAY_ID: relay-1
RD_RELAY_ADDRESS: ${RUSTDESK_RELAY_ADDRESS:-}
ports:
- '21117:21117'
- '21119:21119'
volumes:
- ./data/server-relay:/data
networks:
- rustdesk
networks:
rustdesk: {}