DigitalOcean
자동화된 사용자 데이터 스크립트를 사용하여 DigitalOcean Droplet에 rtCloud를 배포합니다.
DigitalOcean은 처음 부팅할 때 자동으로 실행되는 사용자 데이터 스크립트를 사용합니다. 스크립트 상단에 구성 변수를 입력한 다음 Droplet을 생성할 때 전체 스크립트를 붙여넣습니다.
Linode StackScripts와 달리 DigitalOcean에는 양식 UI가 없습니다. 붙여넣기 전에 스크립트를 직접 편집해야 합니다.
Download script: digitalocean-droplet-keycloak-embed.sh
내장형 키클로크(권장)
내장 SSO를 사용한 가장 간단한 설정을 위해서는 digitalocean-droplet-keycloak-embed.sh를 사용하세요.
1단계 - 구성 입력
스크립트를 열고 상단의 ‘CONFIGURATION’ 블록을 편집하세요.
# --- Required ---
PROJECT_ID="rtsurvey" # Unique identifier for your project (no spaces)
ADMIN_PASSWORD="admin" # Password for app admin and Keycloak — change after first login
# --- Domain + SSL ---
DOMAIN="myapp.example.com" # Your domain — DNS A record must point here
PROJECT_URL="" # Leave blank unless behind Cloudflare/proxy
LETSENCRYPT_EMAIL="admin@example.com" # Email for Let's Encrypt notifications
# --- Optional ---
STATA_ENABLED="false"
TZ="Asia/Ho_Chi_Minh"
| 필드 | 필수 | 설명 |
|---|---|---|
PROJECT_ID | 예 | 데이터베이스 이름 및 Keycloak 클라이언트 ID로 사용됩니다. 소문자, 공백 없음. |
ADMIN_PASSWORD | 아니요 | 앱 관리자 로그인 및 Keycloak 관리 콘솔의 비밀번호입니다. 기본값은 ‘admin’입니다 — 처음 로그인 후 변경. |
도메인 | 예 | 귀하의 도메인 이름. DNS A 레코드는 Droplet IP를 가리켜야 합니다. |
LETSENCRYPT_EMAIL | 예 | Let’s Encrypt 인증서 알림을 위한 이메일 주소입니다. |
PROJECT_URL | 아니요 | 공개 URL을 재정의합니다. DOMAIN을 사용하려면 비워두세요. Cloudflare 뒤에 유용합니다. |
보안: 모든 비밀번호의 기본값은 ‘admin’입니다. 처음 로그인한 후 즉시 변경하세요.
2단계 - 물방울 만들기
In the DigitalOcean control panel:
- 만들기 → 드롭을 클릭합니다.
- 이미지로 Ubuntu 22.04 LTS를 선택합니다.
- 기본, 4GB RAM / 2 vCPU 이상을 선택합니다.
- 고급 옵션으로 스크롤하고 → 초기화 스크립트 추가를 선택합니다.
- 전체 스크립트 내용을 텍스트 영역에 붙여넣습니다.
- 액적 생성을 클릭합니다.
3단계 - DNS 레코드 추가
Droplet이 부팅되는 동안 DNS 공급자에 A 레코드를 추가합니다.
Type : A
Name : myapp (or @ for root domain)
Value : <droplet-ip>
TTL : 300
4단계 — 진행 상황 모니터링
Droplet에 SSH를 연결하고 로그를 확인합니다.
ssh root@<droplet-ip>
tail -f /var/log/rtcloud-setup.log
스크립트는 시작 부분에 서버 IP를 인쇄합니다. DNS 레코드가 표시되는 즉시 추가하세요.
5단계 — 앱에 액세스
설정이 완료되면 로그에 요약이 표시됩니다.
============================================================
rtCloud deployment complete! (Embedded Keycloak)
============================================================
App URL : https://myapp.example.com
Admin : admin / admin
Keycloak : https://myapp.example.com/auth/admin
!! SECURITY: All passwords default to 'admin'.
Change them immediately after first login.
============================================================
Open https://myapp.example.com in your browser and log in with username admin and password admin.
로그인 후 오른쪽 상단 메뉴의 설정에서 비밀번호를 즉시 변경하세요.
배포 후
비밀번호 변경
Droplet에 SSH를 연결하고 ‘.env’를 편집한 후 영향을 받은 컨테이너를 다시 시작합니다.
nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
도메인 업데이트
배포 후 다른 도메인을 할당하는 경우 .env에서 PROJECT_URL을 업데이트하세요.
nano /opt/rtcloud/.env # update PROJECT_URL=
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
모든 컨테이너 보기
docker compose -f /opt/rtcloud/docker-compose.production.yml ps