Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Pratyay360/podman-ts/llms.txt

Use this file to discover all available pages before exploring further.

podman-ts provides TypeScript/Bun bindings for the Podman RESTful API (libpod). It gives you a type-safe, high-level interface for managing the full lifecycle of containers, images, pods, networks, volumes, secrets, manifests, quadlets, and OCI artifacts — all from TypeScript.

Quickstart

Get a container running in under 5 minutes with a working code example.

Installation

Install via npm, bun, or JSR and configure for your runtime.

PodmanClient

Learn how the top-level client works and how to configure connections.

API Reference

Full reference for every class, method, and type exported by podman-ts.

What you can do with podman-ts

podman-ts wraps the Podman libpod HTTP API with resource managers that mirror how you think about containers — not raw HTTP verbs. Each resource (containers, images, pods, etc.) has a dedicated manager accessible from the top-level PodmanClient.

Containers

List, create, start, stop, run, stream logs, and exec into containers.

Images

Pull, push, build, search, tag, and inspect container images.

Pods

Create and manage Podman pods that group containers together.

Networks

Create and manage container networks with DNS and IPv6 support.

Volumes

Manage persistent storage volumes attached to containers and pods.

Secrets

Store and inject sensitive data securely into containers.

Get started in 3 steps

1

Install the package

Add podman-ts to your project using your preferred package manager.
npm install @pratyay360/podman-ts
2

Create a client

Import PodmanClient and connect to your local Podman socket. No configuration is needed for a default local install.
import { PodmanClient } from "@pratyay360/podman-ts";

const client = new PodmanClient();
3

Manage your containers

Use the resource managers to list, create, and control containers.
const containers = await client.containers.list({ all: true });
for (const container of containers) {
  console.log(`${container.id} - ${container.name} (${container.status})`);
}
podman-ts uses Bun-native APIs (Bun.spawn, Unix-socket fetch). The primary runtime is Bun ≥ 1.0. Node.js ≥ 20 is supported for tooling compatibility, but execution is intended under Bun.

Build docs developers (and LLMs) love