Synology docker에 jekyll install하기
하룻밤의 삽질기
이번에 새로운 블로그를 만들면서 했던 삽질기를 올립니다.
보통은 github를 사용해서 jekyll을 구축하는 경우가 많은 거 같은데요,
저는 Synology nas의 docker
를 사용해서 jekyll을 인스톨 하는 방법을 사용했습니다.
아무래도 개인 서버를 이용해보고 싶었고, github가 익숙하지 않다는 문제도 있었습니다.
기본적인 셋업은 Synology nas에서 docker를 이용한 jekyll 사용하기 · Storm 의 내용을 참고하였으며,
참고한 내용에서 이해가 안 가는 내용을 추가합니다.
그냥 jekyll/jekyll
레지스트리를 받아서 실행한다면 아마 무한재시작에 걸리게 되니 아래와 같은 사전 작업이 필요합니다.
-
jekyll/jekyll
이미지 다운 후 어떻게 해야 하는가
원본 글에는 “원본이 위치한 경로의 접근 권한을 everyone
으로 읽기쓰기가 가능하도록 먼저 설정합니다.” 라고 되어있는데,
이 말의 의미는 공유 폴더
의 접근 권한을 everyone
읽기/쓰기 가능하도록 해주라는 겁니다.
- docker에서 jekyll 레지스트리를 다운 받습니다.
-
jekyll을 구성할 홈 폴더를 하나 만들어 줍니다. 저는 /docker/jekyll_home 폴더를 만들었습니다.
-
File Station
에서 jekyll_home 폴더 우클릭 후 속성에 들어가서 권한에서 생성을 눌러줍니다.
-
아래와 같이 설정해 줍니다.
-
gemfile
을 어떻게 얻는가
잘은 모르겠지만, 아마도 jekyll이 ruby
기반이라 gemfile이라는 파일을 쓰는 거 같은데, jekyll 레지스트리에는 관련 내용이 없어서 좀 삽질을 했습니다.
결론은, jekyll의 theme를 인터넷에서 하나 구해서 풀어보면, 거기 안에 gemfile이 있습니다.
- jekyll의 theme 하나를 구해서
jekyll_home
폴더에 풀어줍니다.
-
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 디렉토리를 어느 볼륨에 만들었는지 확인 후 맞는 번호를 넣으시면 됩니다.
-
Build
내용은 3번과 같고, 링크된 가이드의 명령어대로 이번에는 bundle update
가 아닌 jekyll build
명령어를 써줍니다.
-
Docker 이미지 실행(설치)
이 내용은 크게 어려운 부분이 없어서 링크의 가이드 참고하시면 됩니다.
위 내용대로 세팅 하면 http://Nas IP(혹은 URL):4000
으로 접속 시 홈페이지가 나타나는 것을 볼 수 있을 겁니다.
Ripud
커피와 먹는 것을 좋아하는 엔지니어