3.9 KiB
type, title, description, tags, timestamp
| type | title | description | tags | timestamp | |||
|---|---|---|---|---|---|---|---|
| operations | Environment Variable Setup | How to provide and validate the required env vars for the 10Backward container — .env, docker-compose, and the runtime check in entrypoint.sh. |
|
2026-08-04T17:51:00Z |
Purpose
Job 1083 promoted every previously-optional knob in .env.example
to required, and renamed three of them. Operators must populate the
full set before the container will boot.
Required Variables
| Variable | Example value | Purpose |
|---|---|---|
MASTODON_BASE_URL |
https://mastodon.social |
Mastodon instance to post against. |
MASTODON_ACCESS_TOKEN |
(from your Mastodon account) | OAuth access token. |
VISIBILITY |
public |
Post visibility (public or unlisted). |
SITE_URL |
https://blog.example.com |
Source blog URL (used by the future clone step). |
HASHTAGS |
#throwback,#10backward |
Hashtags appended to every throwback post. |
THROWNBACK_PREFIX |
Heute vor 10 Jahren: |
Prefix prepended to every Mastodon status. |
MAX_RETRIES |
3 |
Non-negative retry count for the pipeline. |
RUN_AT |
09:00 |
Daily fire time (HH:MM, 24-hour). |
TZ |
Europe/Berlin |
IANA timezone for cron + container clock. |
Where Each Name Is Enforced
entrypoint.sh— exportsTZ, validates all nine are non-empty, and validatesRUN_ATmatches^([01][0-9]|2[0-3]):[0-5][0-9]$before writing the cron file. A missing var aborts the container withERROR: missing required environment variable(s): ...and exits1.tenbackward.config.validate_config— same set, plus URL/visibility/ TZ/MAX_RETRIES validation. Failures surface as a singleConfigErrorlisting every problem.- The
kilo.jsonconfig file is not an env-var file — it is the agent runtime configuration.
Setup Steps
-
Copy the template:
cp .env.example .env -
Replace placeholder values in
.env(the example ships withMASTODON_ACCESS_TOKEN=replace-meandhttps://mastodon.example). -
Verify the file parses by running the validator directly:
python -m tenbackwardA successful validation run emits one
startupJSON log line and exits0. Missing/invalid config exits2. -
Bring up the container:
docker compose up --buildThe required-var check in
entrypoint.shruns first; if any variable is empty, the container exits beforecronstarts.
Renames vs. Job 1082
| Old key | New key |
|---|---|
MASTODON_VISIBILITY |
VISIBILITY |
THROWBACK_PREFIX |
THROWNBACK_PREFIX |
RETRY_COUNT |
MAX_RETRIES |
If you have an existing .env from the scaffold, rename these
manually. The renamed variables are not backwards compatible — the
container will refuse to start with both versions set.
Defaults That Can Be Removed
DEFAULTS provides fallbacks for VISIBILITY, THROWNBACK_PREFIX,
MAX_RETRIES, TZ, and RUN_AT. You may leave them out of your
.env, but the operator contract is "every required key is set" —
prod deployments should set them explicitly so a missing key is
caught at boot instead of silently used as a default.