♣ 도움받은 사이트

docker-redmine : https://hub.docker.com/_/redmine

밍구의 코딩레시피 : https://minggu92.tistory.com/81

MeetUp (NHN) : https://meetup.nhncloud.com/posts/277

Docker 공식사이트 : https://docs.docker.com/compose/compose-file/compose-versioning/

Nirsa : https://nirsa.tistory.com/170 ( Docker 부팅 시 자동실행)

 

♣ 환경

 - Ubuntu Server 22

 - MariaDB Server 10.6

 

♣ 목적

Ubuntu Server 에는 이미 MariaDB 가 설치되어 있다.

Redmine 은 Docker 를 사용해 설치하고, DB 연동은 이미 설치된 MariaDB를 사용한다.

Redmine 은 docker-compose 를 사용하여 실행한다.

MariaDB 설치 및 docker 관련 세부 명령어는 이 글에서 다루지 않는다.

 

♣ docker 및 docker redmine 설치

docker, docker-compose 을 설치한다.

$ sudo apt install docker

$ sudo apt install docker-compose

$ sudo apt install docker-compose-v2

 

♣ MariaDB 에 Redmine 계정 생성

Redmine 자료가 저장될 MariaDB 에 Redmine 에서 사용할 계정을 만든다.

$ mysql -u root -p

 

로그인 되면,

1. 사용할 database 를 생성함. (아래 "redmine" 은 예제임. 수정 가능)

2. redmine DB 계정 및 패스워드 생성 (아래 "redmine" 계정 및 PW는 예제임. 수정가능)

3. 계정에 권한 부여

4. flush~

 

MariaDB>  create database redmine ;
MariaDB>  create user redmine@'%' identified by 'qwerty123@' ;
MariaDB>  grant all privileges on redmine.* to 'redmine'@'%' ;
MariaDB>  flush privileges ;

 

♣ docker-compose 작성

compose 가 저장될 디렉토리를 하나 만들어준다. 아래는 예시이다.

$ mkdir docker-redmine

$ cd docker-redmine

 

compose 파일을 작성한다. 파일 생성 후,

$ vi compose.yaml

그리고 아래처럼 작성해 준다.

 

아래 version 은 Compose File 버전이다. 이 값은 설치된 docker 버전을 따른다.

$ docker --version

 

설치된 docker version 은 24.0.5 이다.

이에 따른 compose 포맷 버전은 docker 공식 홈페이지에서 확인 가능하다.

https://docs.docker.com/compose/compose-file/compose-versioning/

 

 

위 글에 따르면 19.03 이상 버전은 3.8 을 따른다.

우리는 24.0 이니 3.8 이라고 썼다.

 

REDMINE_DB_MYSQL : DB 가 설치된 서버의 IP 나 hostname 을 적어준다.

Redmine 접속 시, http://192.168.0.143:8080 으로 접속한다면, 192.168.0.143 이 적혀야 한다.

나머지 항목은 직관적이므로 따로 설명하지 않으며

본인 환경에 맞게 적절히 수정하여 사용한다.

 

(아래는 복사용 )

version: '3.8'  # 도커 버전에 맞는 버전으로 작성

services:
   redmine:
      image: 'redmine'
      restart: always
      ports:
         - '80:3000'
         - '8080:3000'

      environment:
         TZ: Asia/Seoul
         REDMINE_DB_MYSQL: 192.168.0.143
         REDMINE_DB_PORT: 3306
         REDMINE_DB_DATABASE: redmine
         REDMINE_DB_USERNAME: redmine
         REDMINE_DB_PASSWORD: qwerty123@

      volumes:
        - '/home/hahaite/docker-redmine/data/files:/usr/src/redmine/files'
        - '/home/hahaite/docker-redmine/data/configuration.yml:/usr/src/redmine/config/configuration.yml'
        - '/home/hahaite/docker-redmine/data/themes:/usr/src/redmine/public/themes'
        - '/home/hahaite/docker-redmine/data/plugins:/usr/src/redmine/plugins'

#        - '/mesData/docker-redmine/data:/home/redmine/data'
#        - '/etc/localtime:/etc/localtime'

      container_name: 'redmine'

 

 

♣ docker-compose 실행

compose.yaml 파일이 있는 디렉토리에서,

$ sudo docker-compose up

이라고 명령을 치면 docker-redmine 이 실행된다.

 

주로 나오는 에러는 DB 에 접속할 수 없다는 내용인데, IP 및 DB 계정을 확인해 본다.

 

이상이 없으면 MariaDB 의 config 파일을 확인해 본다.

$ cd /etc/mysql/mariadb.conf.d

$ vi 50-server.cnf

 

위 파일을 열어서 bind-address 가 127.0.0.1 인지 확인한다.

만약 위 값이 세팅되어 있으면 주석처리한다.

 

그리고 mariadb 를 재실행하고,

$ service mariadb restart

 

docker-redmine 을 재실행한다.

 

별 에러없이 실행이 되면 아래처럼 접속되는지 확인한다.

 

본 절에선 심플하게 Redmine 을 설치하는 법을 다루었으며,

 

다음엔 보안을 적용해 https 접속을 다룰 예정이다.

+ Recent posts