Sign inSign up

dettmering/personal-timeline

By dettmering

•Updated 10 days ago

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

Image
0

1.1K

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
TZ—Timezone for date display (e.g. Europe/Berlin)
API_KEY—Optional. If set, required as Bearer token or X-API-Key header for automated entries
WEBHOOK_URL—Optional. 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:a5bebdf37…

Size

8 MB

Last updated

10 days ago

docker pull dettmering/personal-timeline