유트랙 설치 가이드: Docker로 손쉽게 구축하는 이슈 트래킹 툴

 

프로젝트 관리와 이슈 트래킹을 위한 최적의 툴을 찾고 있다면, JetBrains의 YouTrack(유트랙)이 좋은 선택입니다.
이번 글에서는 유트랙 설치 방법Docker 환경에서 진행하는 방법과, 운영 시 고려해야 할 환경설정까지 정리해 보겠습니다.


1. 유트랙 설치를 위한 준비 (YouTrack Docker 환경)

YouTrack은 JetBrains 공식 Docker 이미지를 제공하기 때문에, 도커와 도커 컴포즈(Docker Compose)만 있으면 빠르게 설치할 수 있습니다.

설치 환경:

  • OS: Linux (Ubuntu/Debian 계열)
  • Docker: 20.10+
  • Docker Compose: v2.0 이상

이 과정을 통해, 유트랙 설치를 복잡한 패키지 설치 없이 간편하게 진행할 수 있습니다.


2. 권한 문제 해결 (777 vs 755)

YouTrack Docker 설치 중 흔히 발생하는 문제는 권한 오류입니다.

예시 오류:

Config directory is not writable: /opt/youtrack/conf

해결 방법:

# 임시 방편 (보안 취약)
sudo chmod -R 777 /mnt/xvdb/youtrack

# 보안 고려 (추천)
sudo chmod -R 755 /mnt/xvdb/youtrack

 

운영 환경에서는 chown으로 전용 계정에 소유권을 주는 것이 가장 안전합니다.


3. YouTrack Docker Compose 설정

아래는 실제 docker-compose.yml 예시입니다.
이 구성은 유트랙 설치를 자동화하고, 재시작 정책 및 헬스체크까지 포함합니다.

version: "3.9"

services:
  youtrack:
    image: jetbrains/youtrack:2025.2.92387
    container_name: youtrack
    ports:
      - "8281:8080"
    networks:
      - alpasq_center_net
    volumes:
      - /mnt/xvdb/youtrack/data:/opt/youtrack/data
      - /mnt/xvdb/youtrack/conf:/opt/youtrack/conf
      - /mnt/xvdb/youtrack/logs:/opt/youtrack/logs
      - /mnt/xvdb/youtrack/backups:/opt/youtrack/backups
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8080"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 40s

networks:
  netq_center_net:
    name: netq_center_net
    driver: bridge
    external: true

4. 실행 및 접속 방법

도커 실행:

docker compose up -d

접속 방법:

  • 외부: http://서버IP:8281
  • 내부 컨테이너: 8080 포트

 

외부 포트와 내부 포트를 분리해 운영할 수 있으며, 추후 리버스 프록시를 적용하기도 쉽습니다.


5. 버전 고려 사항

YouTrack은 버전 간 데이터 호환성이 다를 수 있으므로, 명확한 버전 지정이 중요합니다.

image: jetbrains/youtrack:2025.2.92387

 

latest 대신 특정 버전을 명시하면, 예상치 못한 오류를 줄일 수 있습니다.


6. 유트랙 환경설정에서 고려해야 할 사항

YouTrack은 단순 설치만으로 끝나지 않습니다. 운영 환경에 맞춰 반드시 다음 사항을 점검해야 합니다.

6.1 데이터 디렉토리 관리

  • /data, /conf, /logs, /backups는 반드시 호스트 볼륨 마운트 필요
  • 그렇지 않으면 컨테이너 삭제 시 모든 데이터가 소실

6.2 보안 권한

  • 권한은 777 대신 755 + chown 권장
  • 기본 UID/GID(13001)를 맞추는 것이 안전

6.3 네트워크 및 포트

  • 외부 포트: 8281
  • 내부 포트: 8080
  • 운영 환경에서는 방화벽/리버스 프록시(Nginx, Traefik) 필수

6.4 HTTPS 적용

운영 환경에서 필수인 HTTPS 적용은 Nginx + Let’s Encrypt 방식이 가장 일반적입니다.


6.5 백업 전략

  • /backups 경로를 원격 스토리지(S3, NAS)와 동기화
  • 주기적인 스냅샷을 통해 장애 대비

6.6 성능 최적화

YouTrack은 JVM 기반이므로 JAVA_OPTS 환경변수로 Heap 메모리 조정 가능

environment:
  - JAVA_OPTS=-Xmx2g -Xms1g

6.7 로그 관리

  • /logs에 로그가 계속 쌓이므로 logrotate 또는 외부 로그 시스템 연동 권장

6.8 업그레이드 전략

  • latest 대신 명확한 버전 고정
  • 업그레이드 전에는 반드시 백업 확보
  • 릴리즈 노트 확인 필수

7. YouTrack 초기 세팅

유트랙 설치 후 브라우저(http://서버IP:8281)로 접속하면 초기 관리자 계정 생성 페이지가 나타납니다.

  1. 관리자 계정 생성

    • 기본 admin 계정을 만들고, 강력한 비밀번호 설정

    • 추후 LDAP/SSO 연동 가능

  2. 기본 프로젝트 생성

    • 초기 화면에서 새로운 프로젝트를 만들 수 있음

    • 프로젝트 이름, 프로젝트 키, 담당자(프로젝트 리더) 지정

  3. 언어 및 시간대 설정

    • 환경에 맞게 언어: 한국어, Timezone: Asia/Seoul 설정 권장


8. 사용자 권한 관리

유트랙은 다양한 역할(Role)을 제공합니다.
운영 시 반드시 사용자 그룹과 권한을 구분해 두는 것이 안전합니다.

  • 게스트 (Guest)

    • 기본적으로 읽기 전용 접근만 가능

    • 필요하다면 외부 고객용으로 활용

  • 개발자 (Developer)

    • 이슈 생성 및 상태 변경 가능

    • 코드 리포지토리 연동 시 유용

  • 프로젝트 관리자 (Project Admin)

    • 해당 프로젝트 내 모든 권한

    • 사용자 초대 및 워크플로우 관리 가능

  • 시스템 관리자 (System Admin)

    • 전체 시스템 관리 권한

    • 운영 서버에서는 최소 인원만 부여

Administration > Access Management에서 그룹/사용자/역할(Role)을 세부적으로 설정할 수 있습니다.


9. 이메일 연동 설정

유트랙은 이메일을 통해 이슈 알림, 비밀번호 재설정, 댓글 알림 등을 보낼 수 있습니다.

9.1 SMTP 설정

  • 메뉴: Administration > Settings > Email

  • SMTP 서버 정보 입력

    • 예: Gmail (SMTP)

      • 서버: smtp.gmail.com

      • 포트: 465 (SSL) 또는 587 (TLS)

      • 인증: 앱 비밀번호 사용

9.2 테스트 메일 발송

  • 설정 저장 후 “Send Test Message”로 정상 발송 여부 확인

9.3 POP/IMAP 연동 (선택)

  • 유입 메일을 자동으로 이슈로 변환 가능

  • 예: support@example.com 으로 메일이 오면 → 자동으로 YouTrack 이슈 생성


10. 마무리: 설치부터 초기 세팅까지 완성

이번 글에서는 다음 내용을 다뤘습니다.

  • 유트랙 설치 (YouTrack Docker Compose 활용)

  • 환경설정 (권한, HTTPS, 백업, 메모리 관리, 업그레이드 전략)

  • 초기 세팅 (관리자 계정, 프로젝트, 사용자 권한 관리)

  • 이메일 연동 (SMTP/POP/IMAP 설정)

이제 이 단계를 거치면, 바로 팀 단위로 YouTrack을 이슈 트래킹 툴로 활용할 수 있습니다.


핵심 요약

  • 설치: Docker Compose로 손쉽게 배포

  • 보안/운영: 권한 관리, HTTPS, 백업 필수

  • 세팅: 초기 관리자 계정 → 프로젝트 생성 → 권한 분리

  • 연동: 이메일 알림 & 메일 기반 이슈 생성