Skip to content

[GRDM-60339] RStudio Serverの最新安定版インストールとrstudio.ymlによるバージョン指定に対応#26

Draft
yacchin1205 wants to merge 1 commit into
RCOSDP:masterfrom
yacchin1205:feature/rstudio-latest
Draft

[GRDM-60339] RStudio Serverの最新安定版インストールとrstudio.ymlによるバージョン指定に対応#26
yacchin1205 wants to merge 1 commit into
RCOSDP:masterfrom
yacchin1205:feature/rstudio-latest

Conversation

@yacchin1205

@yacchin1205 yacchin1205 commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

RStudio Serverのインストールを、ハードコードされた固定バージョンの.debから「最新安定版の自動解決+リポジトリからのバージョン指定」に変更するPRです。

これまでRStudio Serverは特定バージョン(2023.12.1)の.debのURLとSHA256をハードコードしてインストールしており、更新のたびにコード修正が必要でした(#17 のような更新PRが都度必要でした)。また、RStudioはRのグラフィックエンジンバージョンごとに対応実装が必要であり、古いRStudioのままでは新しいRでPlotsペインが無効化されます(R 4.6のエンジンバージョン17にはRStudio 2025.09以降が必要)。Rの更新に追随するには、RStudioも継続的に更新できる仕組みが必要です。

本PRでは次のように変更します。

1. デフォルトは最新安定版を自動インストール

Positが公開しているメタデータ https://www.rstudio.com/wp-content/downloads.json からDockerfile生成時に最新安定版のURLとSHA256を解決します。SHA256もメタデータに含まれるため、ハッシュ検証は従来どおり維持されます。解決結果は生成されるDockerfileに定数として埋め込まれるため、Dockerレイヤーキャッシュは従来どおり機能し、新版リリース時のみ無効化されます。なお、現行のRStudioはR 3.6.0以上を要求するため、それより古いRが指定された場合は従来の2023.12.1を引き続き使用します。

2. rstudio.yml によるバージョン指定

利用者がリポジトリに rstudio.yml を置くことで、RStudio Serverのバージョンを明示できます(mpm.yml と同じ、リポジトリ内設定ファイルの形式です)。

version: 2023.12.1+402
sha256: 2ceeebe5...  # 任意

repo2dockerの再現性はリポジトリ内の設定ファイルで利用者が定義するものであるため、バージョンを固定したい利用者はこのファイルで宣言します。sha256 は任意で、指定された場合のみ検証します(Positが過去バージョンのハッシュを提供するAPIを持たないため。バージョンのみ指定した場合はHTTPSでの取得となります)。ドキュメント(config_files / howto/languages)にも記載を追加しています。

3. 新しいRStudioの起動失敗の修正

新しいRStudioの.debはインストール時(postinst)に /var/lib/rstudio-server へroot所有の session-rpc-key 等を作成し、非rootユーザーで動作するrserverが読めず起動に失敗するため、インストール後に ${NB_USER} へchownする修正を含みます。

動作確認

ローカルDocker環境にて以下を確認済みです。

  • rstudio.yml なし: RStudio Server 2026.06.0+242(現時点の最新安定版)がインストールされ、Jupyter経由の /rstudio/ からIDEの起動・RコードのConsole実行・Plotsペインへの描画、およびAbout画面でのバージョン表示を確認
  • rstudio.yml2024.04.2+764 を指定: 指定どおりのバージョンがインストールされ、About画面で「2024.04.2 Build 764」を確認

@yacchin1205 yacchin1205 force-pushed the feature/rstudio-latest branch from 0c64600 to e39d141 Compare July 7, 2026 22:50
@yacchin1205 yacchin1205 force-pushed the feature/rstudio-latest branch from e39d141 to 5a35c2d Compare July 9, 2026 04:35
@yacchin1205 yacchin1205 force-pushed the feature/rstudio-latest branch from 5a35c2d to 58a4b23 Compare July 9, 2026 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant