본문으로 건너뛰기
  1. 블로그/

Hugo + Blowfish로 개인 블로그 만들기

성경재
작성자
성경재
홈랩, 셀프호스팅, AI/ML, 데이터 분석에 관심이 많습니다.

왜 Hugo인가?
#

개인 블로그를 직접 만들면서 여러 선택지를 고민했습니다.

  • WordPress: 설치가 쉽지만 DB 관리가 필요하고 서버 부하가 큼
  • Jekyll: Ruby 기반이라 의존성 관리가 번거로움
  • Hugo: Go 기반으로 빌드 속도가 매우 빠르고, 서버에서는 HTML 파일만 서빙하면 됨

라즈베리파이처럼 성능이 제한된 서버에서는 정적 사이트가 최적입니다. Hugo는 빌드를 맥미니에서 하고, 결과물(HTML)만 라즈베리파이에 올리면 되기 때문에 서버 부하가 거의 없습니다.

Hugo 설치
#

맥미니에서 Homebrew로 설치합니다.

brew install hugo

설치 확인:

hugo version
# hugo v0.158.0+extended+withdeploy darwin/arm64

extended가 포함되어야 합니다. Blowfish 테마가 extended 버전을 요구합니다.

사이트 생성
#

hugo new site codeberry
cd codeberry
git init

Blowfish 테마 설치
#

Blowfish는 깔끔한 디자인과 다양한 기능을 제공하는 Hugo 테마입니다. Git submodule 방식으로 설치하면 나중에 테마 업데이트도 쉽게 할 수 있습니다.

git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish

설정 파일 구성
#

Blowfish는 설정 파일이 여러 개로 나뉩니다. config/_default/ 폴더 아래에 목적별로 파일을 분리합니다.

config/_default/
├── hugo.toml        # 사이트 기본 설정
├── languages.ko.toml # 언어 설정
├── menus.ko.toml    # 네비게이션 메뉴
├── params.toml      # 테마 상세 설정
└── markup.toml      # 마크다운 렌더링 설정

hugo.toml
#

baseURL = "https://codeberry.work/"
languageCode = "ko"
title = "CodeBerry"
theme = "blowfish"

params.toml (주요 설정)
#

colorScheme = "blowfish"
defaultAppearance = "dark"
autoSwitchAppearance = true
enableSearch = true
enableCodeCopy = true

[homepage]
  layout = "profile"
  homepageImage = "img/profile.jpg"
  showRecent = true

[author]
  name = "성경재"
  headline = "IT 관제"
  bio = "홈랩, 셀프호스팅, AI/ML, 데이터 분석에 관심이 많습니다."
  links = [
    { github = "https://github.com/Kyungjae-Sung" },
  ]

콘텐츠 구조
#

content/
├── posts/       # 블로그 글
├── projects/    # 포트폴리오
└── about/       # 소개 페이지

로컬 미리보기
#

hugo server -D --bind 0.0.0.0

브라우저에서 http://맥미니IP:1313 으로 접속하면 실시간으로 미리볼 수 있습니다. 파일을 수정하면 자동으로 브라우저가 갱신됩니다.

빌드 & 배포
#

미리보기에서 문제없으면 빌드:

hugo --gc --cleanDestinationDir

public/ 폴더에 완성된 HTML 파일이 생성됩니다. 라즈베리파이로 전송:

rsync -avz --delete public/ raspi@라즈베리파이IP:/var/www/html/

마치며
#

Hugo + Blowfish 조합은 빠른 빌드 속도와 깔끔한 디자인 덕분에 개인 블로그에 최적입니다. 특히 라즈베리파이처럼 저사양 서버에서는 정적 사이트가 WordPress 대비 훨씬 가볍게 동작합니다.

다음 글에서는 GitHub push만으로 자동 배포되는 파이프라인 구축 과정을 다루겠습니다.