Profile picture

[Docker] 오픈소스 원격 관리 도커로 구축하기 (RustDesk)

JaehyoJJAng2024년 01월 05일

▶︎ RustDesk


image
RustDesk는 외부에 있는 사용자가 원격지에 있는 데스크탑에 접근하고 제어할 수 있는 오픈 소스 원격 데스크톱 소프트웨어이다.

비슷한 소프트웨어로는 TeamViewer가 있다.

프로젝트 이름으로 유추 해볼 수 있듯이 rust 언어를 사용하여 구현되었으며,

크로스 플랫폼 호환성을 제공하여 Windows, Mac, Linux 운영 체제에서 self-hosted 구축이 가능하다.


▶︎ 설치하기

‣ 사전 작업

1. rustdesk 프로젝트용 폴더 생성

mkdir -p ~/rustdesk

2. 방화벽 포트 오픈

  • TCP
    • 21115: NAT 테스트용
    • 21116: TCP 연결 서비스
    • 21117: 릴레이 서비스
    • 21118: 웹 클라이언트 지원
    • 21119: 웹 클라이언트 지원
  • UDP
    • 21116: ID 등록 및 HeartBeat 서비스

3. 포트 포워딩
image
릴레이 서버만 사용하는 경우 21117 포트만, 웹까지 사용하려면 21118 - 21119도 같이 포워딩 해주면 된다.


‣ Docker Compose 작성

~/rustdesk/docker-compose.yaml

services:
  hbbs:
    depends_on:
      - "hbbr"
    image: rustdesk/rustdesk-server:latest
    command: hbbs
    volumes:
      - type: volume
        source: data
        target: /root
    networks:
      - "rustdesk-net"
    restart: unless-stopped
    container_name: hbbs

  hbbr:
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - type: volume
        source: data
        target: /root
    networks:
      - "rustdesk-net"
    restart: unless-stopped
    container_name: hbbr
    
networks:
  rustdesk-net:
    name: rustdesk-net
    external: true

volumes:
  data: {}

‣ 실행

위 yaml 파일 작성이 완료 되었다면, 아래 명령어를 실행하여 컨테이너 생성

docker-compose up -d --build

‣ 클라이언트 설치

rustdesk에 들어가서 플랫폼에 맞는 클라이언트를 설치


설치가 완료되었다면 프로그램을 실행해 Relay Server를 추가해주자.
image
Relay 서버 항목에 Relay Server의 IP 또는 도메인 주소를 넣어주면 된다.


Apply를 누르고 Home으로 다시 넘어가서 하단에 아래와 같이 뜨면 성공이다.
image


Loading script...