Integrate Redmine + GIT with Docker #1

레드마인과 git 서비스를 도커를 이용해 설치한다.

설계

  • 사용자가 redmine.example.com 을 웹브라우저에 입력하면 IP(A) 주소로 접속하게 된다.
  • IP(A) 의 http(80) 포트는 옵션(i) 을 컨테이너(2) 생성 시 지정하고, http 접속은 컨테이너(2) 내부의 nginx 설정으로 https(443) 으로 리다이렉트 되도록 한다.
  • https://redmine.example.com 으로 요청이 바뀌어 컨테이너(2) 로 접속하면 ssl 암호화를 처리하고 컨테이너(4)로 http 프록시를 이용해 요청을 전달한다.
  • 컨테이너(4)는 실질적인 redmine 서버스를 컨테이너(2)를 통해 제공하며 외부에 노출되지 않는다.
  • 컨테이너(3)은 사용자 인증 정보와 redmine 서비스의 데이터베이스이다.
  • 컨테이너(4)는 git 서비스를 redmine 의 사용자 인증 정보를 이용하여 관리할 수 있도록 별도의 아파치 서버로 구성된다. (Redmine.pm 모듈이 아파치 전용이기 때문)
  • 만약 추가적인 IP(B)가 있다면 git 웹 서비스 포트 80, 443을 직접 사용할 수 있다. 아니라면 IP(A):8080:80 같은 식으로 포트 지정 필요.
  • 만약 추가적인 IP(B)가 있다면 옵션 (ii) 로 기본 ssh 포트를 활용할 수 있다. 호스트의 /etc/ssh/sshd_config 설정 중 기본 ListenAddress 변경 필요. 추가 IP 가 없다면 다른 포트를 지정. (2222:22)