CLI 명령어 Reference
DisHost CLI의 주요 명령어 사용법과 실무 워크플로를 안내합니다.
DisHost CLI를 사용하면 터미널에서 봇 생성부터 실시간 로그 확인, 로컬 코드 동기화까지 간편하게 처리할 수 있습니다.
주요 작업 흐름 (Workflows)
1. Git 저장소 기반 새 봇 배포 (deploy)
GitHub 저장소에 있는 소스코드를 기반으로 새 봇 컨테이너를 생성하고 로컬 디렉토리와 연결합니다.
# 1. 봇 프로젝트 폴더로 이동
cd my-discord-bot
# 2. 배포 명령 실행
dishost deploy- 동작 방식: CLI가 현재 폴더의 언어와 Git 원격지 주소를 자동으로 확인합니다. 봇 이름과 환경 변수(예:
.env.example의DISCORD_TOKEN)를 입력받아 서버를 생성하며, 생성이 완료되면 현재 폴더와 봇 ID가 자동으로 연결(Link)됩니다.
2. 로컬 코드 빠른 동기화 (push)
Git commit과 push 과정 없이, 로컬에서 수정한 코드를 원격 서버에 바로 덮어써서 적용합니다.
dishost push- 동작 방식:
node_modules,.git,.env등 불필요한 대용량 파일과 민감 정보를 제외하고 코드를 압축해 서버로 업로드한 뒤, 컨테이너에서 압축을 풀어 기존 코드를 갱신합니다.
3. 미사용 파일 정리 및 클린 배포 (push --clean)
로컬에서 불필요한 파일을 삭제했을 때, 원격 서버의 이전 파일들을 정리하고 깨끗하게 동기화합니다.
dishost push --clean # 또는 dishost push -c- 보호 규칙:
.env(환경 설정)와node_modules(패키지 폴더)는 그대로 유지한 채 소스코드만 깔끔하게 동기화되므로, 패키지를 재설치할 필요 없이 빠르게 배포할 수 있습니다.
명령어 상세 목록
dishost login
DisHost 계정에 로그인하여 API Key를 등록합니다.
dishost logindishost logout
로컬 세션과 저장된 API Key를 안전하게 삭제합니다.
dishost logoutdishost list
계정에 등록된 모든 봇의 상태와 메모리 사용량을 테이블 형태로 확인합니다.
dishost list- 출력 예시:
┌──────────┬────────────────────────┬─────────────┬──────┬───────────────┬────────┬──────┐ │ ID │ Name │ Status │ Lang │ Mem │ Renew │ Auto │ ├──────────┼────────────────────────┼─────────────┼──────┼───────────────┼────────┼──────┤ │ cmrag6pg…│ ticket-bot │ ● running │ js │ 18MB / 128MB │ 3d │ - │ └──────────┴────────────────────────┴─────────────┴──────┴───────────────┴────────┴──────┘ - 상태 표시:
● running(초록색): 봇이 실행 중이거나 시작되는 중⟳ stopping(노란색): 봇이 종료되는 중○ stopped(노란색): 봇이 정지된 상태○ expired(빨간색): 갱신 기간이 만료되어 정지된 상태
dishost status <봇이름>
컨테이너의 CPU, 메모리, 디스크 실시간 사용량을 조회합니다.
dishost status my-botdishost logs <봇이름> [--follow]
서버 콘솔 로그(stdout/stderr)를 조회합니다. -f 또는 --follow 옵션을 붙이면 실시간으로 로그를 스트리밍할 수 있습니다.
# 최근 콘솔 로그 확인
dishost logs my-bot
# 실시간 로그 스트리밍 (종료: Ctrl + C)
dishost logs my-bot --followdishost env list <봇이름>
서버에 등록된 환경 변수 목록을 확인합니다. 보안이 필요한 값은 마스킹(****) 처리되어 표시됩니다.
dishost env list my-botdishost pull [봇이름]
서버에 설정된 환경 변수를 가져와 로컬 .env 파일에 동기화합니다.
dishost pull my-botdishost link [봇이름]
현재 로컬 작업 디렉토리를 특정 봇과 연결합니다. 연결 후에는 명령어 뒤에 봇 이름을 생략할 수 있습니다.
dishost link my-botdishost start <봇이름> / stop / restart
터미널에서 봇 프로세스의 전원을 제어합니다.
dishost start my-bot
dishost stop my-bot
dishost restart my-botdishost delete <봇이름>
컨테이너를 삭제하고 할당된 슬롯을 반환합니다.
dishost delete my-botdishost doctor
현재 작업 폴더의 패키지 구성, 진입 파일 존재 여부, Git 연결 상태 등을 진단하여 배포 준비 상태를 점검합니다.
dishost doctordishost init
대화형 안내를 통해 프로젝트 설정 파일인 dishost.yml을 생성합니다.
dishost init