Junlog Logo

나의 기술 블로그 방황기 - Coolify + NextJS + PayloadCMS

ByYoon Woo Jun
25

기술 블로그 어떻게 만들지?

2021년 전역하고 바로 본격적으로 개발자의 길을 걷기 위해서, 기술 블로그를 만들기 시작했다.

여러 블로그 플랫폼과 배포 방식을 비교해본 결과 github page + jekyll을 사용해서 블로그를 처음으로 만들었고,
나름 이쁘게 만들었었지만, 어느 순간 블로그 글을 올리는게 점점 힘들어졌다.

그 후, 2024년에 스타트업의 co-founder 이자, 백엔드 개발자로서, 겪은 여러 문제들과 해결책, 생각을 적고 싶어서
외주 프로젝트를 진행하면서 어깨너머로 배웠던 Next.js를 활용해서 정적으로 기술 블로그를 만들었다

하지만, 이 방식조차 나에게 불편함이 많았었다.
그래서, 2025년 현재 어떻게 기술블로그를 배포했고, 운영하고 있는지 기록하려고 한다.


파악한 문제점

1. 공짜

나는 맨 처음에 기술 블로그를 만들때 티스토리, 벨로그와 같은 블로그 플랫폼을 사용하려고 했었다.
하지만, 공짜로 배포하고 운영하는 블로그는 나에게 큰 동기를 주지는 못할 것 같았고,
실제로, github page를 사용해서 운영했을때 이를 크게 느꼈다.
결론적으로, 어차피 공짜니까 글을 안올려도 아깝다는 생각이 안들기 시작한게 문제였던것 같다.

2. 정적 배포

블로그에 새로운 글을 작성하고 배포할때, 정적 블로그의 경우, 보통 Markdown과 같은 형식으로 글을 작성하고,
이를 github에 올려서 퍼블리싱한다.
이때, 점점 늘어나는 정적 파일들을 관리하기 버거웠고, 특히 이미지 관리 또한 힘들어지기 시작했다.
그리고, 근본적으로 새로운 글을 올리는데, Markdown으로 글을 작성하고, push 하고, 확인하는 과정이 점점 버거워졌다.
오타라도 발견하는 순간 한숨이 절로나온다.

3. 자유도

블로그가 나를 잘 표현할 수 있었으면 했다.
자유로운 커스터마이징이 힘든 경우 애정을 쏟기가 힘들었다.


결론 : Coolify + NextJS + PayloadCMS

위의 문제점과 현재 내가 가지고 있는 역량을 바탕으로 위의 기술 스택을 사용해서 블로그를 배포하고자 결정했고,
그 결과 간간히 만들어낸 시간을 바탕으로 이렇게 첫번째 글을 쓸 수 있게 됬다.

1. 배포
배포는 AWS Lightsail에 Coolify를 사용해서 배포했다.
Lightsail을 사용한 이유는 적당한 금액과 그에 맞는 서버 사양이 마음에 들기도 했고, AWS 전반적인 서비스에 이해가 있었기 때문이다.
이미지를 S3 + Cloudfront를 사용해 보여주고 싶었던 마음이 컸기도 했다.

2. 프론트엔드
프론트엔드는 Next.JS + tailwindCSS를 사용했다.
이전에 2달간 프론트엔드 외주 작업을 했던 경험을 바탕으로 능숙하지는 않지만, 내 맘에 들게 보이게끔은 만들 수 있었다.

3. 백엔드
백엔드는 PayloadCMS를 그리고, DB는 MongoDB를 사용했다
정적 블로그를 몇번 사용하다보니, 겪은 문제점이 너무 치명적이였고, 위의 문제점을 해결하기 위해 사용했다.
관련 문서를 찾기가 좀 힘들었지만, 공식 문서와 깃허브 이슈를 찾아보면서 어느정도 내 마음대로 다룰 수 있게됬다.

위의 기술을 사용해서 얻은 장점은 명확했다.
1. 자유롭게 블로그 스타일을 바꿀 수 있고, 블로그에 필요한 추가 기능을 붙힐 수 있었다.
2. 글 관리 및 여러 컨텐츠 관리가 쉬워졌다.
3. 인프라부터 관리하니 코드 뿐만 아니라, 어떻게 데이터와 이미지를 관리할지 등 폭넓은 선택지를 바탕으로 내 입맛에 맞게 만들 수 있었다.

당연히, 단점도 있다.
1. 시간 투자 - 간간히 시간을 투자해서 3개월 정도 걸린거 같다.
2. 넓은 이해도 - 프론트엔드 뿐만 아니라, 백엔드, 인프라 및 배포 전반적으로 깊지는 않지만, 넓은 이해도가 필요했다.
3. 비용 - 아무래도 AWS Lightsail + S3 + Cloudfront + 도메인 비용이 드는게 나에겐 장점이지만 보통은 아닌거 같다.