【R】リバースプロキシ+ Dockerを使ったRstudio Serverのインストールと初期設定

DockerでセットアップしたRstudio Serverにリバースプロキシ(YunoHost)でアクセスする手順です。もちろんHTTPSでアクセスできるので、LAN内でもインターネット経由でも安心していつもと同じ分析環境にアクセスできます。
前提条件
Shiny ServreはDockerを使って自宅サーバーで稼働(Docker Engineはインストール済み)。
VPSのYunohostでリバースプロキシ(SSL終端)
Rsutdio ServerをインストールするサブドメインのSSL証明書はYunoHostで設定を済ませておきます。
導入手順
rocker/rstudio4.3.2で作成。
Rのバージョンが4未満(~3.6)の場合はDockerfileやパスワードの変更が必要です。
Dockerfileの作成
Dockerfileと日本語環境の構築
- https://github.com/rocker-org/rocker-versioned2/tree/master/dockerfiles
- https://techblog.roxx.co.jp/entry/2023/04/24/212803
FROM rocker/rstudio:4.3.2
LABEL org.opencontainers.image.licenses="GPL-2.0-or-later" \
org.opencontainers.image.source="https://github.com/rocker-org/rocker-versioned2" \
org.opencontainers.image.vendor="Rocker Project" \
org.opencontainers.image.authors="Carl Boettiger <cboettig@ropensci.org>"
ENV LANG ja_JP.UTF-8
ENV LC_ALL ja_JP.UTF-8
RUN sed -i '$d' /etc/locale.gen \
&& echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen \
&& locale-gen ja_JP.UTF-8 \
&& /usr/sbin/update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
RUN /bin/bash -c "source /etc/default/locale"
RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# 日本語フォントをインストールする
RUN apt update && apt install -y \
fonts-ipaexfont \
fonts-noto-cjk
docker-compose.ymlの作成
ポート番号の変更やデータのやり取りが簡単になるようにローカルボリュームをマウント。
version: '3'
services:
rstudio:
build:
context: .
dockerfile: Dockerfile
restart: always
container_name: rstudio4.3.2
environment:
#任意のパスワードを設定する
- PASSWORD=rstudio
ports:
- 8787:8787
volumes:
- ./volume:/home/rstudio
- ./site-library:/usr/local/lib/R/site-library
tty: true
stdin_open: true
コンテナを起動
sudo docker compose up -d
nginxの設定ファイル(YunoHost)
シンプルに、サーバーのIPアドレスとポートを指定しているだけの設定です。
rewrite ^/rstudio4.3.2$ /rstudio4.3.2/ permanent;
location /rstudio4.3.2/ {
proxy_pass http://自宅サーバーのIPアドレス:ポート番号/;
include conf.d/yunohost_panel.conf.inc;
}
動作確認
ブラウザからRstudioのインストールドメイン・サブディレクトリにアクセスして動作確認をします。
YunoHostのアプリケーションパネル

Rstudioのログイン画面
ユーザー名を指定していないので、初期設定の「rstudio」のままです。パスワードはdocker-compose.ymlで指定したパスワードを入力します。

ログイン後
日本語フォントもインストールされています。

インストールしたパッケージの保存先
docker-compose.ymlの保存ディレクトリ/site-library/
Windowsでの表示画面ですが、ローカルボリュームに保存されています。

データフォルダ
docker-compose.ymlの保存ディレクトリ/volume/
ローカルボリュームに必要なファイルをコピーすれば、Rstudioから使用できます。
ディスカッション
コメント一覧
まだ、コメントがありません