Codex
OpenAI's lightweight coding agent in a browser terminal
Deploy NowREADME
OpenAI's lightweight coding agent in a browser terminal.
Overview
This template runs Codex, OpenAI's terminal coding agent,
inside a container that exposes a browser terminal. You open a URL, authenticate, and get a bash
shell with the codex CLI already installed. Upstream describes it as a lightweight coding agent
that runs in your terminal; this template gives that terminal a URL and a disk.
The image is built from the Dockerfile in this directory: node:24-bookworm-slim (pinned by
digest) plus ttyd 1.7.7 (verified against a pinned SHA-256) and
@openai/codex pinned to an exact version. Nothing floats on latest, so a restart gives you the
same environment.
What you get by hosting it
- An HTTPS URL for the terminal, with no port forwarding or tunnel to manage.
- A 1 GiB volume mounted at
/data.HOMEis set to/data/home, so your CLI login, shell history, and any repositories you clone survive restarts, redeploys, and version upgrades. - The terminal password stored as a managed secret rather than baked into the image.
- Deploys are health-gated: a container that does not answer is rolled back to the last healthy image instead of leaving you with a dead URL.
What you need before deploying
- Nothing mandatory. The access password is generated for you if you leave it blank.
- Optionally, an OpenAI API key: otherwise you sign in
from inside the terminal with
codex login. - Optionally, a Git token if you plan to clone private repositories.
Configuration
| Variable | Required | What it does |
|---|---|---|
ACCESS_PASSWORD | yes | HTTP basic-auth password for the terminal, username admin. Generated (16 chars) when left blank; editable afterwards. |
OPENAI_API_KEY | no | Authenticates the CLI without an interactive login. Leave blank to run codex login in the terminal instead. |
GIT_TOKEN | no | Token for cloning private Git repositories. |
Set by the template, not by you: HOME=/data/home (puts your home directory on the volume).
After deploy
- Open the service URL. The browser asks for HTTP basic auth: username
admin, passwordACCESS_PASSWORD. If it was generated, read it from the service's variables. - You land in a
bashshell in/data/home. - Run
codex. If you did not setOPENAI_API_KEY, runcodex loginfirst and follow the prompts. - That login persists. Because
HOMEis on the volume, the CLI's config survives restarts: you do not re-authenticate after every deploy. - Clone your repository into
/data/home(or anywhere under/data) so your work persists too. Files written outside/dataare lost when the container is replaced.
Links
- Upstream: https://github.com/openai/codex
- Package:
@openai/codex - ttyd: https://github.com/tsl0922/ttyd
- License: Apache-2.0 (upstream
openai/codex).
Services & Specs
- Image
- ghcr.io/insforge/insta-oss/templates/codex:0.3.0
- Port
- 7681
- Healthcheck
- /
- Volume
- 1 GB persistent
Variables
Nothing to fill in: every required variable is generated at deploy time.
Required
ACCESS_PASSWORDPassword for the browser terminal (username: admin). Generated if left blank
Optional (2)
GIT_TOKENToken for cloning private Git repositories
OPENAI_API_KEYOpenAI API key. Leave blank and run `codex login` in the terminal instead