DockerでRedmineを一気に作成(オレオレ証明書Version)
もはやなんの新鮮味もないDockerでRedmineを構築しました的な記事です。その辺に雨後の筍みたいに生えているし、いまさら自分が書いても仕方ないんですが、AWSで構築しましたとかAzureで構築しました的なところで満足できなくなり、ようやくDockerに手を出したわけです。もっと早く手を出しておけよだからダメなんだよ自分というのが感想です。1回作ればもはや何もしなくていいレベルっぽい位に楽です。ここのコピペです。リンク先のみてやってもらった方が確実かもです。ちなみにホストOSにはDockerインストール済でないと動かないですよ。ちなみに参照元と違うのがファイルを1まとめにしたのとオレオレ証明書で使用できるようにしてお手軽に試せるようにしたとこ位です。IPアドレスでアクセスしてそのまま使用できるところを目指しました。
◆対象Version
Ubuntu20.04LTS Docker version 20.10.6, build 370c289 docker-compose version 1.29.1, build c34c88b2
◆作業手順
1.事前準備(IP固定化等)、ホストOSで実行
#IPアドレス変更 $ sudo vi /etc/netplan/00-installer-config.yaml --------------------------- # This is the network config written by 'subiquity' network: ethernets: eth0: addresses: - 192.168.1.20/24 #変更 gateway4: 192.168.1.1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4 - 192.168.1.1 version: 2 --------------------------- $ sudo netplan apply #ホスト名変更 $ sudo hostnamectl set-hostname redmine.example.com $ sudo vi /etc/cloud/cloud.cfg --------------------------- # This will cause the set+update hostname module to not operate (if true) preserve_hostname: true #変更 --------------------------- #DNS設定 $ sudo vi /etc/resolv.conf --------------------------- nameserver 8.8.8.8 #追記 nameserver 8.8.4.4 #追記 nameserver 127.0.0.53 options edns0 trust-ad ---------------------------
2.Dokerインストール
#https経由のaptリポジトリ許可 $ cd $ sudo apt update $ sudo apt-get -y install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common #DockerCEインストール $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - OK $ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" $ sudo apt update $ sudo apt -y install docker-ce #Docker-composeインストール #最新バージョン確認 https://github.com/docker/compose/blob/master/CHANGELOG.md #インストール $ export compose='最新VersionNO' $ sudo curl -L https://github.com/docker/compose/releases/download/${compose}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose $ sudo chmod 0755 /usr/local/bin/docker-compose $ sudo systemctl daemon-reload $ sudo systemctl restart docker $ sudo systemctl enable docker #一般ユーザでDocker実行可能なように設定 $ getent group docker docker:x:998: $ sudo gpasswd -a youruser docker
3.Docker関連ファイル準備
$ mkdir redmine $ cd redmine $ mkdir app $ mkdir web $ mkdir app/config $ mkdir web/ssl_certs $ vi docker-compose.yml $ vi .env
------------------------------------- version: '3.8' networks: web_net: services: # nginx web: image: steveltn/https-portal:1 container_name: web restart: always volumes: - ./web/ssl_certs:/var/lib/https-portal networks: - web_net ports: - '80:80' - '443:443' env_file: - .env environment: DOMAINS: >- ${HOSTNAME_READMINE} -> http://redmine:${APP_DOCKER_PORT}/, STAGE: 'local' depends_on: - redmine - reddb # Redmine Apps redmine: image: redmine:latest container_name: ${APP_CONTAINER_NAME} restart: always volumes: - ./app/plugins:/usr/src/redmine/plugins - ./app/themes:/usr/src/redmine/public/themes - ./app/config/configuration.yml:/usr/src/redmine/config/configuration.yml - ./app/files:/usr/src/redmine/files networks: - web_net expose: - ${APP_DOCKER_PORT} env_file: - .env environment: - REDMINE_DB_POSTGRES=reddb - REDMINE_DB_DATABASE=${DB_NAME} - REDMINE_DB_USERNAME=${DB_USER} - REDMINE_DB_PASSWORD=${DB_PASSWORD} - TZ=${DB_TZ} depends_on: - reddb # postgreSQL reddb: image: postgres:latest container_name: ${DB_CONTAINER_NAME} restart: always volumes: - ./db/initdb:/docker-entrypoint-initdb.d - ./db/dbdata:/var/lib/postgresql/data networks: - web_net expose: - ${DB_DOCKER_PORT} env_file: - .env environment: - POSTGRES_DB=${DB_NAME} - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} - TZ=${DB_TZ} command: --port=${DB_DOCKER_PORT} --------------------------------
-------------------------------- HOSTNAME_READMINE=192.168.1.211 APP_CONTAINER_NAME=redmine APP_DOCKER_PORT=3000 DB_CONTAINER_NAME=db_redmine DB_DOCKER_PORT=5432 DB_USER=redmine DB_PASSWORD=redmine DB_NAME=REDMINE_DB DB_TZ=asia/Tokyo --------------------------------
4.起動方法
#初回はイメージダウンロードしてくるので時間がかかる $ cd ~/docker/redmine $ docker-compose up
※バックグラウンド実行とかあるけど今回は動くか見たかっただけなのでパス
◆参照サイト
・DockerでRedmine関連
https://create-it-myself.com/know-how/launch-https-portal-redmine-postgresql-with-docker-compose/
https://www.cresco.co.jp/blog/entry/15759/
https://laptrinhx.com/imasara-docker-compose-de-redmine-shiyou-with-let-s-encrypt-1636072947/
・自己証明書関連
https://qiita.com/GCkurabe/items/ee86fd80fe16fa9f4731
https://re-engines.com/2019/03/28/docker-https-portal/
https://yassan.hatenablog.jp/entry/advent-calendar-redmine-1211
https://qiita.com/tukiyo3/items/3d1634a1fa0477976f74
https://qiita.com/MahoTakara/items/befb97ab05be17f54fec
https://qiita.com/muk-ai/items/413ae83b0a241495dd34
https://qiita.com/tukiyo3/items/590f3284d992fe5d03fa
コメント