Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synology Docker 에서 GUI로 yona 실행 #17

Open
doortts opened this issue Feb 22, 2020 · 2 comments
Open

Synology Docker 에서 GUI로 yona 실행 #17

doortts opened this issue Feb 22, 2020 · 2 comments

Comments

@doortts
Copy link

doortts commented Feb 22, 2020

@witbox (witbox) 님이 작성한 이슈입니다.
---

Synology Docker GUI

예전에 Synology docker 에서 yona를 실행하려고 시도했지만, 말이 synology docker였지 예전방법을 그대로 cui로 진행했어야 했습니다.

이번에는 100% GUI로 실행이 가능하도록 만들어보았습니다.

pokev25 님의 docker-yona 와 nayasis 님의 yona_script를 참조하였습니다.

저 혼자 쓰려고 만든거라, 문서는 없으니 궁금한 점이 있으시면 이 이슈에 댓글로 남겨주세요.

네트워크 생성

가장 첫 순서로 네트워크를 추가합니다. 저는 yona 로 만들었습니다.

21993-2021-5-13-18-15.png

mariadb 컨테이너 생성

이미지 --> 추가 --> URL에서 추가

witbox/mariadb 추가

10.3 선택 후 추가
31677-2021-5-13-18-18.png

다운로드가 완료되면 이미지를 실행하세요.

컨테이너 이름이 중요합니다. 나중에 yona에서 db 접속 시 컨테이너의 이름으로 접속합니다.

저의 경우에는 yona_mariadb 라는 이름으로 만들었습니다.

고급설정에서

  1. 볼륨
  • 파일폴더: Synology Docker의 mysql 폴더
  • 마운트 경로: /var/lib/mysql (컨테이너 내부의 경로)
  1. 네트워크
  • 윗 단계에서생성한 네트워크 선택
  1. 환경변수 설정. 아래의 각각의 항목에 임의의 값을 넣어줍니다.
    MYSQL_USER 와 MYSQL_DATABASE는 application.conf 에 들어갈 항목입니다.
  • MYSQL_ROOT_PASSWORD
  • MYSQL_PASSWORD
  • MYSQL_USER
  • MYSQL_DATABASE

생성이 되고 실행이 정상적으로 되는지 확인합니다.

3469-2021-5-13-18-23.png

yona 컨테이너 생성

witbox/yona 추가
18186-2021-5-13-18-25.png

이미지로 이동해서 실행하세요.

고급설정에서

  1. 포트설정
  • 로컬: 9000 또는 임의의 포트
  • 컨테이너: 9000
  1. 볼륨
  • 파일폴더: Synology Docker 의 data 폴더
  • 마운트 경로: /yona/data
  1. 네트워크
  • 위와 동일한 네트워크 선택

생성이 되면 실행합니다.

처음 실행하면 잠시 실행되다가 컨테이너가 정지합니다.
54559-2021-5-13-18-26.png

application.conf 설정

File Station 에서 yona_data/conf/application.conf 파일을 찾아가서 편집합니다.

131번째 줄부터 있는 내용을 수정합니다.

# MariaDB
db.default.driver=org.mariadb.jdbc.Driver
db.default.url="jdbc:mariadb://yona_mariadb:3306/yona?useServerPrepStmts=true"
db.default.user=yona
db.default.password="패스워드"

중요: 기존의 jdbc:mariadb://127.0.0.1:3306 에서 jdbc:mariadb://yona_mariadb:3306 로 변경합니다.

127.0.0.1 대신 위 mariadb 의 컨테이너 이름이 들어가야 합니다.

그리고 위의 MYSQL_USER 와 MYSQL_PASSWORD 의 값을 넣어줍니다.

나머지 필요한 설정을 하고 저장한 다음 컨테이너를 시작합니다.

26405-2021-5-13-18-29.png

웹 브라우저에서 접속

정상적으로 시작 되면 웹브라우저에 http://호스트IP:9000 (또는 임의의 설정한 포트) 로 접속이 가능합니다.

누군가에겐 도움이 되시길 바랍니다.

--- attachments ---
yona-db.png
21993-2021-5-13-18-15.png
31677-2021-5-13-18-18.png
3469-2021-5-13-18-23.png
18186-2021-5-13-18-25.png
54559-2021-5-13-18-26.png
26405-2021-5-13-18-29.png

@doortts
Copy link
Author

doortts commented Feb 22, 2020

@witbox (witbox) 님이 작성한 코멘트입니다.
---

yona dockerfile

$ cat Dockerfile

FROM openjdk:8-jdk-alpine3.9

LABEL Description="This image is to build Yona" maintainer="witbox"

ARG YONA_VERSION=1.12.0
ARG YONA_BIN=yona-v${YONA_VERSION}-bin.zip
ARG YONA_DOWNLOAD_URL=https://github.com/yona-projects/yona/releases/download/v${YONA_VERSION}/${YONA_BIN}

## install package
RUN apk add --no-cache unzip bash tzdata

## Timezone
ENV TZ Asia/Seoul

## make work directory
RUN mkdir -p /yona/downloads

## install yona
RUN cd /yona/downloads && \
    wget --no-check-certificate $YONA_DOWNLOAD_URL && \
    unzip -d /yona/release ${YONA_BIN} && \
    mv /yona/release/yona-$YONA_VERSION /yona/release/yona && \
    rm -f ${YONA_BIN}

## set environment variables
ENV YONA_DATA "/yona/data"
ENV JAVA_OPTS "-Xmx2048m -Xms1024m"

## add entrypoints
ADD ./entrypoints /yona/entrypoints
RUN chmod +x /yona/entrypoints/*.sh

## yona home directory mount point from host to docker container
VOLUME /yona/data
WORKDIR /yona

## yona service port expose from docker container to host
EXPOSE 9000

## run yona command
ENTRYPOINT ["/yona/entrypoints/bootstrap.sh"]

entrypoint

$ cat entrypoints/bootstrap.sh

#!/bin/bash
set -e

if [ -f "/yona/release/yona/RUNNING_PID" ];then
  rm /yona/release/yona/RUNNING_PID
  echo "*** [rm] /yona/release/yona/RUNNING_PID ***"
fi

echo "*** Straing container yona bin ... ***"
cd /yona/release/yona; bin/yona

# echo "$@"
# exec "$@"

@doortts
Copy link
Author

doortts commented Feb 22, 2020

@witbox (witbox) 님이 작성한 코멘트입니다.
---

yona-db dockerfile

$ cat Dockerfile

FROM mariadb:10.2-bionic
MAINTAINER witbox

COPY ./etc /etc

RUN apt-get update
RUN apt-get install -y vim
RUN apt-get install -y locales
RUN rm -rf /var/lib/apt/lists/* $
RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

VOLUME /var/lib/mysql

ENV LANG en_US.utf8

yona.cnf (db 설정)

$ cat etc/mysql/conf.d/yona.cnf

[client]
default-character-set=utf8mb4

[mysqld]
collation-server=utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
lower_case_table_names=1
innodb_file_format=barracuda
innodb_large_prefix=on


[mysql]
default-character-set=utf8mb4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant