2020-02-22
Open
#48 Synology Docker 에서 GUI로 yona 실행 star
2020-02-22 Open
Tasks

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 (또는 임의의 설정한 포트) 로 접속이 가능합니다.

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

Issue Sharer
Comment 2

  • Assigned witbox self-assigned this issue 2020-02-22
    • Markdown help
    • Header
    • Text Style
    • Link
    • List
    • Checklist
    • Image
    • Blockquote
    • Code
    • Table
    • Short Link
    • Markdown Input
      Markdown Output
      # This is an H1
      ## This is an H2
      ### This is an H3
      
      # This is an H1 ## This is an H2 ### This is an H3
    • Markdown Input
      Markdown Output
      *This is an italic*
      **This is an bold**
      ~~This is an strike~~
      
      *This is an italic* **This is an bold** ~~This is an strike~~
    • Markdown Input
      Markdown Output
      - Red
          1. White
          2. Blue
      - Green.
      
      - Red 1. White 2. Blue - Green
    • Markdown Input
      Markdown Output
      - [ ] Todos
          - [x] To do A
          - [ ] To do B
          - [ ] To do C
                          
      • Todos
        • To do A
        • To do B
        • To do C
    • Markdown Input
      Markdown Output
      ![title](https://repo.yona.io/assets/images/ico-like-small.png "Yobi")
      
      ![title](/assets/images/ico-like-small.png "Yobi")
    • Markdown Input
      Markdown Output
      > Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
      >
      > Aenean commodo ligula eget dolor.
      
      > Lorem ipsum dolor sit amet, consectetuer adipiscing elit. > > Aenean commodo ligula eget dolor.
    • Markdown Input
      Markdown Output
      `function test() {console.log("hello world");}`
      
      ```javascript
      function test() {
        console.log("hello world");
      }
      ```
      
      `function test() {console.log("hello world");}` ```javascript function test() { console.log("hello world"); } ```
    • Markdown Input
      Markdown Output
      | Default      | Align center | Align right |
      | ------------ | :----------: | ------: |
      | Carrot       | Red          | 1,000   |
      | Banana       | Yellow       | 32,000  |
      
      | Default | Align center | Align right | | ------------ | :----------: | ------: | | Carrot | Red | 1,000 | | Banana | Yellow | 32,000 | Also, you can copy & paste table from excel sheet
    Notification receivers
    Drag & Drop files here to upload.
    Tasks

    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 "$@"
    
    Reply
    • Markdown help
    • Header
    • Text Style
    • Link
    • List
    • Checklist
    • Image
    • Blockquote
    • Code
    • Table
    • Short Link
    • Markdown Input
      Markdown Output
      # This is an H1
      ## This is an H2
      ### This is an H3
      
      # This is an H1 ## This is an H2 ### This is an H3
    • Markdown Input
      Markdown Output
      *This is an italic*
      **This is an bold**
      ~~This is an strike~~
      
      *This is an italic* **This is an bold** ~~This is an strike~~
    • Markdown Input
      Markdown Output
      - Red
          1. White
          2. Blue
      - Green.
      
      - Red 1. White 2. Blue - Green
    • Markdown Input
      Markdown Output
      - [ ] Todos
          - [x] To do A
          - [ ] To do B
          - [ ] To do C
                          
      • Todos
        • To do A
        • To do B
        • To do C
    • Markdown Input
      Markdown Output
      ![title](https://repo.yona.io/assets/images/ico-like-small.png "Yobi")
      
      ![title](/assets/images/ico-like-small.png "Yobi")
    • Markdown Input
      Markdown Output
      > Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
      >
      > Aenean commodo ligula eget dolor.
      
      > Lorem ipsum dolor sit amet, consectetuer adipiscing elit. > > Aenean commodo ligula eget dolor.
    • Markdown Input
      Markdown Output
      `function test() {console.log("hello world");}`
      
      ```javascript
      function test() {
        console.log("hello world");
      }
      ```
      
      `function test() {console.log("hello world");}` ```javascript function test() { console.log("hello world"); } ```
    • Markdown Input
      Markdown Output
      | Default      | Align center | Align right |
      | ------------ | :----------: | ------: |
      | Carrot       | Red          | 1,000   |
      | Banana       | Yellow       | 32,000  |
      
      | Default | Align center | Align right | | ------------ | :----------: | ------: | | Carrot | Red | 1,000 | | Banana | Yellow | 32,000 | Also, you can copy & paste table from excel sheet
    Notification receivers
    Drag & Drop files here to upload.
    Tasks

    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
    
    Reply
Add a comment