osFoundry / Platform
Containers
Long-running containers for backend services, agents, or build workers. Logs stream live.
What it is
Containers in osFoundry are long-running, dedicated cloud compute instances for the work that a chat turn can't hold: backend services that need to stay up, AI agents that run for hours, and build workers that compile and package your code. Each container runs on its own server with a fixed allocation of RAM, vCPU, and a cap on concurrent agents, so a heavy job in one container never starves another. You buy a container by tier (Starter, Standard, or Power), name it, and start or stop it on demand from Settings; pricing is a flat monthly rate per tier with an optional auto-stop-when-idle switch so an unattended container doesn't keep billing after the work is done.
Inside osFoundry, a container is a first-class runtime you can attach to. It exposes an interactive PTY terminal (full arrow-key, ANSI, ctrl+C, and resize support via xterm.js) so CLI agents like aider or claude-code behave exactly as they would in a local shell. Logs stream live over a server-sent-events channel: the log panel tails the container's main process output — server boot, crashes, deploy errors, and the stdout of background subprocesses a visible terminal would miss — as it happens, no refresh. Room apps can bind a container declared in their manifest, which provisions persistent block volumes automatically and injects per-instance secrets as environment variables into each exec, so your service has its state and credentials without you wiring them by hand.
This matters because osFoundry is a bring-your-own-key, local-first workspace: your models and keys are yours, and much of your work stays on your device. Containers extend that same workspace outward for the jobs that genuinely need a persistent, always-on machine — without leaving the environment where your chat, agents, code, and data already live, and without a per-seat platform tax on top of the compute.
Key capabilities
- Run long-running containers for backend services, autonomous agents, or build workers, each on its own dedicated cloud server
- Stream logs live over SSE: server boot, crashes, deploy errors, and background-subprocess stdout tail in real time with no refresh
- Open an interactive PTY terminal (xterm.js) so CLI agents like aider or claude-code get arrow keys, ANSI, ctrl+C, and resize
- Pick a tier (Starter/Standard/Power) with fixed RAM, vCPU, and concurrent-agent limits; start, stop, rename, or delete on demand
- Turn on auto-stop-when-idle so an unattended container stops after inactivity instead of billing around the clock
Use cases
- Agent developer: run a claude-code or aider session in a Power-tier container for a multi-hour refactor, watching logs stream while the PTY terminal stays interactive
- Backend engineer: keep a room app's API service alive on a dedicated container with persistent volumes and injected secrets, provisioned from the app manifest
- CI/build user: spin up a Standard container as a build worker, tail deploy errors live, and enable auto-stop so it shuts down after the build finishes
Frequently asked questions
What can I actually run in an osFoundry container?
Anything that needs to stay up longer than a chat turn: a backend service, a long-running AI agent, or a build worker. Each container is a full server you get shell access to via an interactive terminal, so CLI tools like aider and claude-code run natively.
How do I see what my container is doing?
The log panel tails the container's main process over a live server-sent-events stream, including the stdout of background subprocesses that a visible terminal would otherwise miss. You also get a full interactive PTY terminal for driving it directly.
How is a container billed, and can I avoid paying while it's idle?
Each container is a flat monthly rate set by its tier (Starter, Standard, or Power), which fixes its RAM, vCPU, and concurrent-agent limits. Turn on auto-stop-when-idle to have it stop after a period of inactivity, or stop and delete it manually at any time.