Sandboxes

March 26, 2026 · View on GitHub

This repository contains sandboxes for Codapi, a tool for trying programming languages, databases and other software in an isolated environment.

To use a particular sandbox:

  1. Install Codapi
  2. Add a sandbox by its name with ./codapi-cli sandbox add <name>, e.g:
./codapi-cli sandbox add lua
./codapi-cli sandbox add go
./codapi-cli sandbox add mariadb
  1. Restart the Codapi server.

See the available sandboxes below, or try them out.

What is a sandbox

Sandbox = image + box + commands:

  • Image as a Docker image containing specific software, like a compiler or a database engine.
  • Box is a configuration for running a container: cpu and memory restrictions, file systems, etc.
  • Commands are predefined actions you can run in a container.

You can use sandboxes from this repository or create your own.

Programming languages

NameSandbox
shellBash/Zsh
gccC
dotnetC#
cppC++
c3C3
elixirElixir
dartDart
goGo
hareHare
haskellHaskell
javaJava
typescriptJavaScript
kotlinKotlin
luaLua
odinOdin
phpPHP
prologProlog
pythonPython
rlangR
rakuRaku
rubyRuby
rustRust
soSolod
swiftSwift
typescriptTypeScript
vlangV
zigZig

Databases

Client-server databases like MySQL typically use two images: a server and a client:

  • The server container is started when you add a sandbox using codapi-cli.
  • The client container is created by the Codapi server on each request.
NameSandbox
chdbchDB
clickhouseClickHouse
duckdbDuckDB
mariadbMariaDB
mongodbMongoDB
mssqlSQL Server
mysqlMySQL
postgresPostgreSQL
redisRedis
redkaRedka
sqliteSQLite

Network & tools

NameSandbox
caddyCaddy
httpHTTPBin
latexLaTeX by Patricio Díaz
net-toolsNetwork tools

Contributing

Contributions are welcome. For anything other than bugfixes, please first open an issue to discuss what you want to change.

Support

Codapi is mostly a one-man project, not backed by a VC fund or anything.

If you find Codapi useful, please star it on GitHub and spread the word among your peers. It really helps to move the project forward.

Subscribe to stay on top of new features.