Getting Started with Zetta

By Zetta · January 1, 2025

Zetta is a lightweight, file-based blog engine built on Bun. It requires no database — articles are plain JavaScript files, and content syncs automatically from a Git repository.

Quick Start

  1. Clone the repo and install dependencies:
git clone <your-zetta-repo>
cd zetta
bun install
  1. Start the server:
bun run server.js

Your blog is now running at http://localhost:3000.

Configuration

Zetta is configured entirely through environment variables:

Variable Description
PORT Server port (default: 3000)
ARTICLES_REPO_URL Git repo URL for articles content
TEMPLATES_REPO_URL Git repo URL for custom templates
GIT_TOKEN Access token for private repos
WEBHOOK_SECRET Secret for the POST /webhook endpoint
SYNC_INTERVAL Polling interval in seconds (default: 300)

Docker

docker build -t zetta .
docker run -p 8080:8080 \
  -e ARTICLES_REPO_URL=https://github.com/you/blog-articles.git \
  -e GIT_TOKEN=your_token \
  zetta

What's Next?