Skip to content

Ax

Deploy agents to your own server.

Ax turns a uv Python project into a running service on a host you control. Login to the runner, initialize the app, and deploy from the project directory.

Quickstart
Your server uv projects One CLI

Problem

The agent works locally. The platform path is too heavy.

Teams often get a useful Python agent, worker API, or internal service running before they have a simple place to host it. The next step becomes tickets, platform glue, routing, auth, and container boilerplate.

Ax gives that first deploy layer a narrow shape: one runner, one reverse proxy, one CLI, and a base hostname or IP you own.

Workflow

A direct loop from repo to running service.

$ docker compose -f infra/docker-compose.yml up --build

Bootstrap

Run the platform on a host you control

Start the Ax stack with Docker Compose, Caddy, and a runner token tied to your platform domain.

$ ax login apps.example.com

Login

Connect the CLI to that stack

Use the same base domain on the server and your laptop, then authenticate once with the runner token.

$ ax init && ax deploy

Deploy

Ship from the uv project directory

Initialize app metadata, push the project to the runner, build it, and start it as a container.

What It Handles

Built for small production agents and APIs.

CLI deploys

Login once, run ax init, then deploy from the project directory.

uv builds

The runner builds Python projects with uv sync --frozen and starts them with uv.

App routing

Caddy routes platform health checks, runner API calls, and app traffic from your hostname or IP.

Operator controls

Inspect processes, read logs, restart apps, stop services, and remove deployments from the same CLI.

Stack

Small pieces you can inspect and run yourself.

uv Python projects
Docker runtime
Caddy routing
Your domain or IP

Deploy Targets

Use Ax for the services agents need around them.

  • Agents
  • Internal APIs
  • Worker tools
  • Small services

Install

Start with the Ax repo and a uv Python project.

Run the platform, install the editable CLI with uv tool install -e ./cli, then login and deploy from your app directory.