Requirements
- Go 1.26+ (for building from source)
Build from source
git clone https://github.com/5000K/5000blogs.git
cd 5000blogs
go build -o 5000blogs .
Run
CONFIG_PATH=./config.yml ./5000blogs
If no config file exists at the path, 5000blogs starts with defaults (posts from ./posts/, listening on :8080).
Config file location
Set via environment variable:
CONFIG_PATH=/etc/5000blogs/config.yml ./5000blogs
Or use the default config.yml in the working directory.
Example config
address: ":8080"
blog_name: "My Blog"
site_url: "http://localhost:8080"
paths:
posts: "./posts"
template: "./template/template.html"
icon: "./template/icon.png"
log_level: "info"
page_size: 10
feed_size: 20
feed_description: "Latest posts"
rss_content: "none"
nav_links:
- name: "Posts"
url: "/posts"
All environment variables
Every YAML key has a corresponding env var. Env vars override config file values. See Configuration for the complete reference.
Debug mode
LOG_LEVEL=debug CONFIG_PATH=./config.yml ./5000blogs
Produces detailed logs for post rescans, source syncs, and request handling.
Running as a systemd service
[Unit]
Description=5000blogs
After=network.target
[Service]
ExecStart=/usr/local/bin/5000blogs
Environment=CONFIG_PATH=/etc/5000blogs/config.yml
Restart=on-failure
User=blog
Group=blog
[Install]
WantedBy=multi-user.target