Docker

[Docker] Remotely 구축하기

IT-PAPA 2024. 7. 2. 06:20
728x90
반응형

"Remotely"는 원격 데스크탑 관리 및 지원 소프트웨어로, 오픈 소스로 제공되어 GitHub에서 찾을 수 있습니다. 이 소프트웨어는 사용자에게 원격으로 컴퓨터를 관리하고, 원격 지원 세션을 통해 문제를 해결할 수 있는 기능을 제공합니다. 아래는 "Remotely" 레포지토리의 주요 기능과 구성을 자세히 설명한 내용입니다.

주요 기능

  1. 원격 데스크탑 제어: 사용자는 다른 컴퓨터에 원격으로 접속하여 데스크탑을 제어할 수 있습니다.
  2. 원격 지원 세션: 실시간으로 지원 세션을 열어 원격지의 컴퓨터 문제를 해결할 수 있습니다.
  3. 파일 전송: 원격지 컴퓨터와 파일을 주고받을 수 있습니다.
  4. 채팅 기능: 원격 지원 중에 채팅을 통해 커뮤니케이션할 수 있습니다.
  5. 스크린샷 및 녹화: 원격 세션 중에 스크린샷을 찍거나 화면을 녹화할 수 있습니다.
  6. 보안 기능: 안전한 연결을 보장하기 위해 암호화된 통신을 사용합니다.

구성 요소

  • Server: 원격 접속을 관리하고 세션을 중계하는 서버 애플리케이션입니다. ASP.NET Core로 작성되어 있으며, 다양한 데이터베이스와 연동할 수 있습니다.
  • Agent: 원격지 컴퓨터에 설치되는 소프트웨어로, 원격 제어 및 지원 세션을 가능하게 합니다. .NET으로 작성되었습니다.
  • Client: 사용자가 원격 접속을 위해 사용하는 인터페이스입니다. 웹 브라우저를 통해 접근할 수 있습니다.

 

[Docker] 도커의 모든 것, 도커 추천 이미지!!! (tistory.com)

 

[Docker] 도커의 모든 것, 도커 추천 이미지!!!

필자는 이때까지 docker로 구축한 모든 목록을 이 블로그에 담았다. 앞으로도 이 페이지는 필자가 도커를 구축할 때마다 업데이트하려고 하니, 즐겨찾기 해두면 나쁘지 않을 거 같다. 유용하게 사

betwe.tistory.com

 

폴더 생성 및 docker-compose.yml 다운로드

mkdir -p /var/www/remotely
wget -q https://raw.githubusercontent.com/immense/Remotely/master/docker-compose/docker-compose.yml

 

docker-compose.yml 파일

docker-compose.yml
version: '3.4'

networks:
  remotely:
    name: remotely-network
    driver: bridge
    ipam:
      config:
        - subnet: 172.28.0.0/16
          gateway: 172.28.0.1

services:
  remotely:
    image: immybot/remotely:latest
    container_name: remotely
    volumes:
      - /var/www/remotely:/app/AppData
    restart: unless-stopped
    ports:
      - "5000:5000"
    networks:
      - remotely
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - ASPNETCORE_HTTP_PORTS=5000
      # Other ASP.NET Core configurations can be overridden here, such as Logging.
      # See https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-8.0
      - Serilog__MinimumLevel__Override__Microsoft.AspNetCore=Warning
      - Serilog__MinimumLevel__Override__System=Warning

      # Values for DbProvider are SQLite, SQLServer, and PostgreSQL.
      - Remotely_ApplicationOptions__DbProvider=SQLite
      # The Docker gateway will be used in Forwarded Headers, which is necessary to
      # to correctly determine request hostname and scheme within the app.  If you change
      # the network config, you must update this value as well.
      - Remotely_ApplicationOptions__DockerGateway=172.28.0.1
      # This path shouldn't be changed.  It points to the Docker volume.
      - Remotely_ConnectionStrings__SQLite=Data Source=/app/AppData/Remotely.db
      # If using SQL Server, change the connection string to point to your SQL Server instance.
      - Remotely_ConnectionStrings__SQLServer=Server=(localdb)\\mssqllocaldb;Database=Remotely-Server-53bc9b9d-9d6a-45d4-8429-2a2761773502;Trusted_Connection=True;MultipleActiveResultSets=true
      # If using PostgreSQL, change the connection string to point to your PostgreSQL instance.
      - Remotely_ConnectionStrings__PostgreSQL=Server=Host=localhost;Database=Remotely;Username=postgres;

 

docker-compose 시작

docker-compose up -d

 

NPM 으로 Reverse Proxy 설정 (nginx 나 caddy 등으로도 설정 가능)

NPM 으로 Reverse Proxy 설정
NPM 으로 Reverse Proxy 설정

서버 PC : 서비스 URL 접속 (Reverse proxy 하여 도메인으로 접속 권장)

http://[서버 IP]:5000

서비스 URL 접속 (Reverse proxy 하여 도메인으로 접속 권장)
서버 PC : 서비스 URL 접속 (Reverse proxy 하여 도메인으로 접속 권장)

 

서버 PC : 계정 등록

계정 등록
서버 PC : 계정 등록

서버 PC : 계정등록 후 메인 화면

계정등록 후 메인 화면
서버 PC :계정등록 후 메인 화면

서버 PC : Organization 설정

Organization 설정
서버 PC : Organization 설정

서버 PC : Server Config 설정

Server Config 설정
서버 PC : Server Config 설정
Server Config 설정
서버 PC : Server Config 설정

 

Client PC : 클라이언트에서 remotely 사이트 접속 후 Downloads 메뉴 선택 (OS 에 따라 다운로드)

클라이언트에서 remotely 사이트 접속 후 Downloads 메뉴 선택
Client PC : 클라이언트에서 remotely 사이트 접속 후 Downloads 메뉴 선택

Client PC : 필자의 OS 는 Windows 11 64bit 용 다운로드

OS에 맞게 다운로드 선택
Client PC : OS에 맞게 다운로드 선택
유지 선택
Client PC : 유지 선택

 

그래도 계속 선택
Client PC : 그래도 계속 선택

Client PC : 다운로드 완료

다운로드 완료
Client PC : 다운로드 완료

 

Session ID 수신 실패 시 서버 변경 클릭
Client PC : Session ID 수신 실패 시 서버 변경 클릭

 

Client PC : Session ID 수신 실패 시 서버 변경 클릭

Session ID 수신 실패 시 서버 변경 클릭
Client PC : Session ID 수신 실패 시 서버 변경 클릭
http -> https 로 변경
Client PC : http -> https 로 변경
http -> https 로 변경
Client PC : http -> https 로 변경

 

Client PC : Session ID 수신 완료

Session ID 수신 완료
Client PC : Session ID 수신 완료

 

서버PC : 접속하려는 PC에서 remotely 사이트의 Remote Control 메뉴 클릭

접속하려는 PC에서 remotely 사이트의 Remote Control 메뉴 클릭

서버PC :  Client 에 표시된 Session ID 입력 후 CONNECT 버튼 클릭

Client 에 표시된 Session ID 입력 후 CONNECT 버튼 클릭
서버PC : Client 에 표시된 Session ID 입력 후 CONNECT 버튼 클릭
Client 에 표시된 Session ID 입력 후 CONNECT 버튼 클릭
서버PC : Client 에 표시된 Session ID 입력 후 CONNECT 버튼 클릭

 

Client PC : 클라이언트에서 접속 허용 YES 버튼 클릭

클라이언트에서 접속 허용 YES 버튼 클릭
Client PC : 클라이언트에서 접속 허용 YES 버튼 클릭

 

서버 PC : 클라이언트 접속 완료 화면 (브라우저에서 원격 성공) 

서버 PC : 클라이언트 접속 완료 화면 (브라우저에서 원격 성공)
서버 PC : 클라이언트 접속 완료 화면 (브라우저에서 원격 성공)

 

docker-comopse 중지

docker-compose down

 

참고사이트

immense/Remotely: A remote control and remote scripting solution, built with .NET 8, Blazor, and SignalR. (github.com)

 

GitHub - immense/Remotely: A remote control and remote scripting solution, built with .NET 8, Blazor, and SignalR.

A remote control and remote scripting solution, built with .NET 8, Blazor, and SignalR. - immense/Remotely

github.com

immybot/remotely - Docker Image | Docker Hub

 

https://hub.docker.com/r/immybot/remotely

 

hub.docker.com

튜토리얼

hw_storyprison1c_h_kr_200 (youtube.com)

 

728x90
반응형
LIST

'Docker' 카테고리의 다른 글

[Docker] emby 구축하기  (1) 2024.07.05
[Docker] draw.io 구축하기  (1) 2024.07.04
[Docker] Resilio-sync 구축하기  (2) 2024.07.01
[Docker] Shotcut 구축하기  (1) 2024.06.27
[Docker] syncthing 구축하기  (1) 2024.06.25