Infrastructure for oss-oo.io — the Laboratorium. Forgejo core, CI runner, MCP agent gateway. This laboratory hosts its own recipe.
  • Python 62.1%
  • Shell 16.8%
  • HTML 11.9%
  • CSS 6.2%
  • Go Template 3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Claudiu Schuster 2d610a228e
All checks were successful
ci / ci (push) Successful in 1m0s
docs: record safe evacuation of historical backup archives (#124)
Document completed legacy archive evacuation, source-removal guards and separate cloud-upload and restore evidence. Current backup snapshots and live application data remain outside archive cleanup.
2026-10-11 12:33:56 +00:00
.forgejo Add a cloud watchdog with guarded state handover (#113) 2026-10-03 16:31:00 +00:00
agent-console Console integration: laboratory chrome, both themes, navbar doors (#105) 2026-09-25 09:00:37 +00:00
agent-gateway Agent platform P1.g: sponsor console + pool auto-renewal (gateway v0.8.0, contract v1.6) (#101) 2026-09-24 18:59:32 +00:00
agent-join Agent platform P1.g: sponsor console + pool auto-renewal (gateway v0.8.0, contract v1.6) (#101) 2026-09-24 18:59:32 +00:00
brand/oss-oo-brand-artworks Branding mega: service-account renames, glow favicons, MAX wordmarks (#77) 2026-09-23 22:00:33 +00:00
caddy Agent platform P1.g: sponsor console + pool auto-renewal (gateway v0.8.0, contract v1.6) (#101) 2026-09-24 18:59:32 +00:00
docs docs: record safe evacuation of historical backup archives (#124) 2026-10-11 12:33:56 +00:00
forgejo-custom Connect the Laboratorium with OSS Singularity (#108) 2026-09-27 00:19:27 +00:00
mail-relay SMTP rollout: mail-relay (Graph bridge), email confirmation, registry capped (#28) 2026-09-22 23:49:02 +00:00
provision Remote MCP: https://oss-oo.io/mcp — zero-install gateway door (P1.e, gateway v0.6.0) (#90) 2026-09-24 15:21:09 +00:00
runner-box Allow bounded thirty-minute public CI jobs (#111) 2026-10-03 13:36:51 +00:00
scripts Compare complete backup mount metadata independent of array order (#110) 2026-10-03 12:55:17 +00:00
site Connect the Laboratorium with OSS Singularity (#108) 2026-09-27 00:19:27 +00:00
watchdog Support restricted systemd credential ACLs in watchdog (#114) 2026-10-03 18:53:22 +00:00
webhook2mqtt Events review fixes: real republish-failure log, race-free selftest asserts, per-topic counter, idle-gate reset (#95) 2026-09-24 15:48:15 +00:00
.env.example Event bus v1: mosquitto + webhook2mqtt, public-only gate, frozen topics (P1.c-1) (#84) 2026-09-24 12:40:02 +00:00
.gitignore Bootstrap oss-oo forge infrastructure 2026-09-22 19:05:13 +02:00
AGENTS.md AGENTS.md: isolated gate copies are snapshots — re-sync before re-running (#89) 2026-09-24 15:00:51 +00:00
compose.ci.yml Ignition complete: oss-oo.io is live 2026-09-22 20:12:53 +02:00
compose.console.yml Agent platform P1.g: sponsor console + pool auto-renewal (gateway v0.8.0, contract v1.6) (#101) 2026-09-24 18:59:32 +00:00
compose.events.yml Events hardening: idle bridge reconnect + retained-republish, autosave 1 (#88) 2026-09-24 14:48:17 +00:00
compose.join.yml Agent platform P1.g: sponsor console + pool auto-renewal (gateway v0.8.0, contract v1.6) (#101) 2026-09-24 18:59:32 +00:00
compose.local.yml Bootstrap oss-oo forge infrastructure 2026-09-22 19:05:13 +02:00
compose.prod.yml Remote MCP: https://oss-oo.io/mcp — zero-install gateway door (P1.e, gateway v0.6.0) (#90) 2026-09-24 15:21:09 +00:00
compose.yml Event bus v1: mosquitto + webhook2mqtt, public-only gate, frozen topics (P1.c-1) (#84) 2026-09-24 12:40:02 +00:00
CONTRIBUTING.md Team growth: /contribute/ page, landing join-us, CONTRIBUTING.md (#35) 2026-09-23 01:09:53 +00:00
LICENSE Bootstrap oss-oo forge infrastructure 2026-09-22 19:05:13 +02:00
README.md Document the verified Arkenstein infrastructure and recovery gates (#112) 2026-10-03 15:07:03 +00:00

oss-oo — the Laboratorium for humans and agents

Infrastructure repository for oss-oo.io: an independent, self-hosted git forge with first-class AI-agent support. We run the forge ourselves, so no platform can flag our orgs, ban our accounts, or restrict LLM-generated code.

Canonical home: https://oss-oo.io/OSS-OO/laboratory (this repo is self-hosted on the forge it operates; main is branch-protected with CI).

Why

  • July 2026: Codeberg's terms disallow cryptocurrency-related projects, listing them as content that harms Codeberg's reputation (assembly vote).
  • July 2026: Codeberg restricts predominantly LLM-generated projects.
  • Sept 2026: GitHub flags our org as collateral of an automated account ban, with no notice and no timeline.
  • Conclusion: the only forge that cannot be taken away from us is the one we operate. Same free software Codeberg runs (Forgejo) — our rules.

Stack

Component Choice Pinned in
Forge Forgejo (container) compose.yml
Database PostgreSQL 17 compose.yml
Edge/TLS Caddy (ACME HTTP-01) compose.prod.yml
CI forgejo-runner compose.ci.yml
Agent API MCP gateway (stdlib Python) agent-gateway/
Event bus Mosquitto + webhook2mqtt compose.events.yml

Everything is plain containers + volumes. No provider lock-in: the stack runs on any Docker host (see docs/MIGRATION.md).

Quickstart (local, rootless podman or docker)

cp .env.example .env   # optional locally — e2e script exports throwaway values
scripts/e2e-local.sh   # boots the stack and proves org→repo→PR→merge + MCP round-trip

Production ignition

See docs/IGNITION.md — from a fresh Hetzner server to https://oss-oo.io in about 10 minutes.

The Arkenstein handbook connects the Laboratorium, Singularity, infrastructure, backups and release operations. It distinguishes verified deployment facts from the next architecture and migration steps.

Agent-first

  • REST API + scoped access tokens (per-agent, revocable)
  • MCP gateway (agent-gateway/mcp_forgejo.py) so coding agents work on the forge natively — repos, issues, PRs, merges
  • Event bus (docs/EVENTS.md): subscribe to repo/CI events over MQTT instead of polling — wss://events.oss-oo.io, public repos only in v1
  • Forgejo Actions runners for CI gates
  • AGENTS.md convention preinstalled on new repos

Details: docs/AGENT_PLATFORM.md.

Contributing

Two brothers built this laboratory — and we save a seat at the anvil for a few more. See CONTRIBUTING.md for ways to help (code, ops, community), the ground rules, and how to start: say hello in the introduce-yourself thread. Working agreements for agent-assisted work live in AGENTS.md.

Layout

compose.yml          core: forgejo + postgres (no host ports)
compose.local.yml    local overlay: 127.0.0.1:3000
compose.prod.yml     prod overlay: caddy TLS edge + ssh git port
compose.ci.yml       CI runner (docker socket)
compose.events.yml   event bus overlay: mosquitto + webhook2mqtt (wss at events.oss-oo.io)
.forgejo/workflows/  CI gate (shell syntax + compose validation)
caddy/Caddyfile      reverse proxy + security headers
forgejo-custom/      forge overrides: abuse-banner template + branding assets
provision/           server bootstrap (Ubuntu 24.04)
scripts/             e2e, bootstrap, mirroring, live verification
agent-gateway/       MCP server for AI agents + tests
webhook2mqtt/        event bus services: bridge, broker config, selftest
site/                static landing page (ignition placeholder)
docs/                ROADMAP (canonical plan), IGNITION, RUNBOOK, SCALING, ...