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_EMAILLet’s Encrypt 인증서 알림을 위한 이메일 주소입니다.
PROJECT_URL아니요공개 URL을 재정의합니다. DOMAIN을 사용하려면 비워두세요. Cloudflare 뒤에 유용합니다.

보안: 모든 비밀번호의 기본값은 ‘admin’입니다. 처음 로그인한 후 즉시 변경하세요.

2단계 - 물방울 만들기

In the DigitalOcean control panel:

  1. 만들기드롭을 클릭합니다.
  2. 이미지로 Ubuntu 22.04 LTS를 선택합니다.
  3. 기본, 4GB RAM / 2 vCPU 이상을 선택합니다.
  4. 고급 옵션으로 스크롤하고 → 초기화 스크립트 추가를 선택합니다.
  5. 전체 스크립트 내용을 텍스트 영역에 붙여넣습니다.
  6. 액적 생성을 클릭합니다.

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
  
이 페이지가 도움이 되었나요?