Commit graph

3 commits

Author SHA1 Message Date
888fa2f6b5 Fix two cron jobs that surfaced once the container could actually run them
With yesterday's cron infrastructure fix in place, both daily jobs got
to actually execute today and revealed bugs that had been hiding behind
the silent failures.

1. Wiki export crashed on docs whose body starts with `---` (markdown
   horizontal rule). matter.stringify(str, data) re-parses str as if
   it might already contain frontmatter, so a leading `---` makes
   gray-matter try to YAML-parse the body and choke on the first
   `Title: subtitle` colon. Pass {content: str} instead — the parser
   only runs on bare strings, so an object skips the re-parse path.

2. outline-backup.sh referenced docker container names `outline-postgres`
   and `outline`, but DokPloy names containers `${project}-${service}-1`,
   so the backup got `Error response from daemon: No such container`.
   Derive names from $APP_NAME (set to the compose project name) with
   POSTGRES_CONTAINER / OUTLINE_CONTAINER overrides for portability.
2026-04-08 11:57:02 +01:00
8e7424ed05 Add cron container for daily backups and content export
- Add cron service to docker-compose with backup (3 AM) and export (4 AM) schedules
- Remove redundant content/articles/ and content/curriculum/ (now in Outline, exported to content/wiki/)
- Fix env var mismatch: support both OUTLINE_API_KEY and OUTLINE_API_TOKEN
- Drop updatedAt from export frontmatter to reduce noisy commits
- Add backups/ to gitignore
2026-03-24 09:14:16 +00:00
2bb36af20e Add daily wiki content export
Export script pulls all Outline documents via API and writes them as
flat markdown files to content/wiki/ with frontmatter metadata.
Cron wrapper auto-commits changes daily.
2026-03-04 17:34:09 +00:00