概要
表題のよりDockerを利用してRedmineをRaspberrypi上で起動できたので知見を共有します。
先見の方の記事がたくさんあるのですが、結構古い記事が多くてそのままだとだいたいエラーとなったので記事にしておきます。
- 追記
Docker駆動のサーバーについてはGitHubに集約しました。
SustainableEnv
GitHub Project
Dockerについて
とりあえず、ちょっとつまったのはaptでとれるものはバージョンが古いようで、docker-composeでredmineのimageをbuildしたときにエラーになったことです。
Dockerの公式リポジトリから最新を取得することで解決しました。
sudo curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
ユーザーにdockerグループを追加します
この設定を実行しないとdockerコマンド使用時にsudo記述がいるので何か不都合があるかと思います。
sudo usermod -aG docker $USER
Docker-Composeについて
docker-compose.ymlに使用したいイメージと各種設定を記述します。
こちらもpipで取得できるものはバージョンが古いので、公式のリポジトリから取得しています。
今回の動作環境ではuname -mで取得できるアーキテクチャ名が
armv7lとなるので、最後の一文字を削って無理やりリポジトリのファイル名に合わせています。
もしかしたら、ほかにいい方法あるかもしれません。
pi@raspberrypi:~ $ uname -m
armv7l
function install_docker-compose(){
VERSION=$(get_setting "docker_compose_env_version")
VERSION=$(echo $VERSION | sed 's/"//g')
DISTRIBUTION=$(uname -s)-$(uname -m)
DISTRIBUTION=${DISTRIBUTION/%?/}
DOCKER_COMPOSE_DIR=/usr/local/bin/docker-compose
#Docker-Compose Insrall
sudo curl -L "https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-${DISTRIBUTION}" -o ${DOCKER_COMPOSE_DIR}
chmod +x ${DOCKER_COMPOSE_DIR}
}
Redmineについて
参考にしたサイトがPostgreSQLをつかっていたのでそのまま使ってますが、redmineはmysql系の実例の方が多いようです。
イメージファイルは公式からの取得となっています。
自分のプロジェクトでは指定していませんが、バージョン指定したほうが無難化と思います。
バージョン指定は上記リンクのドキュメントで対応表が記載されています。
version: '3.8'
services:
redmine:
image: redmine
container_name: redmine
ports:
- 8080:3000
volumes:
- ./files:/usr/src/redmine/files
- ./log:/usr/src/redmine/log
- ./plugins:/usr/src/redmine/plugins
- ./public/themes:/usr/src/redmine/public/themes
environment:
REDMINE_DB_POSTGRES: redmine-db
REDMINE_DB_DATABASE: redmine
REDMINE_DB_USERNAME: redmine
REDMINE_DB_PASSWORD: redmine
REDMINE_DB_ENCODING: utf8
depends_on:
- redmine-db
restart: always
redmine-db:
image: postgres
restart: always
environment:
POSTGRES_DB: redmine
POSTGRES_USER: redmine
POSTGRES_PASSWORD: redmine
volumes:
- ./dbdata/:/var/lib/postgresql/data
おそらく、こんな感じです
image: redmine:[バージョン]
あとがき
この記事もそのうち過去の遺物になってしまうとおもいますが、、、出来ればメンテしていきたいところです
動作環境はRaspberryPiですが、
たぶん、linux debian系ならうごくんちゃうかなとおもいます。
未確認ですが、、、