Version: v0.1.0-preview
OpenChamber for Actions allows you to run a full OpenChamber environment remotely using GitHub Actions infrastructure. It provides access to OpenCode, OpenChamber, and a web-based terminal without requiring any local hardware.
OpenChamber for Actions is a "computer in the cloud" solution that leverages GitHub Runners to host a temporary development environment. It spins up three key services:
- OpenCode TTY: A web-based terminal for command-line access.
- OpenChamber: The core environment.
- OpenCode Web: The web interface for coding and interaction.
These services are exposed via secure tunnels (Cloudflare or Ngrok), allowing you to access them from any browser. The session can persist data between runs using GitHub Artifacts.
- No local hardware required: Run OpenChamber on GitHub Actions infrastructure.
- OpenCode integration: Access the OpenCode suite and "Antigravity" model selection (including Gemini 3 and Claude 4.5).
- Secure access (optional): Protect OpenChamber, OpenCode Web, and the TTY with
OPENCODE_SERVER_PASSWORD. - Persistent sessions (optional): Save login state, OAuth tokens, and configuration as GitHub Artifacts when a password is set (encrypted).
- Self-healing tunnels: Background monitoring keeps the tunnel stable.
Click to expand: What is this and how does it help me?
Think of this as a "computer in the cloud." Instead of running a local AI environment, GitHub Actions provides the compute for you.
- A GitHub account.
- A web browser (Chrome, Edge, Safari, etc.).
- No special hardware required.
Cloudflare Quick Tunnels create a secure public URL automatically. You do not need extra accounts or API keys, so it is the simplest option.
When a password is set, the workflow saves your login info and settings as an encrypted GitHub Artifact. The next run restores the session so you can continue without logging in again.
Usage Limits & Quotas
To ensure stability and compliance with GitHub’s Terms of Service, be aware of the following limits:
| Limit Type | Constraint | Explanation |
|---|---|---|
| Time Limit | 6 Hours Max | GitHub stops any job after 360 minutes. |
| Storage | 2GB | Session artifacts cannot exceed 2GB per repository. |
| Concurrency | 1 Run Only | Run a single OpenChamber instance at a time. |
| Hardware | 2-Core CPU | Standard Linux runners (~7GB RAM). |
Uses Cloudflare tunnels. No configuration required unless you want password protection.
- Fork this repository to your GitHub account.
- Open the Actions tab in your fork.
- Select the OpenChamber for Actions workflow.
- (Optional) Set a Password (recommended):
- Go to Settings -> Secrets and variables -> Actions.
- Click New repository secret.
- Name:
OPENCODE_SERVER_PASSWORD - Secret: Your desired password.
- Note: If this secret is set, it protects OpenCode TTY, OpenChamber, and OpenCode Web. It also enables encrypted persistence.
- Click Run workflow.
- Tunnel Provider: Choose
cloudflare(default) orngrok. - Auto-shutdown after (minutes): Set the duration (default
300).
- Tunnel Provider: Choose
- Wait about 30 seconds for setup to finish.
- Open the run, then open the
servejob. - Expand the Monitor & Self-Heal step to find the URLs and open them.
Tip
Keep the repository visibility Private or use OPENCODE_SERVER_PASSWORD in Github Actions Secrets. Otherwise, your privacy can be violated.
Click to expand: Step-by-step guide for setting up Ngrok
If you prefer using Ngrok for a static domain, follow these steps to set up your API key.
- Log in or sign up at dashboard.ngrok.com.
- In the sidebar, click "Your Authtoken."
- Copy the token string (for example,
21xYz...).
- Open your forked repository on GitHub.
- Open Settings.
- In the sidebar, open Secrets and variables and click Actions.
- Click New repository secret.
- Name:
NGROK_AUTH_TOKEN. - Secret: Paste the token.
- (Optional) Add
OPENCODE_SERVER_PASSWORDto enable password protection for all services and encrypted persistence. - Click Add secret.
- Go to the Actions tab.
- Select OpenChamber for Actions.
- Click Run workflow.
- Select
ngrokas the Tunnel Provider. - Find the URL in the "Monitor & Self-Heal" step.
Q: Is this completely free?
GitHub provides 2,000 minutes for private repositories and unlimited minutes for public repositories. This workflow uses those minutes.Q: Why did my session stop working after a few hours?
GitHub Actions has a 6-hour job limit. The environment shuts down automatically. If persistence is enabled, your session data is restored on the next run.Q: Can I use this on my phone or tablet?
Yes. Once you have a public URL (Cloudflare or Ngrok), open it in any mobile browser.Q: Is my data private?
If you fork this as a public repository, your code may be visible depending on how you save it. For maximum privacy, use a private fork. If you want persistence, set `OPENCODE_SERVER_PASSWORD` so the artifact is encrypted.Q: I see a "Connection Refused" error. What do I do?
Wait about 30 seconds and refresh the page. If it persists, check the Monitor logs in the Actions run.| Feature | Detail |
|---|---|
| Version | v0.1.0-preview |
| OS | Ubuntu 22.04 LTS (GitHub Runner) |
| Node Version | v20.x |
| Tunnel Protocols | cloudflared (Argon) / ngrok (HTTP) |
| Artifact Retention | 90 Days (Default GitHub Policy) |
Note
This project is for educational and development purposes. Do not use this workflow for mining crypto or other activities banned by the GitHub Acceptable Use Policy.