Dream
DocumentationDownload
원격 작업

호스트 서비스

데스크톱 앱 없이 Dream 호스트를 계속 실행하고 명령줄에서 관리합니다.

Dream의 호스트인 dream-host는 프로젝트의 에이전트, 터미널, Git 명령을 실행합니다. 보통은 데스크톱 앱이 호스트를 시작하고 앱을 종료할 때 중지합니다. 호스트를 서비스로 설치하면 앱을 닫은 뒤에도 채팅과 터미널이 계속 실행되므로, 원격 액세스를 사용하거나 데스크톱이 없는 컴퓨터에서 실행할 때 유용합니다.

시스템서비스 관리자시작 시점
Linuxsystemd 사용자 서비스로그인 시, 또는 loginctl enable-linger 사용 시 부팅 시
macOSLaunchAgent로그인 시
WindowsTask Scheduler(작업 스케줄러)로그인 시

호스트가 실패하면 서비스가 호스트를 다시 시작합니다. 절전 모드인 컴퓨터에는 연결할 수 없습니다.

호스트 런타임 받기#

Dream 릴리스에서 시스템에 맞는 dream-host 아카이브를 다운로드합니다. 패키지된 런타임은 Linux x64, Linux ARM64, macOS Apple silicon용으로 제공됩니다. 각 아카이브에는 Node.js, 호스트, 터미널 지원, 브라우저 클라이언트가 포함됩니다.

서비스를 실행할 사용자와 같은 사용자로 에이전트 CLI를 설치하고 로그인하세요.

이 데스크톱의 호스트를 서비스로 실행하기#

  1. Dream을 종료합니다.

  2. 프로젝트와 채팅이 유지되도록 데스크톱 데이터 폴더를 지정해 서비스를 설치합니다:

  3. 환경 변수에 DREAM_HOST_MODE=service를 설정하고 Dream을 시작합니다. 예를 들어 macOS에서는 다음과 같습니다:

시스템데스크톱 데이터 폴더
macOS~/Library/Application Support/dreamide
Windows%APPDATA%/dreamide
Linux~/.config/dreamide

그러면 데스크톱이 서비스에 연결됩니다. 데스크톱을 닫아도 실행 중인 응답과 터미널은 계속 실행되며, 다시 열면 터미널이 복원됩니다. 하나의 데이터 폴더는 한 번에 하나의 호스트만 사용할 수 있습니다. 데스크톱이 자체 호스트를 시작하는 방식으로 되돌리려면 먼저 서비스를 중지하세요.

설치할 때 현재 PATH가 기록됩니다. 호스트나 에이전트 CLI에 필요한 다른 환경 변수마다 --env NAME을 추가하세요. 값은 비공개 서비스 파일에 보관됩니다.

헤드리스 호스트 설정#

데스크톱 앱이 없는 컴퓨터에서는 --data-dir 없이 서비스를 설치합니다. 데이터는 ~/.dream/host/data에 보관됩니다. --home으로 다른 호스트 폴더를 사용하는 경우 모든 명령에 같은 --home을 전달하세요.

그런 다음 명령줄에서 원격 액세스를 켜고 기기를 페어링합니다:

명령무엇을 하는지
dream-host remote on --tailscaleTailscale을 통한 원격 액세스를 켭니다
dream-host remote install-cloudflaredCloudflare 커넥터를 설치하거나 업데이트합니다
dream-host remote on --cloudflare --origin https://dream.example.com --token-file <path>Cloudflare Tunnel을 통한 원격 액세스를 켜고, 비공개 파일에서 토큰을 읽습니다
dream-host remote on --cloudflare --external --origin https://dream.example.com직접 실행하는 Cloudflare 커넥터를 사용합니다
dream-host remote status / dream-host remote check설정을 표시하거나 다시 확인합니다
dream-host remote off페어링된 기기에 대한 제공을 중지합니다
dream-host pair보기 및 작업 액세스 권한이 있는 페어링 링크, 코드, QR 코드를 만듭니다. 보기 전용은 --scopes view, 전체 액세스는 --scopes view,operate,manage를 사용하세요
dream-host claims페어링 코드를 입력한 기기를 나열합니다
dream-host confirm <claimId> / dream-host deny <claimId>기기를 승인하거나 거부합니다
dream-host devices페어링된 기기를 나열합니다
dream-host revoke <sessionId>기기의 액세스 권한을 제거합니다

기계가 읽을 수 있는 출력이 필요하면 이 명령에 --json을 추가하세요.

서비스 관리#

명령무엇을 하는지
dream-host service status서비스 실행 여부, 버전, 포트, 로그를 표시합니다
dream-host service start / stop / restart실행 중인 서비스를 제어합니다
dream-host service uninstall시작 등록을 제거하고 데이터는 유지합니다
dream-host service update <version>게시된 버전을 설치합니다
dream-host service recover중단된 업데이트를 완료하거나 롤백합니다

업데이트는 호스트를 중지하기 전에 릴리스 아카이브를 다운로드하고 체크섬을 확인합니다. 새 버전이 시작되지 않으면 서비스는 이전 런타임으로 돌아갑니다. 업데이트하면 실행 중인 응답과 터미널이 중단됩니다. 응답은 중단됨으로 표시되고 대기열은 일시 중지됩니다. 응답을 검토한 다음 다시 시도하거나 대기열을 재개하세요.

컴퓨터가 종료되는 등의 이유로 업데이트가 중간에 멈추면 dream-host service status를 실행한 다음 dream-host service recover를 실행하세요.