redmine | 구성 가이드

jira를 대체할만한 프로젝트 관리툴 중 redmine을 추천 받아 구성을 한번 해보려고 한다.

Redmine

1.1. DB 구성

나는 테스트환경에 MariaDB를 사용하고 있으므로 MariaDB를 이용하였다.

1.1.1. Create Database

CREATE DATABASE `redmine`;

1.1.2. Create Account

CREATE USER 'redmine'@'%' IDENTIFIED BY 'P@ssW0rd!'; //비밀번호는 적절히 변경한다.

1.1.3. Grant Account

GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'%';
FLUSH PRIVILEGES;

1.1.4. Show Grant

SHOW GRANTS FOR 'redmine'@'%';

2. Docker Install

2.1. Docker-compose.yaml

2.1.1. 공식문서 참고자료

db는 별도 분리를 할것이므로 해당항목은 사용하지 않을 것이다.
port는 외부 포트는 임의로 정해도된다.
volume영역은 추가할 것이다.

services:

  redmine:
    image: redmine
    restart: always
    ports:
      - 8080:3000
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: example
      REDMINE_SECRET_KEY_BASE: supersecretkey

  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: redmine

2.1.2. SECRET_KEY_BASE 생성

openssl rand -hex 32

2.1.3. 배포용 docker-compose

# 데이터 보관을 위한 폴더를 하나 생성한다.
mkdir redmine-data
services:
  redmine:
    image: redmine:6.1.0
    container_name: redmine
    restart: always
    ports:
      - "3100:3000"  # http://서버IP:3000
    environment:
      REDMINE_DB_MYSQL: ${DB_HOST}
      #REDMINE_DB_PORT:
      REDMINE_DB_PASSWORD: ${PassWord}
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_SECRET_KEY_BASE: # 2.1.2. SECRET_KEY_BASE 생성에서 생성한 값
    volumes:
      - ./redmine-data/files:/usr/src/redmine/files

2.1.4. 배포 결과 확인

docker logs -f redmine

Redmine 공식 Docker 이미지는 기본적으로 Puma Single Mode + 5 threads 로 실행되도록 설계되어 있습니다.

Rails 앱들은 일반적으로 스레드 기반 병렬 처리를 잘 하기 때문에
데이터베이스 병목만 없다면 5 Threads로도 꽤 안정적으로 동작합니다

2.1.4. 접속테스트

초기 계정 admin/admin 이고 접속하면 변경하게 나온다.

2.1.4. 메일 설정

초기에 구성을하고 메일알림 테스트를 해보려고하면 아래와 같은 페이지를 만날 수 있다.

관리 > 설정 > 메일알림

해당경로에 구성을 하면 된다.

services:
  redmine:
    image: redmine:6.1.0
    container_name: redmine
    restart: always
    ports:
      - "3100:3000"  # http://서버IP:3000
    environment:
      REDMINE_DB_MYSQL: ${DB_HOST}
      #REDMINE_DB_PORT:
      REDMINE_DB_PASSWORD: ${PassWord}
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_SECRET_KEY_BASE: # 2.1.2. SECRET_KEY_BASE 생성에서 생성한 값
    volumes:
      - ./redmine-data/files:/usr/src/redmine/files
      - ./redmine-data/conf.yaml:/usr/src/redmine/config/configuration.yml
default:
  # ==== SMTP server at using TLS (GMail)
  # This might require some additional configuration. See the guides at:
  # http://www.redmine.org/projects/redmine/wiki/EmailConfiguration
  email_delivery:
    delivery_method: :smtp
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto: true
      address: "smtp.gmail.com"
      port: 587
      domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps
      authentication: :plain
      user_name: "xxxx@gmail.com"
      password: "app 비밀번호"

등록이 잘된다.

발신 메일주소는 변경하여도 원래 등록한 gmail로 발송된다.

Gmail SMTP는 무조건 인증된 Gmail 주소를 From으로 사용하게 강제함.

Opale 테마

redmine만 사용하면 ui가 좀 불편(?)하다.
인터넷 서치를 통하여 purplemine2가 좀 많이 사용된다고해서 github에 들어가보니 종료된 프로젝트로보여진다.
opale을 적용해본다.

https://github.com/gagnieray/opale

내가 배포한 redmine버전은 6.1.0 이므로 opale은 1.6.1을 이용해야한다.

방법은 심플하다. 다운받고 폴더 경로지정해주고 적용하면된다.

  • download the lastest stable release and decompress the archive to your Redmine’s themes folder,
  • rename the folder opale-1.6.1 to opale,
  • go to Redmine > Administration > Settings > Display, select Opale from the theme’s list and save the settings.
services:
  redmine:
    image: redmine:6.1.0
    container_name: redmine
    restart: always
    ports:
      - "3100:3000"  # http://서버IP:3000
    environment:
      REDMINE_DB_MYSQL: ${DB_HOST}
      #REDMINE_DB_PORT:
      REDMINE_DB_PASSWORD: ${PassWord}
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_SECRET_KEY_BASE: # 2.1.2. SECRET_KEY_BASE 생성에서 생성한 값
    volumes:
      - ./redmine-data/files:/usr/src/redmine/files
      - ./redmine-data/conf.yaml:/usr/src/redmine/config/configuration.yml
      - ./redmine-data/opale:/usr/src/redmine/themes/opale

기타 설정

랜딩페이지 문구 수정

Note: You can modify this message in the “Welcome text” setting (Administration > Settings > General).