드디어 공개! 새로운 헤드리스 CMS 개발 Vol.3
Cloudflare 네이티브 초고속 헤드리스 CMS 'KuroCMS'가 드디어 정식 출시되었습니다. PC가 필요 없는 웹 인스톨러, 1클릭 커뮤니티 템플릿 공유, 강력한 AI 다국어 관리, 간단한 대시보드 업데이트 등 개인 블로그부터 소규모 비즈니스까지 Cloudflare 무료 등급 내에서 구현하는 최첨단 에지 기술의 매력을 소개합니다.
드디어 정식 공개된 KuroCMS! Cloudflare 에지에서의 초고속 배포와 스마트폰을 통한 간편한 설정을 실현한 완전히 무료인 차세대 다국어 지원 헤드리스 CMS입니다.
세상에는 수많은 CMS 플랫폼이 존재하지만, 개인 개발자나 소규모 비즈니스 소유자가 '자신의 도메인', '자신의 디자인', '초고속 표시 속도'를 얻으려고 하면 난이도와 월 운영 비용이 갑자기 치솟습니다. 하지만 본 연재의 Vol.1 및 Vol.2에서 다루었던 KuroCMS의 목표가 드디어 공개되었습니다! 버전 1.7.0 정식 출시에 따라 추가된 다양한 기능과 압도적인 매력을 개발 일지 제3탄으로 자세히 설명합니다. 참고로 이 Kurousagi(검은 토끼) 사이트도 Strapi에서 KuroCMS로 완전히 교체되어 실제로 사용되고 있습니다.
물론 아직 개선과 버그 수정이 더 필요하지만, 2~3일간의 테스트를 통해 사용하기에 충분하다고 판단되어 오늘 공개하게 되었습니다.
Cloudflare 네이티브가 만들어낸 '완전 무료'와 '극한의 표시 속도'의 융합
KuroCMS의 가장 큰 아키텍처 특징은 백엔드 및 호스팅 인프라가 모두 Cloudflare의 에지 컴퓨팅 환경(Workers, D1, KV, R2, Workers Assets)에 네이티브로 결합되어 있다는 점입니다.
기존 헤드리스 CMS나 WordPress와 같은 플랫폼은 매월 수백 엔에서 수천 엔의 렌탈 서버 비용과 데이터베이스 관리의 번거로움이 필수적이었습니다. 하지만 KuroCMS는 Cloudflare가 제공하는 강력한 무료 등급(Free Tier)을 최대한 활용하도록 설계되었습니다. 일반적인 블로그 운영 수준이라면 월 비용 '완전 0원'으로 계속 운영할 수 있습니다.
[Cloudflare 무료 등급 기준]
・Workers (서버 실행): 1일 10만 요청
・D1 (SQLite 데이터베이스): 스토리지 5GB
・KV (페이지 캐시): 1일 10만 읽기 / 1만 쓰기
・R2 (미디어 저장): 스토리지 10GB / 월 100만 오퍼레이션
이러한 제한은 개인이나 중소 규모 사이트라면 한도에 도달할 가능성이 거의 없습니다.
또한 표시 속도에서도 타협은 없습니다. KuroCMS는 3계층 초고속 캐시 메커니즘을 사용합니다. 요청 시 가장 가까운 에지(에지 캐시)가 응답하고, 캐시 미스 시에는 KV 스토리지에서 즉시 반환합니다. 이를 통해 전 세계 어디에서 접속하든 100밀리초 미만의 페이지 로드(TTFB)를 실현하여 사용자의 대기 스트레스를 완벽히 제거합니다.
완성된 사이트는 의존성 라이브러리 없이 Vanilla JS와 Tailwind CSS로 초고속 표시되며, KuroCMS 본체조차 프레임워크를 전혀 사용하지 않습니다. 따라서 프레임워크 버전 관리나 대응 수정 등의 번거로움이 없으며, 프레임워크 사용에 따른 오버헤드가 없어 KuroCMS 자체도 매우 빠르게 동작합니다.
PC 불필요! 스마트폰에서도 시작할 수 있는 '웹 인스톨러'
헤드리스 CMS는 일반적으로 구축 환경 준비부터 운영 및 배포 단계까지 PC나 명령줄(CLI) 조작이 필수적이었습니다. 그러나 KuroCMS는 'PC 없이 누구나 쉽게 구축할 수 있을 것'을 목표로 내걸고 전용 웹 인스톨러를 개발했습니다.
사용자는 브라우저에서 전용 페이지에 접속하여 Cloudflare 계정을 연동하기만 하면 Workers, D1, KV 등의 리소스가 자동으로 프로비저닝되고 KuroCMS 관리 화면이 열립니다. 첫 번째 사용자가 관리자(admin)로 등록되면 초기 설정 화면(/initialize/)은 보안을 위해 자동으로 잠깁니다. 스마트폰 화면에서도 모든 배포와 초기 설정이 완료되는 획기적인 시스템입니다.
다국어를 기본 지원하는 '진정한 다국어(i18n) 데이터 모델'
KuroCMS는 개발 초기부터 글로벌 배포를 염두에 두고 다국어 설계가 이루어졌습니다. Kurousagi의 이 사이트에서도 한국어, 일본어, 영어, 독일어, 프랑스어, 이탈리아어, 스페인어, 중국어, 우크라이나어 등 총 9개 언어를 표시할 수 있습니다. *AI 클라우드는 본인의 계정을 사용해 주세요. 개인적으로는 이전 기사에서 소개했듯이 정중한 톤은 Gemini, 친근한 톤은 ChatGPT, 격식 있는 톤은 Claude를 추천합니다.
| 언어 코드 | 표시 언어 | URL 구조 | 특징 |
|---|---|---|---|
| ja | 일본어 (사이트 기본값) | /path/to/page |
기본 언어로 설정하며, Kurousagi는 일본어로만 기사를 작성합니다. |
| en | 영어 | /path/to/page?lang=en |
Gemini 등 번역 비용이 저렴한 AI 클라우드를 통해 REST API로 영어 변환 |
| zh / ko / de / fr / it / es / uk | 중/한/독/프/이/스/우크라이나어 | /path/to/page?lang={code} |
이후 영어 버전을 기반으로 다른 언어로 순차 번역하도록 동일한 AI 클라우드에 요청 |
데이터 모델은 하나의 기사 ID(did) 및 공통 슬러그(slug)에 대해 언어별 번역 텍스트(title, summary, body_html)가 연결되는 '일대다' 관계로 아름답게 관리됩니다. 새로운 언어로 번역할 때는 관리 화면의 드롭다운에서 언어를 선택하고 클릭 한 번으로 기존 기본 언어 콘텐츠를 복제하여 바로 번역 작업을 시작할 수 있습니다.
디자인 장벽을 허무는 '템플릿 기능'과 커뮤니티 공유
헤드리스 CMS의 큰 매력인 '디자인의 자유도'에 대해서도 KuroCMS는 독자적인 사양을 갖고 있습니다. HTML과 KuroCMS 특수 코드를 그대로 템플릿으로 처리하는 'Template API'를 탑재하고 있습니다.
이 템플릿 엔진은 HTML 내에 site.name이나 #each articles.../each 같은 특수 표현을 작성하기만 하면 에지 측에서 동적으로, 혹은 정적 빌드 시 변수와 목록을 배포합니다. 복잡한 JavaScript 프레임워크 지식이 전혀 필요 없으며 순수 HTML/CSS/JS만으로 디자인을 완벽하게 직접 제작할 수 있습니다.
또한 제작한 템플릿은 '커뮤니티 템플릿 라이브러리'를 통해 전 세계 사용자와 클릭 한 번으로 공유 및 다운로드할 수 있습니다. 관리 화면의 '템플릿 선택'에서 공개 라이브러리로 직접 연결되어 설치 전에 미리보기 화면을 확인하고 마음에 드는 디자인을 사이트에 바로 적용할 수 있습니다.
[자동 썸네일 생성 기능]
직접 디자인한 템플릿을 커뮤니티에 공개할 때, 관리 화면 측에서 일시적으로 iframe으로 렌더링한 HTML을 html2canvas 기술을 사용해 브라우저 상에서 자동으로 JPEG 캡처하여 라이브러리 썸네일로 자동 등록하는 시스템이 구현되어 있습니다. 사용자가 이미지를 직접 제작할 필요가 없습니다.
글꼴의 통일감을 주는 '웹 폰트 적용 기능'
아무리 디자인이 아름다운 템플릿을 도입하더라도 접속하는 스마트폰이나 PC의 OS에 따라 글꼴이 다르면 사이트의 인상이 흐트러집니다. 이에 KuroCMS는 웹 폰트 통합 관리 기능을 탑재했습니다.
관리 화면 내에 일본어, 유럽어, 고정폭 글꼴 중에서 엄선된 40종의 Google Fonts 카탈로그를 내장하고 있습니다. 2단 패널 셔틀 UI를 사용해 로드할 글꼴 추가, 우선순위 변경, '기본 글꼴' 설정을 드래그 앤 드롭 느낌으로 간편하게 관리할 수 있습니다. 기본 글꼴을 지정하면 공개 빌드 시 <head>에 CDN 링크가 자동 주입되며 템플릿 측의 CSS 지정을 덮어써 사이트 전체의 타이포그래피를 아름답게 통일합니다.
또한 당연히 WYSIWYG로 작동하는 관리 화면의 에디터(KuroEditor)도 이 설정에 완전히 연동됩니다. 편집 화면에서도 공개된 사이트와 똑같은 글꼴로 글을 작성할 수 있어 '작성할 때의 모습과 공개된 후의 모습이 다른' 스트레스가 전혀 발생하지 않습니다.
진행 상황을 시각적으로 보여주는 '빌드 스트림'과 셀프 업데이트
많은 양의 기사를 업데이트한 후 수행하는 '전체 사이트 빌드' 시 진행 상황을 보지 못해 불안할 때가 많습니다. KuroCMS는 빌드 실행 API(POST /api/build)에서 NDJSON(Newline Delimited JSON) 형식의 진행 상황 스트림을 반환하여 관리 화면의 진행 표시줄과 로그 뷰어에 실시간으로 반영하는 기능을 지원합니다.
빌드 시 변경 사항이 없는 페이지를 건너뛰는 캐시 기능(page_build_cache)도 작동하여 불필요한 KV 쓰기를 최소화하고 에지 리소스 이용 효율을 극대화합니다.
동시에 대시보드에는 무료 등급 내에서 업데이트 가능 여부를 확인할 수 있도록 KV 쓰기 횟수를 계산하여 사용자가 일일 KV 업데이트(빌드 작업) 한도를 파악할 수 있도록 돕습니다.
[원클릭 자동 업데이트]
오픈소스 헤드리스 CMS를 직접 호스팅할 때 가장 까다로운 점이 '업데이트 작업의 번거로움'이었습니다. KuroCMS는 셀프 업데이트 기능을 제공합니다. GitHub 공식 릴리스 리포지토리와 통신하여 새 버전이 있을 경우 관리 화면에 알림을 띄우며, '업데이트' 버튼을 누르면 Worker 내부 스크립트가 자동으로 최신 KuroCMS 버전으로 교체됩니다. 명령어나 Git 작업은 필요하지 않습니다.
주요 CMS 플랫폼과의 종합 비교
마지막으로 KuroCMS와 기존 주요 CMS(WordPress 및 자체 호스팅형 Strapi 5)의 비교를 요약합니다.
| 비교 항목 | KuroCMS | WordPress | Strapi 5 (자체 호스팅) |
|---|---|---|---|
| 월 운영 비용 | 평생 무료 (무료 등급 범위 내) | 웹호스팅 비용 (500엔~) | VPS/PaaS 비용 (1,000엔~) |
| 표시/응답 속도 | 초고속 (에지 캐시 배포) | 서버 사양에 의존 (느려지기 쉬움) | 구성에 의존 (API 요청 지연 발생) |
| 구축 난이도 | 웹 인스톨러로 간편함 | 쉬움 (웹호스팅 자동 설치 제공) | 어려움 (서버 구축 및 명령어 필요) |
| 다국어 지원 | 다국어 지원. ※AI 조작 가능 | 플러그인 필요 (설정이 매우 복잡함) | 기본 지원 (초보자에게 설정 및 UI가 어려움) ※실제로는 버그가 있어 사용할 수 없는 듯합니다. Kurousagi도 여러 번 시도했습니다. |
| 업데이트 | 관리 화면에서 원클릭 | 관리 화면에서 원클릭 | 명령어 실행 및 수동 배포 필수 |
| 라이선스 | MIT 기반 Kuro License (출처 표시 추가) | GPL | MIT |
요약: 개인 및 소규모 사이트의 새로운 표준으로
KuroCMS는 '자유로운 디자인의 헤드리스 CMS를 CDN을 활용한 압도적인 표시 속도로'라는 이점을 편리하고 비용 부담이 없는 블로그 서비스처럼 Cloudflare 상에서 제공하는 혁신적인 제품입니다. 세프 업데이트 기능, 다국어 모델의 완성도, 기본 웹 폰트 적용 등 디테일까지 꼼꼼하게 설계된 KuroCMS는 앞으로 개인 블로그 및 소규모 웹사이트 운영의 새로운 표준이 될 것입니다.
관심이 있으신 분들은 공식 인스톨러 사이트에 접속하여 초고속 및 쾌적한 블로그 라이프를 직접 경험해 보세요!