/* terashim.com */

システム開発・データエンジニアリング・データ分析についての個人的なノート

RStudio Server で自動的にプロジェクトが開くようにする裏技

以前の記事 では 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 が自動的に開きます。