dsql 7ed388c69c new compose + deploy standard: generic compose, deploy injects identity
Supersedes the prior 'name everything after the repo' guidance, which caused
container-name collisions at fleet scale. The dev's compose now names nothing
repo-specific; the deploy layer injects identity and host paths.

deploy.md:
- replace the 'One name everywhere' danger callout with 'Your compose names
  nothing repo-specific' (no container_name, no hardcoded names/paths)
- rewrite the compose example to the standard: svc service key,
  restart: unless-stopped (required — host unit is oneshot), host paths via
  ${LOGS_DIR}/${CONFIG_DIR}/${MOUNTS_DIR} with :-./ local fallbacks, bare
  'cache' volume. Keep user: "1337:1337" + HOME=/tmp (the services account
  identity — not repo-specific)
- add 'How deploy fills it in' (injected env vars a dev can rely on + the
  resulting docker ps names) and 'Onboarding a service' (deploy <host>
  <workspace> <git-url> [name], deploy key handled via Gitea API)
- update paths to <name>, subprocess example to svc, checklist to the new
  rules; drop docker CLI from secret rotation (host-side edit, we restart)

standards.md:
- add a 'Service compose' section: short convention + Right/Wrong tabs
  (the nova before/after), linking to the Deploy guide for the full detail

Kept the services-account (1337) section and uid-agnostic Dockerfile notes.
Verified in-browser; mkdocs build --strict clean (cross-ref anchor resolves).

Signed-off-by: disqualifier <dev@disqualifier.me>
2026-07-01 01:04:44 -04:00
2026-06-29 20:57:45 -04:00

handbook

The Rethink Studios handbook — our public reference for the shared library suite, coding standards, the dev workflow, Python environments, and how to deploy on our network.

Live at docs.rethinkstudios.io.

What this is

A static documentation site built with MkDocs + Material for MkDocs. Markdown lives under docs/, builds to a static site/, and is served by the reverse proxy at the subdomain — no app process, just static HTML/CSS/JS.

The Libraries page is the one dynamic part: it fetches the rethink-public repo list from the Gitea API client-side at view time, so new libraries appear on the next page load with no rebuild. Everything else is static markdown.

Build

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
mkdocs build            # -> static site/
mkdocs serve            # local preview at http://127.0.0.1:8000

Contributing

  • One topic per page, grouped under docs/, wired into the nav in mkdocs.yml.
  • Public — sanitize: no real hostnames, internal IPs, secrets, or exact topology. Use placeholders (<dev>, <project>, /srv/...).
  • Markdown: trailing newline, no trailing whitespace, LF line endings.
  • Commits signed (git commit -s).
S
Description
Rethink Development — public libs, standards, and deployment, in one handbook
Readme
1.3 MiB
Languages
Pip Requirements 100%