mirror of
https://github.com/razzant/ouroboros.git
synced 2026-10-03 04:07:04 +00:00
Fold the base/app split back into a single Dockerfile. The base tag was never published, so a plain `docker build -t ouroboros-web .` failed on every fresh machine, and a runtime `UV_PROJECT_ENVIRONMENT` let an agent's `uv sync` in a task workspace rewrite the runtime venv. What the split was for stays: the Playwright browsers pinned to the locked version are installed from an ephemeral uvx tool environment into `/ms-playwright` above `COPY pyproject.toml uv.lock` (every release rewrites the lock), and the BuildKit cache mounts keep the uv and apt caches out of the layers (4.82 GB -> 4.12 GB). The tag-only docker lanes stop forcing `PLAYWRIGHT_BROWSERS_PATH=0`, which pointed at an empty package tree and made them download browsers mid-test; the portable path-length test reads the shipped browser path. The Russian Trusted CA files leave the image: the next commit gives deployments an owner-side setting instead. Docs: ARCHITECTURE §8 Docker, README. |
||
|---|---|---|
| .. | ||
| 01-high-level-architecture.md | ||
| 02-startup-onboarding-flow.md | ||
| 03-web-ui-pages-and-buttons.md | ||
| 04-server-api-endpoints.md | ||
| 05-supervisor-loop.md | ||
| 06-agent-core.md | ||
| 07-configuration.md | ||
| 08-git-branching-ci-and-build.md | ||
| 09-shutdown-and-process-cleanup.md | ||
| 10-key-invariants.md | ||
| 11-frozen-contracts-v1.md | ||
| 12-host-service-companions-and-chat-ids.md | ||
| 13-external-skills-layer.md | ||