【Redmine】リバースプロキシ + Dockerを使ったインストールと初期設定
前提条件
ストレージ容量を消費するため自宅サーバーで稼働(Docker Engineはインストール済み)。
VPSのYunohostでリバースプロキシ(SSL終端)
Redmineをインストールするサブドメイン、SSL証明書はYunoHostで設定を済ませておきます。
ポイント
プラグインやテーマのインストールを楽にしたいのでローカルボリュームをマウントしています。
VPSのNginxでリバースプロキシしてHTTPS接続。
手順
動作確認のため「1.DockerでRedmineコンテナの作成」→「2.HTTPで接続」→「3.リバースプロキシの設定」→「4.HTTPSで接続」と進めています。
事前準備
自宅サーバー
Ubuntu DesktopにDocker Engineをインストール。
ファイアウォールを有効にしている場合はRedmineのポート(今回は8080)を開放して下さい。
ワーキングディレクトリは適宜作成してください。
VPS
Redmineのドメイン設定(登録・Let’s Encrypt証明書の取得)
DockerでRedmineコンテナの作成
docker-compose.yml
基本的な部分は参考サイトのままで、ローカルボリュームのマウントと、configuration.ymlを作成してメールサーバーを設定しています。
version: '3.1'
services:
redmine:
restart: always
image: redmine:5.0.4-bullseye
container_name: redmine
ports:
- 8080:3000
environment:
REDMINE_DB_POSTGRES: redmine-db
REDMINE_DB_DATABASE: redmine
REDMINE_DB_USERNAME: redmine_user
REDMINE_DB_PASSWORD: redmine_password
REDMINE_SECRET_KEY_BASE: supersecretkey
REDMINE_DB_PORT: 5432
REDMINE_PLUGINS_MIGRATE: "true"
volumes:
- /var/www/redmine/files:/usr/src/redmine/files
- /var/www/redmine/log:/usr/src/redmine/log
- /var/www/redmine/plugins:/usr/src/redmine/plugins
- /var/www/redmine/public/themes:/usr/src/redmine/public/themes
- ./configuration.yml:/usr/src/redmine/config/configuration.yml
redmine-db:
restart: always
image: postgres:15.1-bullseye
container_name: redmine-postgresql
ports:
- 5432:5432
environment:
POSTGRES_DB: redmine
POSTGRES_USER: redmine_user
POSTGRES_PASSWORD: redmine_password
volumes:
- vol_redmine_db:/var/lib/postgresql/data
volumes:
vol_redmine_db:
configuration.yml
メール設定だけですが、内容は適宜修正してください。
default:
email_delivery:
delivery_method: :smtp
smtp_settings:
enable_starttls_auto: true
address: "メールサーバーのアドレス"
port: ポート番号
authentication: :login
domain: 'メールサーバーのドメイン名'
user_name: 'ログインアカウント'
password: 'パスワード'
HTTPで接続(コンテナの動作確認)
コンテナ起動後、自宅サーバーのIPアドレス:8080で接続できる事を確認します。
configuration.ymlを作成せずに起動するとエラーになるので、事前に作成して下さい。
sudo docker compose up -d
リバースプロキシの設定(Nginx)
RedmineにアクセスするドメインにRedirectアプリをインストールします。
redirect.conf
/etc/nginx/conf.d/Redmineのドメイン.d/redirect****.confを修正します。
特に修正しなくても動作はしますが添付ファイルのサイズ上限は1MBのため、必要に応じてファイルサイズの上限を変更して下さい。
#sub_path_only rewrite ^/$ / permanent;
location / {
proxy_pass http://RedmineサーバーのIPアドレス:ポート番号;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Port $server_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Include SSOWAT user panel.
include conf.d/yunohost_panel.conf.inc;
more_clear_input_headers 'Accept-Encoding';
#必要に応じて追記
client_max_body_size 50M;
}
サブディレクトリでの動作確認はしていません。
HTTPSで接続
ブラウザでRedmineのドメイン名からHTTPSで接続できる事を確認します。
参考サイト
- https://zenn.dev/isi00141/articles/c8c883f7e33647
- https://qiita.com/hadacchi/items/ca10939ca016147e225a
備考
自分用のガントチャートを簡単に作ることが目的のため現状ではプラグインもあまり入れていません。
OpenProjectを使おうと思っていましたが、リバースプロキシ構成では動作しなかったためRedmineに変更しました。
ディスカッション
コメント一覧
まだ、コメントがありません