본문 바로가기

Tools

[Mac] Docker 환경에서 Redmine, PostgreSQL 설치(연동)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

새로 들어간 회사의 프로젝트를 관리하기 위해 Redmine 을 사용하기로 결정하였고, 

Agile Plugin 을 설치/사용하여 사용가능한 수준임을 파악하기 위한 로컬에 환경을 구성하기로 하였다. 

 

간략하게 정리하면 한번의 시행착오가 있었다. 

레드마인과 PostgreSQL 을 각각의 도커로 설치하였고, 연동하고자 부단히 노력했으나 안되었다. 

이유) 컨테이너는 Linux Namespace 기술을 이용해 각자 격리된 네트워크 공간을 할당받게 된다. 

 

이를 간과했다. Bridge 가 필요함을 알고 있었으나, 그 사실을 잊었던 것이었다. 

테스트라 쉽게 가기로 하였다. 

 

Docker-Compose

#docker-compose.yml

# docker-compose -f :: 다른 이름이나 경로의 파일을 Docker Compose 설정 파일로 사용할 경우
# docker-compose up : 가장 자주 사용되는 커맨드, Docker Compose 에 정의되어있는 모든 서비스 컨테이너를 한 번에 생성하고 실행하기 위해 사용
# 보통 -d 옵션을 사용하여 백그라운드에서 컨테이너를 띄우는 경우가 많음
# docker-compose down : Docker Compose 에 정의되어있는 모든 서비스 컨테이너를 한 번에 정지시키고 삭제하기 위해 사용
# docker-compose start : 정지된 특정 서비스 컨테이너를 올리기 위해 사용
# docker-compose stop : 실행 중인 특정 서비스 컨테이너를 정지시키기 위해서 사용
# docker-compose ps : Docker Compose 에 정의되어 있는 모든 서비스 컨테이너 목록을 조회할 때 사용 
# docker-compose log : 서비스 컨테이너의 로그를 확인하고 싶을 때 사용. 보통 -f 옵션을 붙여서 실시간 로그 확인 ex) docker-compose logs -f web
# docker-compose exec : 실행 중인 서비스 컨테이너를 대상으로 어떤 명령어를 날릴 때 사용 ex) docker-compose exec db psql postgres postgres
# docker-compose run : 서비스 컨테이너의 특정 명령어를 일회성으로 실행할 때 사용 ex) docker-compose run web env
# docker-compose config : 설정을 확인할 때 사용. -f 옵션으로 여러 개의 설정파일을 사용할 때, 최종적으로 어떻게 설정이 적용되었는지 확인해 볼때 유용

#version: '3.8'

services:
  redmine:
    image: 'bitnami/redmine:4.1.2'
    ports:
      - '8283:3000'
    restart: always
    environment:
      REDMINE_DB_POSTGRES: postgres
      REDMINE_DB_DATABASE: bitnami_redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: redmine

    volumes:
      - '/Users/path/work/dataDB/redmine:/usr/src/redmine/files'
      - '/Users/path/work/dataDB/redmine:/usr/src/redmine/public/themes'
      - '/Users/path/work/dataDB/redmine:/usr/src/redmine/plugins'   

    container_name: 'redmine-container'

  postgres:
    image: postgres:13
    container_name: redmine-postgesql-container
    restart: always
    
    volumes:
      - /Users/path/work/dataDB/postgres-redmine/data:/var/lib/postgres/data
    ports:
      - 25432:5432

    environment:
      POSTGRES_DB: bitnami_redmine
      POSTGRES_USER: redmine
      POSTGRES_PASSWORD: redmine

위처럼 docker compse 를 설정하고, docker-compse /yml 위치경로/docker-compose.yml up 을 실행.

정상적으로 올라온 것을 확인 할 수 있었다. 

 

그럼 연동하기로 한 PostgreSQL 은 어떻게 되었을까? 

docker logs redmine-container | grep post 

 

postgre INFO 에서 잘 듣고 일하고 있다 알려주고 있다. 

 

그럼 레드마인에 접속해보자. 경로를 치고 들어가보면 아래와 같이 잘 뜬다. 근데.... 계정이.... 뭐지??? 

admin/admin, admin/system.... 등등 별의 별 것을 다 해보았으나, 안된다.!!!!

 

접속이 안되면, 가볍게 회원가입을 하자!!! 회원가입을 하면 승인단계가 필요한데, 이것은 DB 에 접속하여 값을 UPDATE 했다. 

( DB 로 회원정보를 넣으려 했더니, 비밀번호, salt 에서 MD5 니 digest 라니... 뭐 이런걸 시키길래... 아 귀찮아~~~~ )

 

쉽게, users 테이블에서 admin과 status 값만 true, 1 로만 바꿔주면 관리자 권한 쉽게 획득할 수 있다. 

그리고 로그인을 해보면, 아래와 같은 초기화면을 볼 수 있다.