このガイドでは、LinuxサーバーにゼロからセルフホストのrtCloudインスタンスをデプロイする手順を説明します。完了すると、ブラウザからアクセス可能なrtCloudが稼働します。

前提条件

開始前に、サーバーが以下の要件を満たしていることを確認してください:

ハードウェア

リソース最小推奨
RAM2 GB4 GB
ディスク10 GB40 GB
CPU1 vCPU2 vCPU

ソフトウェア

ソフトウェアバージョン
OSUbuntu 20.04 LTS以降(またはDockerサポートのある任意のLinux)
Docker20.10以降
Docker Composev2.x(docker compose)またはv1.x(docker-compose

UbuntuへのDockerインストール:

  curl -fsSL https://get.docker.com | sh
  

インストールの確認:

  docker --version
docker compose version
  

ステップ1 — ファイルを入手する

サーバーにデプロイリポジトリをクローンする:

  git clone ssh://git@rtgit.rta.vn:2224/rtlab/rtwebteam/rta-smart-survey-docker.git rtcloud
cd rtcloud
  

ステップ2 — 環境を設定する

サンプル設定ファイルをコピーする:

  cp .env.production.sample .env
  

テキストエディターで.envを開き、必要な値を入力する:

  # このデプロイの一意の識別子(スペースや特殊文字なし)
PROJECT_ID=myproject

# ユーザーがアプリにアクセスするドメインまたはIPアドレス
# 例: rtcloud.example.com または 192.168.1.100
PROJECT_URL=rtcloud.example.com

# プロトコル: SSL付きドメインがある場合は"https"、それ以外は"http"
HTTP_PROTOCOL=https

# 強力で一意のパスワード — 起動前にすべて変更すること
MYSQL_PASSWORD=change_me_strong_password
MYSQL_ROOT_PASSWORD=change_me_root_password
ADMIN_PASSWORD=change_me_admin_password
  

重要: Docker Composeが自動的に読み込むのは.envのみです。.env.productionという名前のファイルを作成しないでください。混乱の原因になります。ADMIN_PASSWORDは新しいデータベースの初回起動時にのみ適用されます。


ステップ3 — コンテナを起動する

バックグラウンドですべてのサービスを起動する:

  docker compose -f docker-compose.production.yml up -d
  

初回起動には3〜5分かかります:

  1. rtCloudアプリケーションイメージをプル(約1 GBのダウンロード)
  2. MySQLデータベースの初期化
  3. ベーススキーマのロード
  4. 保留中のすべてのデータベースマイグレーションの実行

リアルタイムで起動の進捗を監視する:

  docker compose -f docker-compose.production.yml logs -f rtcloud
  

アプリケーションの準備完了を示す出力が表示されるまで待ちます。コンテナのヘルスステータスも確認できます:

  watch docker compose -f docker-compose.production.yml ps
  

ステップ4 — アプリケーションにアクセスする

両方のコンテナがUp (healthy)と表示されたら、ブラウザを開きます:

  http://<PROJECT_URL>:8080
  

管理者アカウントでログインする:

フィールド
ユーザー名admin
パスワード.envADMIN_PASSWORDに設定した値

初回ログイン後すぐに、アカウント設定ページから管理者パスワードを変更してください。


ステップ5 — すべてのサービスを確認する

すべてのコンテナが稼働して正常であることを確認する:

  docker compose -f docker-compose.production.yml ps
  

期待される出力:

  NAME                    IMAGE                                   STATUS
rtcloud-app             rtawebteam/rta-smartsurvey:...          Up (healthy)
rtcloud-mysql           mysql:8.0                               Up (healthy)
  

コンテナがUp (starting)またはUp (unhealthy)と表示されている場合は、30〜60秒待ってから再確認してください。MySQLは初回起動時に完全に初期化するのに最大1分かかることがあります。


ポートリファレンス

ポートサービス説明
8080rtCloudアプリメインWeb UI(APP_PORTで設定可能)
3838Shinyサーバー分析とRベースの可視化(SHINY_PORTで設定可能)

MySQL(ポート3306)およびオプションサービス(Keycloak)はデフォルトでは内部専用であり、ホストには公開されません。


次のステップ

rtCloudインスタンスが稼働中になりました。以下のフォローアップタスクを検討してください:

  • HTTPSを有効にする — ドメインをサーバーに向けてLet’s EncryptでSSLを設定する。自動HTTPSセットアップについてはクラウドデプロイを参照してください。
  • すべての設定を確認する設定リファレンスを参照して本番環境向けにデプロイを調整する。
  • SSOを設定する — 一元化されたユーザー認証のためにIDプロバイダーを接続する。SSO認証を参照してください。
  • バックアップを計画する — バックアップとアップグレード手順についてはメンテナンスページを参照してください。
このページは役に立ちましたか?