
Privacy and scope
This is a reference deployment by Takotsubo Life Sciences. Machine names, network addresses, accounts, keys, credentials, internal endpoints, and other operational identifiers have been removed. The examples explain decisions and controls; they do not reproduce a production environment.
When a computer can no longer follow the latest desktop operating systems, it is easy to assume that its usefulness is over. A small server is judged differently. It does not need to render a graphical desktop or keep dozens of applications open. It needs to be stable, manageable, observable, and compatible with the workload it is asked to carry.
That difference is where Mac Transformer began: a 2012 Intel Mac mini, fitted with an SSD and running Debian without a graphical desktop, repurposed as a private engineering foundation. The goal was never to imitate a datacenter. It was to concentrate trusted repositories, moderate automation, and operational evidence in hardware already available, without pretending away its limits.

The first design decision is the limit
The reference keeps a small number of users, trusted repositories, moderate CPU and memory use, and, by default, one heavy job at a time. Large AI models are not run locally. Services are not automatically exposed to the public internet. Destructive changes require an independent backup and an explicit human confirmation.
Those restrictions do not make the project smaller in a pejorative sense. They make it operable. On older hardware, queueing, concurrency, temporary storage, and artifact retention are architecture decisions, not details to discover after an outage.

Minimal Debian: less surface, more predictability
Debian was installed without a desktop environment, so the machine operates headlessly. That reduces standing memory use, removes dependencies that do not serve a server role, and supports a reproducible configuration: versioned files, auditable commands, and objective checks.
The physical installation remains deliberately human-led. Selecting a disk, partitioning, and changing boot settings can destroy data. A responsible guide may explain those stages, but it must not grant an agent implicit permission to erase them.
Hard stop
A verifiable backup comes before the installer
The copy must live on an independent destination and be tested before any change to the internal disk. “The command completed” is not evidence that important files can be recovered.
Network recovery came first
The minimal installation initially had no working network mirror. The system booted, but did not yet have every package needed for administration and expansion. The answer was both simple and strategic: a temporary Ethernet connection created a trustworthy route, allowed the system to be updated, installed official components, and enabled SSH.
The Broadcom BCM4331 Wi-Fi interface was detected, but the radio only became usable after the device, kernel module, and firmware were checked separately. The method matters more than the chipset: recognizing an interface does not prove association, routing, DNS, or reconnection after a reboot.

SSH was the turning point
Before SSH, every adjustment required a monitor and keyboard. After SSH, the installation became a manageable platform: configuration could be reviewed, terminal records preserved, automation applied deliberately, and recovery performed without assuming physical access.
That convenience has to be bounded. Key-based access, a limited administrative surface, documented recovery paths, and explicit human confirmation before irreversible actions are more valuable than a remote shell that simply happens to work.
Forgejo is the centre, not an isolated Git server
Forgejo organizes repositories, issues, releases, reviews, and automation context. Its usefulness grows when configuration, deployment notes, and recovery evidence live beside the code instead of inside an operator’s memory. The forge and the runner remain separate roles: the former coordinates, the latter executes constrained work.

CI/CD and security: evidence before speed
On small hardware, CI is a controlled queue, not a parallelism contest. Workflows should have timeouts, disk limits, bounded concurrency, artifact retention rules, and safe failure states. A failing scan should produce a readable result and stop the unsafe path; it should not silently continue because a job is expensive.
The DevSecOps layer combines complementary checks: Semgrep for code patterns, Gitleaks for secrets, OSV-Scanner for dependency and lockfile exposure, Trivy for images and infrastructure configuration, SBOM generation for inventory, and CodeQL only where its technical and licensing conditions are understood. DAST tools such as OWASP ZAP or Nuclei require a declared scope and explicit authorization; they are not a background activity to point at arbitrary systems.

Codex is an assisted operator, not the infrastructure
Once SSH exists, Codex can help turn manual knowledge into reviewable work: inventory non-sensitive facts, draft idempotent scripts, document dependencies, explain commands, inspect logs, and prepare verification checklists. Its value is not unlimited execution. It is making the next step clearer, smaller, and auditable.
Codex Security belongs in the process as a deliberate gate. It is invoked to examine a defined repository or scope, report evidence-backed findings, separate a candidate from a validated issue, and verify the remediation. It should never be treated as a ceremonial label or permission to run invasive actions outside an agreed target.

Operate for recovery, not only uptime
A platform is not resilient merely because a process is running. Logs, health checks, disk thresholds, restart behavior, storage consumption, and documented recovery paths make it possible to distinguish a healthy service from one that only appears alive.
Backup is the final test of design. It must be independent, encrypted where appropriate, retained according to a policy, and restored in practice. A backup that has never been read back is an assumption, not a recovery plan.

Science in every decision
Old hardware becomes useful through method, not nostalgia
Minimal Debian, recoverable networking, hardened SSH, Forgejo separated from runners, layered security, private observability, tested backups, and automation behind gates turned a constrained machine into a small, responsible, genuinely operable platform.
Project and source code
Mac Transformer, evolving in the open
The project’s public documentation, non-sensitive artifacts, and reproducible structure are available in the joaotakotsubo/mac-transformer GitHub repository. The repository does not expose credentials, internal addresses, or the deployment’s operational identity.
Official references
Trivy: misconfiguration scanning
OSV-Scanner: project and artifact scanning