All Templates
Pi Coding Agent logo

Pi Coding Agent

AI Agent

Coding agent CLI with session history and a browser terminal

Deploy Now

README

Coding agent CLI with session history and a browser terminal.

Overview

This template runs the Pi coding agent inside a container that exposes a browser terminal. You open a URL, authenticate, and get a bash shell with the pi CLI already installed. Upstream describes it as a coding-agent CLI with read, bash, edit and write tools plus session management: so a session you start now can be picked up later from the same URL.

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 @earendil-works/pi-coding-agent 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. HOME is set to /data/home, so session history, CLI config 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.
  • A model provider key if you want it present from the first boot. Pi accepts keys from several providers, and they can also be configured from inside the terminal.
  • Optionally, a Git token if you plan to clone private repositories.

Configuration

VariableRequiredWhat it does
ACCESS_PASSWORDyesHTTP basic-auth password for the terminal, username admin. Generated (16 chars) when left blank; editable afterwards.
ANTHROPIC_API_KEYnoModel provider key available to the CLI at startup. Pi accepts keys from several providers, configurable in the terminal.
GIT_TOKENnoToken for cloning private Git repositories.

Set by the template, not by you: HOME=/data/home (puts your home directory on the volume).

After deploy

  1. Open the service URL. The browser asks for HTTP basic auth: username admin, password ACCESS_PASSWORD. If it was generated, read it from the service's variables.
  2. You land in a bash shell in /data/home.
  3. Run pi. Configure a model provider key if you did not set one as a variable.
  4. Configuration and session history persist. Because HOME is on the volume, ~ survives restarts, so a session started before a redeploy is still there afterwards.
  5. Clone your repository into /data/home (or anywhere under /data) so your work persists too. Files written outside /data are lost when the container is replaced.

Links

Services & Specs

workspace
Web service
Image
ghcr.io/insforge/insta-oss/templates/pi: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_PASSWORD
auto-generated

Password for the browser terminal (username: admin). Generated if left blank

Optional (2)
GIT_TOKEN

Token for cloning private Git repositories

ANTHROPIC_API_KEY

Anthropic API key. Pi accepts keys from several providers, configurable in the terminal