Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Praia Labs Docker Sandbox Kits

This repository contains custom Docker Sandbox Kits developed by Praia Labs (GitHub).

Warning

Experimental Feature & Active Development: Docker Sandboxes (sbx) and Kits are experimental features under active development. Syntax, CLI commands, and features may change regularly.

Overview

Docker Sandbox Kits are declarative configurations used to customize and extend AI agent sandbox environments. This repository serves as a collection of custom kits tailored for various agent workflows.

To learn more about Docker Sandboxes and Kits, refer to the following official resources:

Usage

You can run sandboxes with these custom kits either by referencing the local directory path or directly via the remote Git repository URL.

Local Development / Usage

If you have cloned this repository locally, you can spin up a sandbox with a specific kit using:

sbx run --kit agents/<kit-dir> <agent-name>

For example, to run the agy (Google Antigravity CLI) kit:

sbx run --kit agents/agy agy

Remote Git Reference

Docker Sandbox supports fetching kits directly from remote Git repositories. You can reference kits in this repository using the following syntax pattern:

Important

As of sbx v0.34.0, you need to explicitly allow the kit source before using it:

sbx settings set kit.allowedSources '["docker.io/","github.com/praialabs/"]'
sbx run --kit "git+https://github.com/praialabs/sbx-kits.git#dir=agents/<kit-dir>" <agent-name>

Example:

sbx run --kit "git+https://github.com/praialabs/sbx-kits.git#dir=agents/agy" --kit "git+https://github.com/praialabs/sbx-kits.git#dir=mixins/default-allow-policies" agy

For more details on Git remote references, see the Docker Sandboxes Git Repository Documentation.

Custom Templates

This repository also contains custom templates that pre-bake additional tools into the sandbox image to avoid repetitive installation steps.

  1. Elixir, Erlang & Node.js Template: extends docker/sandbox-templates:shell-docker and pre-installs asdf, Erlang, Elixir, and Node.js. Installation via asdf lets agents not only work with Elixir, but also install other versions as needed.
  2. Google Antigravity CLI + Elixir Template: extends the Elixir base template and pre-bakes the Google Antigravity CLI (agy) into the sandbox image.

Building Templates Locally

We manage building template images using Docker Bake, which ships with Docker and automatically handles building one or more images using a declarative file, simplifying the build process into a single unified command:

docker buildx bake

You can use environment variables to override specific tool versions during the build process:

ERLANG_VERSION=latest:28 ELIXIR_VERSION=1.19-otp-28 docker buildx bake

If you want to compile a specific target individually:

# Build only the Elixir base image
docker buildx bake elixir-docker

# Build only the Antigravity CLI + Elixir image
docker buildx bake agy-elixir-docker

Once built, you can stream the images directly into the local sbx runtime image store:

docker image save praialabs/sandbox-templates:elixir-docker | sbx template load /dev/stdin
docker image save praialabs/sandbox-templates:agy-elixir-docker | sbx template load /dev/stdin

Combining Kits and Templates

To spin up the Google Antigravity CLI sandbox with Elixir, Erlang, and pre-configured network allow-policies, run:

sbx run \
  --kit "git+https://github.com/praialabs/sbx-kits.git#dir=agents/agy" \
  --kit "git+https://github.com/praialabs/sbx-kits.git#dir=mixins/default-allow-policies" \
  --template praialabs/sandbox-templates:agy-elixir-docker \
  agy

About

Custom Docker Sandboxes Kits

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages