Ctrl K
ComunidadGuías…

docker-compose.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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: {}