以前の記事 では Docker で RStudio Server を起動する方法について触れました。
このとき、ブラウザで RStudio Server に接続した際に自動的にプロジェクトが開くようにできるとさらに便利です。
これは公式に提供されている機能ではないのですが、隠しファイル
/home/rstudio/.rstudio/projects_settings/switch-to-project
にプロジェクトのパスが書き込まれていると、接続時にそのプロジェクトが開くようです。
この方法はシステム向けファイルを書き換える裏技なので積極的に利用を推奨するものではありませんが、何かの参考になるかもしれないのでここに記しておきます。
これを利用したサンプルコードを GitHub で公開しました: terashim/rstudio-auto-open-project
このサンプルではコンテナ起動時のコマンドを変更することで
/home/rstudio/.rstudio/projects_settings/switch-to-project
に自動で開きたいプロジェクトのファイルパスを書き込んでいます。
コンテナのコマンド変更は docker-compose.yml
に記述しています:
version: "3.7"
services:
rstudio:
image: rocker/rstudio:4.0.2
command:
- /bin/sh
- -c
- |
mkdir -p /home/rstudio/.rstudio/projects_settings \
&& echo /home/rstudio/myproject/myproject.Rproj \
> /home/rstudio/.rstudio/projects_settings/switch-to-project \
&& chown -R rstudio:rstudio /home/rstudio/.rstudio \
&& /init
ports:
- "8787:8787"
environment:
- PASSWORD=password
- DISABLE_AUTH=true
volumes:
- .:/home/rstudio/myproject
この設定で docker-compose up -d
コマンドを実行してサービスを起動し、ブラウザで http://localhost:8787 を開くと、RStudio Server に接続すると同時にプロジェクト /home/rstudio/myproject/myproject.Rproj
が自動的に開きます。