Yona 라는 이슈트래커를 개인용 서버에 설치해볼까 한다. (공식 페이지: Yona)
환경 구성
작업 환경은 다음과 같다.
- Ubuntu 22.04
- docker, docker-compose 사실 컨테이너만 구동되면 OS는 뭘 사요하든 무관하다.
설치 시도
공식 깃헙 저장소((yona-projects/yona))의 Readme를 읽어 보면 Docker를 이용한 설치 항목이 다음과 같이 설명되어 있다.
Docker를 이용해 설치하실분은 pokev25 님의 https://github.com/pokev25/docker-yona 를 이용해주세요.
바로 해당 저장소로 들어가 보면 docker-yona docker compose를 를 통해 바로 Yona 서비스를 올릴 수 있도록 이미 환경이 다 세팅되어 있다.
해당 저장소를 내려받은 후 docker compose up
을 사용해 Yona를 컨테이너 형태로 바로 올릴 수 있다.
이때 계속 구동에 실패하길래 로그를 보니 다음과 같은 내용을 볼 수 있었다.
docker-yona-yona-1 | Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=127.0.0.1)(port=3306)(type=master) : Connection refused (Connection refused)
공식 문서를 다시 보니 DB를 먼저 설치해야 한다고 한다. 하지만 DB를 또 설치하기 번거로운 관계로 docker-compose.yml
파일을 수정해 DB도 같이 올려볼까 한다.
docker-compose.yml 수정
다음과 같이 yona-db
서비스를 추가했다. (도커 허브: mariadb)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
version: '3'
services:
yona:
build: .
image: pokev25/yona:1.15.0
restart: always
environment:
- BEFORE_SCRIPT=before.sh
- JAVA_OPTS=-Xmx2048m -Xms1024m
volumes:
- ./data:/yona/data
ports:
- "9000:9000"
yona-db:
image: mariadb:10.3
restart: always
environment:
- MARIADB_ROOT_PASSWORD=root1234
- MARIADB_USER=yona
- MARIADB_PASSWORD=pass1234
- MARIADB_DATABASE=yona
- TZ=Asia/Seoul
volumes:
- ./yona-db:/var/lib/mysql # DB 데이터 백업 경로
이상태로 최초 구동 시엔 여전히 DB접속에 실패한다. 이때 data/
경로가 같이 생기는데(최초구동시) 이후 해당 경로 내에 설정 파일을 수정해야 한다. data/conf/application.conf
파일을 열어 # MariaDB
항목을 찾아 접속 정보를 수정한다.
1
2
3
4
5
# MariaDB
db.default.driver=org.mariadb.jdbc.Driver
db.default.url="jdbc:mariadb://yona-db:3306/yona?useServerPrepStmts=true"
db.default.user=yona
db.default.password=pass1234
이후 웹 브라우저를 통해 9000번 포트로 접속해 보면(http://localhost:9000) 다음과 같이 Yona 초기 설정 페이지를 볼 수 있다.
마치며
금전적인 부담을 덜기 위해 Yona를 설치했지만, 개인적으로는 Jira가 좀 더 편한것 같다. 때론 남이 대신 관리해주는걸 사용하는게 가장 속편하다. 하지만 뭐든지 직접 세팅하는게 가장 재밌다(믿을만한지는 모르겠다).
일단 더 써 봐야 알 것 같다. 다음에는 깃랩도 개인 서버에 올려봐야겠다.