Server

[Docker]「Redmine」+「Postgresql」」を「docker-compose」で構築する(SSL対応)

プロジェクト管理を行うため、「Redmine」を「docker-compose」で構築しました。
収入が安定したら繋い慣れたBacklogを使用したい、一旦はRedmineで運用していきます。

1. Redmineの「docker-compose.yml」を作成

Redmineの「docker-compose.yml」は以下のようになります。
また1つのサーバーに複数の「docker-compose.yml」を設定するために、共有ネットワークを設定しています。
バーチャルホストとSSL対応も行っており、そちらは前回の記事をご参照ください。

version: "3.8"

services:
  redmine:
    image: redmine
    container_name: redmine
    ports:
      - 8080:3000
    expose:
      - 3000
    volumes:
      - ./.docker/redmine/plugins:/usr/src/redmine/plugins
      - ./.docker/redmine/log:/usr/src/redmine/log
      - ./.docker/redmine/themes:/usr/src/redmine/public/themes
      - ./.docker/redmine/files:/usr/src/redmine/files
    environment:
      - REDMINE_DB_POSTGRES=redminedb
      - REDMINE_DB_DATABASE=redmine
      - REDMINE_DB_USERNAME=postgres
      - REDMINE_DB_PASSWORD=postgres
      - TZ=Asia/Tokyo
      - VIRTUAL_HOST=redmine.example.com
      - VIRTUAL_PORT=3000
      - LETSENCRYPT_HOST=redmine.example.com
      - LETSENCRYPT_EMAIL=info@example.com
    depends_on:
      - redminedb
    restart: always
    links:
        - redmine_db
    networks:
      - app-net
      - default

  # Postgresql for redmine
  redminedb:
    image: postgres:12
    container_name: redminedb
    hostname: redminedb
    ports:
      - 54322:5432
    restart: always
    environment:
      - POSTGRES_DB=redmine
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_INITDB_ARGS=--encoding=UTF-8
      - PGTZ=Asia/Tokyo
    volumes:
      - ./.docker/postgresl/init:/docker-entrypoint-initdb.d
      - ./.docker/postgresl/data:/var/lib/postgresql/data/
    networks:
      - app-net
      - default

# 共有ネットワーク
networks:
  app-net:
    external: true

2. docker-composeの起動

以下のコマンドでdockerを起動します。

docker-compose up -d

3. Redmine初期設定

dockerの起動が出来たら初期設定を行います。

1. ブラウザで構築したRedmineにアクセスします。

2.「ログイン」を押して、ログインIDを「admin」、パスワードを「admin」でログインします。

3. パスワードを変更します。

4. 必要な情報を入力し、プロジェクトを作成します。

以上でRedmineの構築は完了です。
簡単に行くと思ったのですが、ちょっとした所で設定を間違ってたりして時間がかかりました。
とりあえずはRedmineでプロジェクトを運用していきたいと思います。