Sign inSign up

dettmering/personal-timeline

By dettmering

Updated 3 months ago

A self-hosted day-logging microsite (microblog / personal journal).

Image
0

932

dettmering/personal-timeline repository overview

Personal Timeline — Deployment

A self-hosted day-logging microsite (microblog / personal journal). Single binary, SQLite-backed, vanilla JS frontend — no external dependencies.

Quick start

docker run -d \
  --name timeline \
  --restart unless-stopped \
  -p 8080:8080 \
  -v timeline-data:/data \
  -e TZ=Europe/Berlin \
  dettmering/personal-timeline:latest

Open http://localhost:8080.

Environment variables

VariableDefaultDescription
DB_PATH/data/timeline.dbSQLite database path
LISTEN_ADDR:8080Listen address
TZTimezone for date display (e.g. Europe/Berlin)
API_KEYOptional. If set, required as Bearer token or X-API-Key header for automated entries
WEBHOOK_URLOptional. Receives a POST with the entry JSON on every new entry

Docker Compose

services:
  timeline:
    image: dettmering/personal-timeline:latest
    container_name: timeline
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - timeline-data:/data
    environment:
      TZ: Europe/Berlin
      # API_KEY: change-me

volumes:
  timeline-data:
docker compose up -d

Posting entries via API

Automated entries (e.g. from scripts or other services) require API_KEY to be set:

curl -X POST http://localhost:8080/api/entries \
  -H "Authorization: Bearer <api-key>" \
  -H "Content-Type: application/json" \
  -d '{"text": "deployed successfully #ops", "automated": true}'

Tag summary

Content type

Image

Digest

sha256:9cb14c0be

Size

8 MB

Last updated

3 months ago

docker pull dettmering/personal-timeline