Ghost 업그레이드 & 이사

Ghost 업그레이드 & 이사

오랫동안 ghost v2를 사용하다가 Google Cloud에서 fly.io로 이사하는 김에 최신버전인 ghost v5로 업그레이드 하였다. 편리한 기능이 추가 된 거 같으면서도 대부분이 개인 블로그에서는 필요 없는 기능들이라 크게 좋아졌다는 체감은 아직 없다.

멤버쉽이나 커머스 기능이 중점적으로 추가 된 듯 한데, 템플릿 작업(한글화)을 어떻게 해야하는지 공식 사이트 포럼이나 문서들을 봐도 쉽게 알 수가 없어서 기본적인 Casper 테마에 원래 기존에 했던 한글화 작업만 추가로 진행하였다.


코멘트 기능

ghost v5에는 자체적인 코멘트 기능이 추가되었다. 사실 Disqus가 여러모로 좀 문제를 일으키는 경우가 많아서 자체 코멘트 기능을 써보고 싶었으나, 코멘트 부분은 템플릿 작업을 어떻게 해야하는지 알 수가 없어서 일단은 쓰던대로 Disqus를 사용. 추후 시간이 될 때 소스코드를 좀 더 파보고 알아내면 자체 코멘트 기능을 한번 사용해 볼 예정.


sqlite

ghost v5부터는 production 환경에서 sqlite를 사용하지 않게 기본 설정이 변경 되었다. 공식적으로 지원하는 건 Mysql 8. local 환경에서는 sqlite를 사용할 수 있고 production 환경에서도 설정만 해주면 사용이 가능하다. 공식 홈페이지에 안내되어 있는대로 config.production.json 파일을 아래와 같이 수정해주면 된다.

"database": {
  "client": "sqlite3",
  "connection": {
    "filename": "content/data/ghost-test.db"
  },
  "useNullAsDefault": true,
  "debug": false
}

fly.io의 fly.toml을 사용하거나 Docker를 사용하는 경우 환경변수를 지정해주면 된다.
fly.toml의 경우는 아래와 같다.

[env]
  url = "https://sy34.net"
  database__client = "sqlite3"
  database__connection__filename = "content/data/ghost.db"
  database__useNullAsDefault = true
  database__debug = false

fly.io

지금까진 Google Cloud의 VM 인스턴스에 직접 호스팅 하고 있었는데, 클라우드 업체 특성상 정책이 자주 바뀌고 무료 인스턴스 였던게 어느새 유료로 바뀌기도 해서 무료 옵션이 있는 fly.io로 이동하였다. Google Cloud의 Compute Engine에 아직도 무료 티어가 있긴 한 거 같지만, 어차피 새로 인스턴스 만들고 서버 설정하고 하는 수고를 할 바에야 새로운 서비스 체험도 해볼 겸 이동해봤다.

fly.io는 컨테이너를 deploy하는 형식의 PaaS. heroku의 무료 옵션이 사라지면서 많은 사람들이 옮겨 온 듯. 다른 서비스로는 render와 같은 서비스가 있다. 편리한 서비스들이 나오면서 점점 게을러지고 있다..