Synology docker에 jekyll install하기

1 minute read

Synology docker에 jekyll install하기

하룻밤의 삽질기

이번에 새로운 블로그를 만들면서 했던 삽질기를 올립니다.

보통은 github를 사용해서 jekyll을 구축하는 경우가 많은 거 같은데요,

저는 Synology nas의 docker를 사용해서 jekyll을 인스톨 하는 방법을 사용했습니다.

아무래도 개인 서버를 이용해보고 싶었고, github가 익숙하지 않다는 문제도 있었습니다.

기본적인 셋업은 Synology nas에서 docker를 이용한 jekyll 사용하기 · Storm 의 내용을 참고하였으며,

참고한 내용에서 이해가 안 가는 내용을 추가합니다.

그냥 jekyll/jekyll 레지스트리를 받아서 실행한다면 아마 무한재시작에 걸리게 되니 아래와 같은 사전 작업이 필요합니다.

  1. jekyll/jekyll 이미지 다운 후 어떻게 해야 하는가

    원본 글에는 “원본이 위치한 경로의 접근 권한을 everyone으로 읽기쓰기가 가능하도록 먼저 설정합니다.” 라고 되어있는데,

    이 말의 의미는 공유 폴더의 접근 권한을 everyone 읽기/쓰기 가능하도록 해주라는 겁니다.

    1. docker에서 jekyll 레지스트리를 다운 받습니다.

    jekyll01

    1. jekyll을 구성할 홈 폴더를 하나 만들어 줍니다. 저는 /docker/jekyll_home 폴더를 만들었습니다.

    2. File Station에서 jekyll_home 폴더 우클릭 후 속성에 들어가서 권한에서 생성을 눌러줍니다.

    3. 아래와 같이 설정해 줍니다.

    jekyll02

  2. gemfile을 어떻게 얻는가

    잘은 모르겠지만, 아마도 jekyll이 ruby기반이라 gemfile이라는 파일을 쓰는 거 같은데, jekyll 레지스트리에는 관련 내용이 없어서 좀 삽질을 했습니다.

    결론은, jekyll의 theme를 인터넷에서 하나 구해서 풀어보면, 거기 안에 gemfile이 있습니다.

    1. jekyll의 theme 하나를 구해서 jekyll_home 폴더에 풀어줍니다.
  3. Updatding & Caching

    명령어를 실행해야 하는데, docker 메뉴에는 이런게 없습니다. 이건 ssh로 `synology’ nas 에 접속해서 처리해야 하는 부분입니다.

    설치 전에 미리 셋업해야 하는 부분인데, ssh 접속은 구글링 하면 잘 나오니 따라하시면 되고,

    jekyll_home 디렉토리 아래 /vendor/bundle 폴더를 생성하고 ssh 접속 상태에서 아래 명령어를 복사&붙여넣기 해서 실행하면 됩니다.

    참고로 안될 때는 sudo를 붙이세요. sudo docker run ~~~

docker run --rm \
  --volume="/volume#/docker/jekyll_home:/srv/jekyll" \
  --volume="/volume#/docker/jekyll_home/vendor/bundle:/usr/local/bundle" \
  -it jekyll/jekyll \
  bundle update

여기서 volume#은 nas의 하드디스크 볼륨 번호입니다. ssh로 접속해서 docker 디렉토리를 어느 볼륨에 만들었는지 확인 후 맞는 번호를 넣으시면 됩니다.

  1. Build

    내용은 3번과 같고, 링크된 가이드의 명령어대로 이번에는 bundle update 가 아닌 jekyll build 명령어를 써줍니다.

  2. Docker 이미지 실행(설치)

    이 내용은 크게 어려운 부분이 없어서 링크의 가이드 참고하시면 됩니다.

위 내용대로 세팅 하면 http://Nas IP(혹은 URL):4000 으로 접속 시 홈페이지가 나타나는 것을 볼 수 있을 겁니다.

Ripud

Ripud

커피와 먹는 것을 좋아하는 엔지니어