A Micropub server implementation in Gleam - a lightweight, type-safe server for publishing content to your personal website
Find a file
Jon 9a74cef6a6
All checks were successful
test / test (push) Successful in 14s
Add names to all steps
2026-02-22 18:54:49 +00:00
.forgejo/workflows Add names to all steps 2026-02-22 18:54:49 +00:00
src Fixes related to Wisp API change 2026-02-22 16:22:51 +00:00
test Integrate GitHub backend and break import cycles 2026-02-13 23:18:49 +00:00
.example.env Integrate GitHub backend and break import cycles 2026-02-13 23:18:49 +00:00
.gitignore read env vars 2025-07-28 18:32:30 +01:00
gleam.toml Update dependency wisp to v2 2026-02-22 15:32:02 +00:00
LICENSE Add license 2025-08-02 21:31:43 +01:00
manifest.toml Update dependency wisp to v2 2026-02-22 15:32:02 +00:00
mise.toml Pin specific versions 2026-02-22 14:11:15 +00:00
README.md Update README 2025-08-02 21:34:32 +01:00
renovate.json Add renovate.json 2026-02-22 14:45:53 +00:00

TwinklePub

TwinklePub is a friendly Micropub server written in Gleam, enabling you to publish content to your personal website using standardized IndieWeb protocols.

Installation

Prequisites

  • Gleam (Tested on v1.11)
  • Erlang/OTP (Tested on v28)

Quick Start

This application requires some environment variables to be configured, see below for details.

Start by cloning this repository.

cd twinkle_pub

# Install dependencies
gleam deps download

# Configure environment variables
cp .example.env .env # Edit these variables according to your requirements

# Build and run
gleam run

Configuration

The following environment variables should be configured before running the server.

Required

TOKEN_ENDPOINT: The URL of your IndieAuth token endpoint (e.g., https://tokens.indieauth.com/token)
ME: The URL of your personal website

Optional

MEDIA_ENDPOINT: The URL of the media endpoint Micropub clients should use
SYNDICATE_TO: A JSON array of syndication targets
LOG_LEVEL: Logging verbosity level - defaults to INFO. Supports: DEBUG, INFO, WARN, ERROR, CRITICAL