문서
문서 목차
서비스 소개
DropTheCodes는 Kubernetes 기반의 컨테이너 배포 플랫폼입니다. 개발자가 컨테이너화된 애플리케이션을 쉽게 배포하고 관리할 수 있도록 설계되었습니다.
주요 기능:
- Docker 이미지 기반 애플리케이션 배포
- 실시간 서비스 상태 모니터링 및 로그 확인
- PVC 기반 영구 스토리지 관리
- Private 컨테이너 레지스트리 지원
- Kubernetes ConfigMap을 통한 환경 변수 관리
- 관리형 데이터베이스 (MySQL, PostgreSQL, MariaDB, MongoDB, Redis)
- RESTful API를 통한 프로그래매틱 제어
- CI/CD 파이프라인 통합 지원
- 웹 기반 관리 콘솔
계정 생성 및 로그인
DropTheCodes를 사용하려면 먼저 계정을 생성하고 로그인해야 합니다.
1. 계정 생성
- 홈페이지에서 "가입하기" 버튼을 클릭합니다
- 이메일, 이름, 비밀번호를 입력합니다
- 약관에 동의하고 "가입하기" 버튼을 클릭합니다
- 이메일로 전송된 인증 코드를 입력하여 계정을 활성화합니다
2. 로그인
- 메인 페이지에서 "로그인" 버튼을 클릭합니다
- 등록한 이메일과 비밀번호를 입력합니다
- 로그인 성공 시 콘솔 대시보드로 이동합니다
대시보드 둘러보기
로그인 후 나타나는 대시보드는 플랫폼의 전체 현황을 한눈에 볼 수 있는 메인 화면입니다.

대시보드 구성
- 통계 카드: 전체 서비스 수, 가동중인 서비스, 스토리지 사용량 등
- 서비스 목록: 최근 배포된 서비스들의 상태와 가동 시간
- 활동 로그: 최근 수행된 작업들의 기록
좌측 네비게이션
- 대시보드: 메인 현황 화면
- 서비스: 컨테이너 서비스 관리
- 스토리지: 영구 볼륨 관리
- 레지스트리: 컨테이너 이미지 레지스트리 관리
- 구성맵: 환경 변수 및 설정 관리
- RDBMS: 관계형 데이터베이스 관리 (MySQL, PostgreSQL, MariaDB)
- NoSQL: NoSQL 데이터베이스 관리 (MongoDB, Redis)
- 빌링: 사용량 및 결제 정보
- 프로필: 계정 정보 관리
- 문의: 고객 지원
서비스 생성하기
새로운 컨테이너 서비스를 배포하는 방법을 알아보세요.

1. 서비스 추가
- 좌측 메뉴에서 "서비스"를 클릭합니다
- "서비스 추가" 버튼을 클릭합니다
- 다음 정보를 입력합니다:
- 서비스 이름: 배포할 서비스의 이름
- 이미지: Docker 이미지 URL (예: nginx:latest)
- 포트: 컨테이너가 사용할 포트 번호
- 복제본 수: 실행할 Pod 개수
- CPU/메모리: 리소스 제한 설정
- "서비스 생성" 버튼을 클릭하여 배포를 시작합니다
💡 팁: Private 이미지를 사용하려면 먼저 레지스트리 섹션에서 인증 정보를 등록해야 합니다.
서비스 상태 모니터링
배포된 서비스의 상태를 실시간으로 모니터링할 수 있습니다.

서비스 상태 종류
- 배포전: 아직 Kubernetes에 배포되지 않은 상태
- 시작 중: Pod가 시작되고 있는 상태
- 가동중: 모든 Pod가 정상 실행 중
- 일부 가동중: 일부 Pod만 정상 실행 중
- 정지됨: 서비스가 정지된 상태
서비스 상세 정보
서비스 이름을 클릭하면 상세 페이지에서 다음 정보를 확인할 수 있습니다:
- 실시간 가동 시간 (실제 Pod 시작 시간 기준)
- 현재 상태 및 복제본 정보
- 리소스 사용량
- 서비스 설정 정보
- 실시간 로그 (최신 100줄)
서비스 설정 변경
배포된 서비스의 설정을 변경하는 방법입니다.
설정 변경 가능 항목
- 복제본 수 (스케일링)
- CPU 및 메모리 제한
- 환경 변수
- 포트 설정
- 볼륨 마운트
⚠️ 주의: 설정 변경 시 서비스가 재시작될 수 있습니다.
API를 통한 이미지 업데이트
API 키를 사용하여 서비스의 컨테이너 이미지를 프로그래매틱하게 업데이트할 수 있습니다. CI/CD 파이프라인에서 유용합니다.
1. API 키 발급
먼저 프로필 페이지에서 API 키를 발급받아야 합니다:
- 좌측 메뉴에서 "프로필"을 클릭합니다
- "API 키" 섹션에서 "API 키 생성" 버튼을 클릭합니다
- 생성된 API 키를 안전한 곳에 복사하여 저장합니다
🔒 보안: API 키는 한 번만 표시됩니다. 분실 시 새로 생성해야 합니다.
2. API 호출 방법
HTTP PUT 요청으로 서비스 이미지를 업데이트할 수 있습니다:
3. 요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| image | string | 선택 | 새로운 Docker 이미지 URL |
| envVars | array | 선택 | 환경 변수 배열 [{"name": "ENV", "value": "prod"}] |
| replicas | number | 선택 | 복제본 수 (Pod 개수) |
4. 응답 예시
5. GitHub Actions 연동 예시
GitHub Actions 워크플로우에서 다음과 같이 서비스를 자동 업데이트할 수 있습니다:
💡 참고사항:
- 서비스명은 대시보드에서 확인한 정확한 서비스 이름을 사용하세요
- API 키는 GitHub Secrets에 등록하여 안전하게 관리하세요
- 이미지 태그로
github.run_id를 사용하면 각 빌드마다 고유한 태그가 생성됩니다 - API 키는 해당 계정의 서비스만 업데이트할 수 있습니다
서비스 삭제하기
더 이상 사용하지 않는 서비스를 안전하게 삭제하는 방법입니다.
삭제 절차
- 서비스 상세 페이지로 이동합니다
- "서비스 삭제" 버튼을 클릭합니다
- 확인 다이얼로그에서 "확인"을 클릭합니다
- 삭제가 완료되면 자동으로 서비스 목록으로 이동합니다
삭제되는 리소스:
- Kubernetes Deployment
- Kubernetes Service
- Ingress (도메인 설정이 있는 경우)
- 데이터베이스 레코드
⚠️ 경고: 서비스 삭제는 되돌릴 수 없습니다. 삭제 전에 중요한 데이터를 백업하세요.
스토리지 생성
애플리케이션에서 사용할 영구 스토리지를 생성하는 방법입니다.

스토리지 생성 절차
- 좌측 메뉴에서 "스토리지"를 클릭합니다
- "스토리지 추가" 버튼을 클릭합니다
- 다음 정보를 입력합니다:
- 스토리지 이름: 구별할 수 있는 이름
- 용량: 필요한 스토리지 크기 (GB 단위)
- 설명: 용도나 설명 (선택사항)
- "스토리지 생성" 버튼을 클릭합니다
생성된 스토리지는 Kubernetes PVC(Persistent Volume Claim)로 관리됩니다.
볼륨 마운트
생성한 스토리지를 서비스에 연결하여 사용하는 방법입니다.
마운트 설정
- 서비스 생성 또는 수정 시 "볼륨 마운트" 섹션을 찾습니다
- 연결할 스토리지를 선택합니다
- 컨테이너 내 마운트 경로를 입력합니다 (예: /data, /app/uploads)
- 설정을 저장합니다
✅ 장점: 컨테이너가 재시작되어도 데이터가 유지됩니다.
파일 관리
스토리지에 저장된 파일을 관리하는 방법입니다.
파일 업로드
웹 인터페이스를 통해 스토리지에 직접 파일을 업로드할 수 있습니다.
파일 접근
마운트된 볼륨은 컨테이너 내에서 일반 디렉토리처럼 사용할 수 있습니다.
이미지 관리
DropTheCodes 내장 Container Registry에 저장된 이미지를 관리합니다. Docker CLI를 통해 이미지를 푸시하고, 웹 콘솔에서 확인/삭제할 수 있습니다.

이미지 푸시 방법
Tip: 푸시된 이미지는 서비스 생성 시 바로 사용할 수 있습니다. 이미지 URL 형식: api.dropthe.codes/이미지명:태그
레지스트리 등록
Private 컨테이너 레지스트리를 등록하여 private 이미지를 사용할 수 있습니다.
지원하는 레지스트리
- Docker Hub
- GitHub Container Registry (ghcr.io)
- Amazon ECR
- Google Container Registry
- 기타 private 레지스트리
레지스트리 등록 절차
- 좌측 메뉴에서 "레지스트리"를 클릭합니다
- "레지스트리 추가" 버튼을 클릭합니다
- 다음 정보를 입력합니다:
- 레지스트리 이름: 구별할 수 있는 이름
- 서버 URL: 레지스트리 서버 주소
- 사용자명: 인증 사용자명
- 비밀번호/토큰: 인증 비밀번호 또는 액세스 토큰
- "레지스트리 추가" 버튼을 클릭합니다
시크릿 관리
등록된 레지스트리 인증 정보는 Kubernetes Secret으로 안전하게 관리됩니다.
자동 Secret 생성
레지스트리 등록 시 다음이 자동으로 생성됩니다:
- Kubernetes Secret (dockerconfigjson 타입)
- 사용자별 네임스페이스에 저장
- 서비스 배포 시 자동 연결
Private 이미지 사용
등록한 레지스트리의 private 이미지를 서비스에서 사용하는 방법입니다.
Private 이미지 배포
- 먼저 해당 레지스트리를 등록합니다
- 서비스 생성 시 private 이미지 URL을 입력합니다
- 시스템이 자동으로 적절한 Secret을 연결합니다
- 배포가 정상적으로 진행됩니다
💡 팁: 이미지 URL 형식: registry.example.com/namespace/image:tag
구성맵 생성
애플리케이션 설정과 환경 변수를 관리하기 위한 구성맵을 생성하는 방법입니다.

구성맵 생성 절차
- 좌측 메뉴에서 "구성맵"을 클릭합니다
- "구성맵 추가" 버튼을 클릭합니다
- 다음 정보를 입력합니다:
- 구성맵 이름: 구별할 수 있는 이름
- 키-값 쌍: 설정 키와 값들
- 설명: 구성맵 용도 설명
- "구성맵 생성" 버튼을 클릭합니다
환경 변수 설정
생성한 구성맵을 서비스의 환경 변수로 사용하는 방법입니다.
환경 변수 연결
- 서비스 생성 또는 수정 시 "환경 변수" 섹션을 찾습니다
- 구성맵에서 가져올 환경 변수를 선택합니다
- 필요시 변수명을 변경할 수 있습니다
- 설정을 저장합니다
Kubernetes와 동기화
구성맵은 Kubernetes ConfigMap과 자동으로 동기화됩니다.
동기화 기능
- 웹에서 구성맵 수정 시 Kubernetes ConfigMap 자동 업데이트
- 실시간 동기화 상태 확인
- 동기화 실패 시 알림 및 재시도
RDBMS 생성
애플리케이션에서 사용할 관계형 데이터베이스를 생성하는 방법입니다.

지원하는 RDBMS
- MySQL: 8.0, 5.7
- PostgreSQL: 16, 15, 14
- MariaDB: 11.2, 10.11, 10.6
RDBMS 생성 절차
- 좌측 메뉴에서 "RDBMS"를 클릭합니다
- "데이터베이스 추가" 버튼을 클릭합니다
- 다음 정보를 입력합니다:
- 데이터베이스 이름: 영문 소문자, 숫자, 하이픈만 허용
- 타입: MySQL, PostgreSQL, MariaDB 중 선택
- 버전: 선택한 타입에 따른 버전 선택
- 스토리지: 5GB ~ 100GB
- CPU: 250m, 500m, 1000m, 2000m
- 메모리: 256Mi, 512Mi, 1Gi, 2Gi, 4Gi
- "데이터베이스 생성" 버튼을 클릭합니다
💡 팁: 데이터베이스 생성 시 자동으로 admin 사용자와 default_db 데이터베이스가 생성됩니다.
NoSQL 생성
애플리케이션에서 사용할 NoSQL 데이터베이스를 생성하는 방법입니다.

지원하는 NoSQL
- MongoDB: 7.0, 6.0, 5.0
- Redis: 7.2, 7.0, 6.2
NoSQL 생성 절차
- 좌측 메뉴에서 "NoSQL"을 클릭합니다
- "데이터베이스 추가" 버튼을 클릭합니다
- 다음 정보를 입력합니다:
- 데이터베이스 이름: 영문 소문자, 숫자, 하이픈만 허용
- 타입: MongoDB, Redis 중 선택
- 버전: 선택한 타입에 따른 버전 선택
- 스토리지: 5GB ~ 100GB
- CPU: 250m, 500m, 1000m, 2000m
- 메모리: 256Mi, 512Mi, 1Gi, 2Gi, 4Gi
- "데이터베이스 생성" 버튼을 클릭합니다
접속 정보 확인
생성된 데이터베이스의 접속 정보를 확인하는 방법입니다.
접속 정보 조회
- RDBMS 또는 NoSQL 목록에서 해당 데이터베이스를 찾습니다
- "접속 정보" 버튼(열쇠 아이콘)을 클릭합니다
- 접속 정보 팝업에서 다음 정보를 확인할 수 있습니다:
- Host: 클러스터 내부 접속 호스트명
- Port: 데이터베이스 포트
- Username: 접속 사용자명 (RDBMS, MongoDB)
- Password: 접속 비밀번호
- Database: 기본 데이터베이스명 (RDBMS, MongoDB)
내부 접속 (클러스터 내)
DropTheCodes에서 배포한 서비스에서 데이터베이스에 접속할 때는 내부 호스트를 사용합니다:
💡 팁: 비밀번호는 데이터베이스 생성 시 자동으로 16자리 랜덤 문자열로 생성됩니다. 접속 정보 팝업에서 복사 버튼을 클릭하여 쉽게 복사할 수 있습니다.
외부 접속 설정
DBeaver, DataGrip 등 외부 도구에서 데이터베이스에 접속하려면 외부 접속을 활성화해야 합니다.
외부 접속 활성화
- 데이터베이스 목록에서 "접속 정보" 버튼을 클릭합니다
- 접속 정보 팝업 상단의 "외부 접속" 토글 스위치를 켭니다
- 잠시 후 외부 접속 정보가 표시됩니다:
- External Host: 외부 접속 호스트 (db.dropthe.codes)
- External Port: 할당된 외부 포트 (NodePort)
외부 접속 예시
외부 접속 비활성화
보안을 위해 사용하지 않을 때는 외부 접속을 비활성화하는 것을 권장합니다:
- 접속 정보 팝업에서 "외부 접속" 토글 스위치를 끕니다
- 외부 접속 정보가 사라지고, 외부에서 접속이 차단됩니다
⚠️ 보안 주의사항:
- 외부 접속은 필요할 때만 활성화하세요
- 강력한 비밀번호가 자동 생성되지만, 민감한 데이터는 추가 보안을 고려하세요
- 프로덕션 환경에서는 VPN 등 추가 보안 계층을 권장합니다
✅ 기본 설정: 새로 생성된 데이터베이스는 보안을 위해 외부 접속이 기본적으로 비활성화되어 있습니다. 클러스터 내부에서만 접근 가능합니다.
CLI 도구 소개
DropTheCodes CLI는 터미널에서 직접 서비스를 배포하고 관리할 수 있는 공식 명령줄 도구입니다. 개발자 워크플로우에 최적화되어 있으며, AI 어시스턴트와의 연동도 지원합니다.
주요 기능
- 원클릭 배포:
dtc deploy한 번으로 프로젝트 배포 - 실시간 관리: 서비스 상태, 로그, 환경변수 관리
- AI 연동: Claude Code/Desktop과 완전 통합
- 크로스 플랫폼: macOS, Linux, Windows 지원
- 자동 감지: 프로젝트 타입 자동 인식 (Node.js, Python, Go, Docker 등)
지원 프로젝트 타입
CLI 설치 및 설정
DropTheCodes CLI를 설치하고 API 키로 인증하는 방법입니다.
자동 설치 (권장)
수동 설치
- GitHub Releases에서 최신 버전 다운로드
- 압축 해제 후 시스템 PATH에 추가
- 터미널에서
dtc --version으로 설치 확인
인증 설정
CLI 사용을 위해 API 키로 인증이 필요합니다:
- DropTheCodes 대시보드에서 API 키를 발급받습니다 (API 키 관리 참조)
- 환경변수 설정: export DTC_API_KEY="dtc_your_api_key_here"
- 또는 대화식 로그인:
dtc login
CLI 명령어 레퍼런스
자주 사용하는 CLI 명령어들의 사용법과 옵션을 설명합니다.
배포 명령어
관리 명령어
환경변수 관리
💡 팁: 모든 명령어에 --help 옵션을 붙이면 상세한 사용법을 확인할 수 있습니다.
AI 연동 (MCP)
Claude Code나 Claude Desktop에서 자연어로 DropTheCodes 서비스를 관리할 수 있습니다. MCP(Model Context Protocol) 서버가 CLI에 내장되어 별도 설치가 필요하지 않습니다.
설정 방법
- CLI가 설치되어 있는지 확인합니다
- MCP 서버 설정을 자동으로 구성합니다: dtc mcp install
- Claude Code 또는 Claude Desktop을 재시작합니다
- AI에게 "DropTheCodes에 연결되었나요?"라고 물어서 연동을 확인합니다
사용 가능한 AI 명령
복합 작업 예시
✨ 특징: AI는 단순한 명령 실행을 넘어 문제를 분석하고 해결책을 제안할 수 있습니다.
CI/CD 통합
GitHub Actions, GitLab CI 등에서 DropTheCodes CLI를 사용하여 자동 배포 파이프라인을 구축할 수 있습니다.
GitHub Actions 예시
GitLab CI 예시
고급 배포 전략
💡 Best Practice:
- API 키는 반드시 시크릿으로 관리하세요
- 스테이징 환경에서 먼저 테스트하세요
- 헬스체크를 포함하여 배포 안정성을 확보하세요
- 롤백 전략을 미리 준비해두세요
프로필 관리
계정 정보를 관리하고 설정을 변경하는 방법입니다.
변경 가능한 정보
- 이름
- 프로필 이미지
- 비밀번호
- 연락처 정보
- 알림 설정
API 키 관리
API 키를 생성하고 관리하여 외부 시스템에서 DropTheCodes API에 접근할 수 있습니다.
API 키 생성
- 프로필 페이지로 이동합니다
- "API 키" 섹션을 찾습니다
- "API 키 생성" 버튼을 클릭합니다
- 생성된 API 키를 안전한 곳에 복사하여 보관합니다
API 키 특징
- 고유성: 각 계정마다 고유한 API 키 발급
- 보안: 64자리 암호화된 랜덤 문자열 (dtc_ 접두사)
- 권한: 해당 계정의 서비스만 접근 가능
- 용도: 컨테이너 이미지 업데이트, 환경 변수 수정 등
API 키 관리
- 조회: 기존 API 키 확인 (마스킹된 형태로 표시)
- 복사: 클립보드로 API 키 복사
- 재생성: 기존 키 무효화 후 새 키 생성
- 숨김/표시: 보안을 위한 키 가시성 토글
🔒 보안 주의사항:
- API 키는 절대 공개하지 마세요
- 코드 저장소에 하드코딩하지 마세요
- 환경 변수나 시크릿으로 관리하세요
- 의심되는 경우 즉시 새로 생성하세요
API 키 사용 예시
결제 정보
사용량과 결제 정보를 확인하는 방법입니다.
확인 가능한 정보
- 월별 사용량
- 리소스별 요금
- 결제 내역
- 다음 결제 예정 금액
문의하기
기술 지원이나 서비스 관련 문의를 하는 방법입니다.
문의 절차
- 좌측 메뉴에서 "문의"를 클릭합니다
- 문의 유형을 선택합니다 (기술 지원, 결제 문의 등)
- 제목과 상세 내용을 작성합니다
- "문의 전송" 버튼을 클릭합니다
문의사항은 24시간 내에 답변드립니다.