こちらは、既にExploratoryサーバー(オンプレ)を利用している方が、最新のバージョンにアップグレードする際のための手順書です。
このドキュメントの中に出てくる<<version>>
は、ご使用になるExploratory サーバーのバージョン(例:6.8.0.19)に置き換えて下さい。
新しいDockerイメージファイルをこちらリリース・ノートのページの最新版のセクションの下にある、「For Upgrade」というリンクよりダウンロードしてください。
以下のコマンドを実行して新しいDockerイメージをロードしてください。
docker load -i exploratory-server-images-<<version>>.tar.gz
既存のExploratory サーバーがインストールされているディレクトリに移って、以下のコマンドでExploratory サーバーをシャットダウンしてください。
cd exploratory
docker-compose down
docker-compose.yml内のDockerイメージのバージョンなどをアップデートするため、移行スクリプトをダウンロード、実行します。
既存のExploratory サーバーがインストールされているディレクトリ内に、移行スクリプトをダウンロードします。
curl -O https://exploratory-download.s3-us-west-2.amazonaws.com/collab-server/migrate_docker_compose_<<version>>.sh
curl -O https://exploratory-download.s3-us-west-2.amazonaws.com/collab-server/migrate_docker_compose_<<version>>.js
ダウンロードした移行スクリプトを実行します。
bash migrate_docker_compose_<<version>>.sh
これで、既存のdocker-compose.ymlの内容が、最新版で動作するようにアップデートされます。
バージョン6.8.0より、スケジュール管理画面のURLが別のポート番号(デフォルト3001)を使ったものから、その他のページと同じポート番号(デフォルト8080)を使ったものに変更されました。 これを正しく動作させるために、Nginxの設定ファイルであるdefault.confに変更が必要です。
また、バージョン6.8.4より、ブラウザがSafariの場合にパラメーター使用中にCSVファイルのダウンロードが問題なくできるようにするためにdefault.confに設定が追加されました。以前のバージョンからアップグレードするときは、こちらの変更を追加することをおすすめします。
SSLを設定していない場合は、以下の変更を行ってください。
6.8.0以降のバージョンからアップグレードする場合は、スケジュール管理画面のための設定は既に入っているはずですので、以下のSafariのための設定のみを追加してください。
追加設定の内容:
location /socket.io/ {
proxy_pass http://exploratory:3000/socket.io/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
設定を追加するdefault.conf内の位置:
server {
listen 80;
server_name localhost;
...
...以下の行の直前の、この位置に上記の内容を挿入する...
location / {
proxy_pass http://exploratory:3000/;
...
6.7またはそれ以前のバージョンからアップグレードする場合は、スケジュール管理画面のための設定と、Safariのための設定の両方をあわせて追加します。以下のような追加設定がdefault.conf内にまだ無い場合、default.confの以下の位置に挿入してください。
追加設定の内容:
location = /schedule {
proxy_pass http://agendash:3001/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
location /agendash-css/ {
proxy_pass http://agendash:3001/agendash-css/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
location /agendash-js/ {
proxy_pass http://agendash:3001/agendash-js/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
location /agendash-api/ {
proxy_pass http://agendash:3001/agendash-api/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
location /socket.io/ {
proxy_pass http://exploratory:3000/socket.io/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
設定を追加するdefault.conf内の位置:
server {
listen 80;
server_name localhost;
...
...以下の行の直前の、この位置に上記の内容を挿入する...
location / {
proxy_pass http://exploratory:3000/;
...
こちらのドキュメントに従ってSSLを設定してある場合は、以下の変更を行ってください。
6.8.0以降のバージョンからアップグレードする場合は、スケジュール管理画面のための設定は既に入っているはずですので、以下のSafariのための設定のみを追加してください。
追加設定の内容:
location /socket.io/ {
proxy_pass http://exploratory:3000/socket.io/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
設定を追加するdefault.conf内の位置:
server {
listen 443;
server_name localhost;
...
...以下の行の直前の、この位置に上記の内容を挿入する...
location / {
proxy_pass http://exploratory:3000/;
...
6.7またはそれ以前のバージョンからアップグレードする場合は、スケジュール管理画面のための設定と、Safariのための設定の両方をあわせて追加します。以下のような追加設定がdefault.conf内にまだ無い場合、default.confの以下の位置に挿入してください。
追加設定の内容:
location = /schedule {
proxy_pass http://agendash:3001/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
location /agendash-css/ {
proxy_pass http://agendash:3001/agendash-css/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
location /agendash-js/ {
proxy_pass http://agendash:3001/agendash-js/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
location /agendash-api/ {
proxy_pass http://agendash:3001/agendash-api/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
location /socket.io/ {
proxy_pass http://exploratory:3000/socket.io/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
設定を追加するdefault.conf内の位置:
server {
listen 443;
server_name localhost;
...
...以下の行の直前の、この位置に上記の内容を挿入する...
location / {
proxy_pass http://exploratory:3000/;
...
バージョン6.1.3.0以降では大きなデータを扱うために、以下のタイムアウトをデフォルトで延長しています。6.1.3.0以前のバージョンからアップグレードする場合、以下の変更をおすすめします。
Rの実行時間のタイムアウトを10分(600秒)から30分(1800秒)に延長します。
scheduler:
セクションの下のenvironment
セクションの下の、EXPL_SCHEDULER_R_TIMEOUTの項目の値を600から1800に変更します。変更前
scheduler:
image: scheduler:<<version>>
environment:
- EXPL_SCHEDULER_R_TIMEOUT=600
変更後
scheduler:
image: scheduler:<<version>>
environment:
- EXPL_SCHEDULER_R_TIMEOUT=1800
Nginxのデータの受信、送信のタイムアウトを延長します。Nginxは、Exploratory サーバーのフロント・エンドでリクエストを受け取って、バックエンドのNode Expressサーバーに渡しますが、ここでは、大きなEDFファイルがアップロードされたときにも問題がないように、この際のタイムアウトを延長します。
Nginxの設定ファイルである、default.confファイルに 以下の三つの項目を以下の例のように追加します。
proxy_read_timeout 1200s;
NginxがNode Expressから返送されるデータを読み込むときのタイムアウトを1200秒に延長します。proxy_send_timeout 1200s;
Nginxが受信したデータをNode Expressに転送するときのタイムアウトを1200秒に延長します。proxy_next_upstream_timeout 3600s;
NginxがNode Expressの反応を待つ際のタイムアウトを3600秒に延長します。default.confファイルの内容の例:
server {
...
location / {
...
proxy_read_timeout 1200s;
proxy_send_timeout 1200s;
proxy_next_upstream_timeout 3600s;
}
ライセンス・キーをお持ちの場合は、docker-compose.ymlに追加してください。22行目あたりに、以下の例の最後の行にあるような行を追加してください。 この例では、 xxxxxxxxxx
をライセンス・キーとしています。
exploratory:
image: exploratory:<<version>>
environment:
- EXPL_ADMIN_FIRSTNAME=Admin
- EXPL_ADMIN_LASTNAME=User
- EXPL_ADMIN_EMAIL=hideaki@exploratory.io
- EXPL_CRYPTOKEY=secretkey
- EXPL_LICENSEKEY=xxxxxxxxxx
exploratoryディレクトリの下で、以下のコマンドを実行して、Exploratory サーバーを再度起動してください。
docker-compose up -d
これでExploratory サーバーは最新のバージョンにアップグレードされました!
サーバの起動時に問題がある場合、よくあるExploratoryサーバーの問題と解決法の「Exploratoryサーバーを起動するときのエラー」をご参照ください。
Exploratory サーバーをv7以前のバージョンからv8以降にアップグレードした場合は、MongoDBのバージョンをバージョン6にアップグレードする必要があります。
docker ps
のコマンドでExploratory サーバーが起動され、実行中であることを確認します。これにより、実行中の Docker コンテナのリストが表示されるはずです。もし、実行中のコンテナが表示されない場合は、まずシステムを起動します。upgrade_mongodb_to_6.0.sh
のファイルが作成されたことを確認します。cd exploratory
curl -O https://exploratory-download.s3.us-west-2.amazonaws.com/collab-server/upgrade_mongodb_to_6.0.sh
bash upgrade_mongodb_to_6.0.sh
Exploratory サーバーをv8からv9にアップグレードした場合は、v9の新機能を使うために、MongoDBに格納されているパブリッシュされたコンテンツに関するデータをアップデートする必要があります。
docker ps
のコマンドでExploratory サーバーが起動され、実行中であることを確認します。これにより、実行中の Docker コンテナのリストが表示されるはずです。もし、実行中のコンテナが表示されない場合は、まずシステムを起動します。upgrade_v8_to_v9.sh
のファイルが作成されたことを確認します。cd exploratory
curl -O https://exploratory-download.s3.us-west-2.amazonaws.com/collab-server/upgrade_v8_to_v9.sh
bash upgrade_v8_to_v9.sh
Exploratory サーバーをv9からv10にアップグレードした場合、v10の新機能であるアクセスログの表示を使うために、既存のアクセスログデータをアップデートする必要があります。
docker ps
のコマンドでExploratory サーバーが実行中であることを確認します。実行中であれば、Docker コンテナのリストが表示されるはずです。もし、何も表示されない場合は。まずシステムを起動します。
exploratoryフォルダに移動し、以下のコマンドを実行します。ファイルパス等は変更せず、以下のコマンドをそのまま実行してください。
cd exploratory
docker-compose exec exploratory /root/.nvm/versions/node/v14.21.3/bin/node /exploratory/datablog/tools/update_accesslog.js