지식 공유/IT, 인공지능 정보

Synology NAS에 JIRA + PostgreSQL 설치 완벽 가이드

대대소소 2025. 10. 15. 17:36

📋 목차

  1. 사전 준비
  2. SSH 활성화 및 접속
  3. 기존 JIRA 확인 및 정리
  4. Docker Compose로 설치
  5. JIRA Setup Wizard
  6. 추가 설정

1단계: 사전 준비

필요한 것

  • Synology NAS (DSM 7.0 이상)
  • Container Manager 패키지 설치
  • 최소 4GB RAM 권장
  • 충분한 저장 공간 (최소 10GB)

Container Manager 설치

  1. Package Center 열기
  2. Container Manager 검색
  3. 설치 클릭
  4. 설치 완료 대기

2단계: SSH 활성화 및 접속

2-1. Synology에서 SSH 활성화

  1. 웹 브라우저로 Synology 접속
    • http://192.168.0.96:5000 (IP는 본인 환경에 맞게)
  2. 관리자 계정으로 로그인
  3. 제어판터미널 및 SNMP 클릭
  4. 터미널 탭에서:
    • SSH 서비스 활성화 체크
    • 포트: 22 (기본값)
  5. 적용 클릭

2-2. Synology IP 주소 확인

  1. 제어판네트워크네트워크 인터페이스
  2. LAN 또는 LAN 포트 2 더블클릭
  3. IPv4 주소 확인 (예: 192.168.0.96)
  4. 메모장에 기록

2-3. SSH 접속

Windows 사용자:

방법 A: 명령 프롬프트

bash

# 시작 메뉴 → "cmd" 검색 → 명령 프롬프트 실행
ssh 계정명@IP주소

# 예시:
ssh dedesoso@192.168.0.96

방법 B: PuTTY (더 쉬움)

  1. PuTTY 다운로드: https://www.putty.org/
  2. PuTTY 실행
  3. Host Name: 192.168.0.96
  4. Port: 22
  5. Connection type: SSH
  6. Open 클릭
  7. 계정명 입력 → Enter
  8. 비밀번호 입력 → Enter (화면에 안 보임)

2-4. 관리자 권한 전환

bash

sudo -i
# 비밀번호 입력 (화면에 안 보임)

프롬프트가 root@시놀로지이름:~#로 바뀌면 성공


3단계: 기존 JIRA 확인 및 정리

3-1. 기존 컨테이너 확인

bash

docker ps -a | grep jira

3-2. 기존 JIRA 정지 및 삭제

bash

docker stop jira
docker rm jira

3-3. 기존 데이터 삭제 (선택사항)

⚠️ 주의: 기존 JIRA 데이터가 완전히 삭제됩니다!

bash

rm -rf /volume1/docker/jira/*

4단계: Docker Compose로 설치

4-1. 프로젝트 폴더 생성

bash

cd /volume1/docker
mkdir -p jira-project
cd jira-project

4-2. Docker Compose 파일 생성

bash

cat > docker-compose.yml << 'EOF'
version: '3.8'

services:
  postgres:
    image: postgres:15
    container_name: jira-postgres
    restart: unless-stopped
    environment:
      POSTGRES_DB: jiradb
      POSTGRES_USER: jiradbuser
      POSTGRES_PASSWORD: 강력한비밀번호입력
      POSTGRES_ENCODING: UTF8
      POSTGRES_LOCALE: C
      POSTGRES_COLLATE: C
      POSTGRES_CTYPE: C
    command:
      - "postgres"
      - "-c"
      - "max_connections=200"
      - "-c"
      - "shared_buffers=256MB"
      - "-c"
      - "effective_cache_size=1GB"
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
    ports:
      - "5433:5432"
    networks:
      - jira-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U jiradbuser -d jiradb"]
      interval: 10s
      timeout: 5s
      retries: 5

  jira:
    image: atlassian/jira-software:latest
    container_name: jira-app
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    environment:
      ATL_JDBC_URL: jdbc:postgresql://postgres:5432/jiradb
      ATL_JDBC_USER: jiradbuser
      ATL_JDBC_PASSWORD: 강력한비밀번호입력
      ATL_DB_DRIVER: org.postgresql.Driver
      ATL_DB_TYPE: postgres72
      JVM_MINIMUM_MEMORY: 2048m
      JVM_MAXIMUM_MEMORY: 4096m
    volumes:
      - ./jira-data:/var/atlassian/application-data/jira
    ports:
      - "8080:8080"
    networks:
      - jira-network

networks:
  jira-network:
    driver: bridge
EOF

⚠️ 중요: 강력한비밀번호입력 부분을 실제 비밀번호로 변경하세요!

4-3. 필요한 폴더 생성

bash

mkdir -p postgres-data jira-data

4-4. 컨테이너 실행

bash

docker-compose up -d

실행 메시지:

Creating network "jira-project_jira-network" ... done
Creating jira-postgres ... done
Creating jira-app      ... done

4-5. 상태 확인

bash

docker-compose ps

두 컨테이너가 모두 "Up" 상태여야 합니다.

4-6. 로그 확인 (선택사항)

bash

docker-compose logs -f jira

JIRA 시작 과정을 볼 수 있습니다. 종료하려면 Ctrl+C

⏱️ 대기 시간: JIRA 첫 시작은 10-15분 정도 걸립니다.


5단계: JIRA Setup Wizard

5-1. 웹 브라우저 접속

http://192.168.0.96:8080

5-2. 애플리케이션 속성 설정

화면 표시:

  • Application Title: Jira (또는 원하는 이름)
  • Mode: Private 선택 (관리자만 사용자 생성 가능)
  • Base URL: http://192.168.0.96:8080

Next 클릭

5-3. 라이선스 키 입력

평가판 라이선스 생성:

  1. "generate a Jira trial license at MyAtlassian" 링크 클릭
  2. Atlassian 계정으로 로그인 (없으면 가입)
  3. Server ID 자동 입력됨 (예: BJFT-XVQR-JMAP-GX5F)
  4. Organization 정보 입력
  5. 라이선스 키 생성됨 (즉시 발급)
  6. 라이선스 키를 복사
  7. JIRA Setup Wizard로 돌아와서 붙여넣기
  8. Next 클릭

5-4. 데이터베이스 설정

중요 단계입니다!

  1. "My Own Database" 선택
  2. 다음 정보 입력:
항목
Database Type PostgreSQL
Hostname postgres
Port 5432
Database jiradb
Username jiradbuser
Password docker-compose.yml에 입력한 비밀번호
Schema public
  1. Test Connection 클릭
    • ✅ 성공 메시지 확인
  2. Next 클릭

5-5. 관리자 계정 생성

다음 정보 입력:

항목 설명
Full name 본인 이름 (예: "홍길동")
Email Address 본인 이메일
Username 로그인 ID (예: "admin")
Password 강력한 비밀번호
Confirm Password 비밀번호 재입력

Next 클릭

5-6. 이메일 알림 설정

"Later" 선택 (나중에 설정 가능)

Finish 클릭

5-7. 설치 완료

🎉 축하합니다! JIRA 대시보드로 이동됩니다.


6단계: 추가 설정

6-1. 이메일 서버 설정 (선택사항)

  1. 우측 상단 톱니바퀴System
  2. Outgoing Mail 클릭
  3. SMTP 서버 정보 입력:
    • Gmail 예시:
      • Server Name: smtp.gmail.com
      • Port: 587
      • Username: 본인 Gmail
      • Password: 앱 비밀번호
      • TLS: 활성화

6-2. 로고 변경

  1. 우측 상단 톱니바퀴System
  2. Look and feel 클릭
  3. Site logo 섹션에서:
    • Upload logo 클릭
    • 이미지 파일 선택 (권장: 200×60px)
  4. Update 클릭

6-3. 첫 프로젝트 생성

  1. ProjectsCreate project
  2. 템플릿 선택 (예: Scrum, Kanban)
  3. 프로젝트 이름 입력
  4. Create 클릭

🔧 문제 해결

포트 충돌 발생 시

에러: bind: address already in use

해결:

bash

# 어떤 프로세스가 포트 사용 중인지 확인
netstat -tulpn | grep 8080
netstat -tulpn | grep 5432

# docker-compose.yml에서 포트 변경
# 예: 8080:8080 → 8081:8080

JIRA가 시작 안 될 때

bash

# 로그 확인
docker-compose logs -f jira

# 컨테이너 재시작
docker-compose restart

# 완전 재설치
docker-compose down
docker-compose up -d

메모리 부족

bash

# docker-compose.yml 수정
JVM_MINIMUM_MEMORY: 1024m  # 2048m → 1024m로 감소
JVM_MAXIMUM_MEMORY: 2048m  # 4096m → 2048m로 감소

📚 유용한 명령어 모음

컨테이너 관리

bash

# 프로젝트 폴더로 이동
cd /volume1/docker/jira-project

# 시작
docker-compose start

# 정지
docker-compose stop

# 재시작
docker-compose restart

# 상태 확인
docker-compose ps

# 로그 보기
docker-compose logs -f

# 완전 삭제 (데이터 유지)
docker-compose down

# 완전 삭제 (데이터도 삭제)
docker-compose down -v
rm -rf postgres-data jira-data

PostgreSQL 직접 접속

bash

docker exec -it jira-postgres psql -U jiradbuser -d jiradb

✅ 체크리스트

설치 완료 확인:

  • SSH 접속 성공
  • Docker Compose 파일 생성
  • 컨테이너 2개 모두 "Up" 상태
  • 웹 브라우저에서 JIRA 접속됨
  • 데이터베이스 연결 테스트 성공
  • 관리자 계정 로그인 가능
  • 첫 프로젝트 생성 성공

📖 참고 정보

접속 정보

  • JIRA URL: http://192.168.0.96:8080
  • PostgreSQL 포트: 5433 (외부) / 5432 (내부)
  • 데이터 위치: /volume1/docker/jira-project/

백업 권장

bash

# 데이터 폴더 백업
cd /volume1/docker/jira-project
tar -czf jira-backup-$(date +%Y%m%d).tar.gz postgres-data jira-data

라이선스 정보

  • 평가판: 30일 무료
  • 이후: 정식 구매 필요 (10명 기준 $10/월부터)

🎯 다음 단계

  1. 팀원 초대: 사용자 관리에서 팀원 추가
  2. 프로젝트 설정: 워크플로우, 이슈 타입 커스터마이징
  3. 통합 설정: Slack, GitHub, Confluence 등 연동
  4. 백업 자동화: 정기 백업 스크립트 설정

이제 JIRA를 사용할 준비가 완료되었습니다! 🎉