Skip to content
AI Dev Server

Open Source · Self Hosted · Docker Native

AI Development Environment

Your AI Development Environment, Anywhere.

Run Claude Code, Codex CLI, and your favorite development tools in a self-hosted, immutable Ubuntu 24.04 terminal environment — on amd64 and arm64.

Illustrative terminal mockup (not a product screenshot)

/workspace

  • src/
  • docs/
  • tests/
  • docker-compose.yml

# on the Docker host

host$ docker compose up -d

host$ scripts/shell

# inside the container as dev

dev@ai-dev:/workspace$ tmux new -As dev

dev@ai-dev:/workspace$ claude

persistent volumes · docker sock · multi-arch image

Everything you need to build with AI.

A serious Docker-native terminal environment for AI coding agents and everyday development work.

Immutable multi-arch image

Ubuntu 24.04 for linux/amd64 and linux/arm64. Upgrades come from reviewed image tags — not runtime self-update.

AI coding CLIs ready

Claude Code, Codex CLI, Oh My ClaudeCode (OMC), Oh My Codex (OMX), and SaladDay cc-switch-cli are preinstalled.

Persistent named volumes

Projects, credentials, caches, logs, models, and backups live in six named volumes that survive container recreate.

Docker from inside

Docker CLI, Compose, and Buildx talk to the host docker.sock. Powerful — and intentionally trusted-single-user only.

Multi-language toolchains

Node.js, pnpm, Bun, Python/uv, Go, Rust, OpenJDK, GitHub CLI, and common developer utilities ship in the image.

Terminal + tmux workflow

Enter with scripts/shell or scripts/tmux. Keep sessions alive across host SSH disconnects without an in-container SSH daemon.

Built for durable AI coding sessions.

Terminal-first by design — illustrated below, not presented as product screenshots.

// illustrative panel 1

$ docker compose up -d

$ scripts/shell

$ scripts/exec ai-dev doctor

Powerful enough for serious development

Keep toolchains, AI CLIs, and project state together. Recreate the container without throwing away /workspace or /config.

// illustrative panel 2

$ docker compose up -d

$ scripts/shell

$ scripts/exec ai-dev doctor

Run AI coding workflows without rebuilding every time

Credentials and tool homes resolve through configuration generations so Claude, Codex, and gh keep working after restarts.

// illustrative panel 3

$ docker compose up -d

$ scripts/shell

$ scripts/exec ai-dev doctor

Host access in, container shell next

There is no in-container SSH daemon. Reach your Docker host first, then use scripts/shell or scripts/tmux for the supported dev identity.

How it works

Three steps from a trusted Docker host to a ready AI development shell.

01

Start

On a Linux Docker host with Engine, Compose v2, and a working docker.sock:

bash
docker compose up -d

02

Enter

Open the supported Zsh session as dev (not a web app URL, not SSH into the container):

bash
scripts/shell
# or durable sessions:
scripts/tmux

03

Build

Authenticate tools as needed, then develop under /workspace with your AI coding agents.

bash
scripts/exec claude auth login
scripts/exec codex login --device-auth

Bring your favorite AI coding agents.

Works with your preinstalled AI coding tools. These are packaged CLIs shipped in the image.

Claude Code

Preinstalled CLI for agentic coding. Authenticate with scripts/exec claude auth login and keep state in the active config generation.

Codex CLI

Preinstalled OpenAI Codex CLI. Device auth works well on headless servers via scripts/exec codex login --device-auth.

Oh My ClaudeCode (OMC)

Pinned OMC CLI ships in the image. Project plugin setup is a per-repo Claude Code workflow under /workspace.

Oh My Codex (OMX)

User-scope OMX initialization runs offline on fresh config volumes. Project setup stays repository-local under /workspace.

cc-switch-cli

SaladDay headless TUI/scriptable CLI for Claude provider switching — not the desktop GUI of a similar name.

Get started in minutes.

Prerequisites: Linux Docker host, Docker Engine, Compose v2, working /var/run/docker.sock, amd64 or arm64. Default image: docker.io/jerry0510/ai-dev:latest

1. Clone

bash
git clone https://github.com/mufeng510/ai-dev-server.git
cd ai-dev-server

2. Start

bash
docker compose up -d
# optional:
# PUID="$(id -u)" PGID="$(id -g)" TZ=Asia/Shanghai docker compose up -d
# AI_DEV_IMAGE=docker.io/jerry0510/ai-dev:1.2.3 docker compose up -d

3. Enter the environment

bash
scripts/shell
# durable tmux session:
scripts/tmux

There is no published web app port and no in-container SSH daemon. On a remote machine, reach the Docker host first, then use the scripts above.

Read the full documentation →

Where it fits

Practical deployments on hosts you already control.

Personal AI development

Run Claude Code, Codex, and your toolchains in one trusted container on your own machine or server.

Remote development

Connect to the Docker host from another device, then attach with scripts/shell or scripts/tmux. The container does not expose its own SSH service.

Homelab / NAS

If your NAS or homelab can run Linux Docker with a docker.sock, you can host the environment there under the same security assumptions.

Reproducible development

Pin image tags, keep state in named volumes, and recreate containers without rebuilding your personal toolchain from scratch.

FAQ

What is AI Dev Server?

An immutable Ubuntu 24.04 terminal development environment distributed as a multi-arch Docker image. It preinstalls AI coding CLIs, language toolchains, and Docker client tools, with durable state in named volumes.

Why use Docker?

The image stays immutable while projects and credentials live in volumes. You can recreate the container, pin versions, and keep a consistent toolchain without polluting the host user environment.

Which AI coding agents are supported?

The image preinstalls Claude Code, Codex CLI, Oh My ClaudeCode (OMC), Oh My Codex (OMX), and SaladDay cc-switch-cli. Authentication is manual and persists in the active /config generation.

Can I run it on a NAS?

If the NAS provides a Linux Docker Engine, Compose v2, and a usable docker.sock on amd64/arm64, yes — under the same trusted single-user security model.

Can I customize the development environment?

Install project dependencies inside /workspace as usual. Image contents change through reviewed image rebuilds/tags rather than runtime self-updaters.

Where is my source code stored?

Projects live in the workspace named volume mounted at /workspace. Configuration and credentials live under /config generations. data, logs, models, and backups have their own volumes.

Is there a browser-based product UI or published localhost app port?

No. AI Dev Server is terminal-first and does not ship a browser product UI. Compose does not publish an application HTTP port. Enter with scripts/shell or scripts/tmux.

Does the container provide its own SSH service?

No. The image does not run an SSH daemon. Connect to the Docker host first, then use scripts/shell. Use tmux to retain sessions across host disconnects.

Is it open source?

Yes. The project is licensed under the MIT License.

How can I contribute?

Read CONTRIBUTING.md, keep persistence and security contracts intact, add tests for behavior changes, and open a pull request on GitHub.

Ready to build with AI?

Set up your own self-hosted AI development environment today — no account, no subscription, just Docker on a host you trust.