{"id":27710453,"url":"https://github.com/nalgeon/sandboxes","last_synced_at":"2025-06-17T11:13:08.763Z","repository":{"id":287773649,"uuid":"965195371","full_name":"nalgeon/sandboxes","owner":"nalgeon","description":"Sandboxes for running code and tools","archived":false,"fork":false,"pushed_at":"2025-06-08T17:43:36.000Z","size":123,"stargazers_count":83,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-12T12:54:32.630Z","etag":null,"topics":["codapi","code-sandbox","sandbox"],"latest_commit_sha":null,"homepage":"https://codapi.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nalgeon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-12T16:13:32.000Z","updated_at":"2025-06-09T12:35:55.000Z","dependencies_parsed_at":"2025-04-13T21:26:33.644Z","dependency_job_id":"2e2763f4-e3b9-4388-90a5-691aa4e0c088","html_url":"https://github.com/nalgeon/sandboxes","commit_stats":null,"previous_names":["nalgeon/sandboxes"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nalgeon/sandboxes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nalgeon%2Fsandboxes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nalgeon%2Fsandboxes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nalgeon%2Fsandboxes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nalgeon%2Fsandboxes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nalgeon","download_url":"https://codeload.github.com/nalgeon/sandboxes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nalgeon%2Fsandboxes/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260347083,"owners_count":22995161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codapi","code-sandbox","sandbox"],"created_at":"2025-04-26T16:03:04.799Z","updated_at":"2025-06-17T11:13:03.754Z","avatar_url":"https://github.com/nalgeon.png","language":"Shell","readme":"# Sandboxes\n\nThis repository contains sandboxes for [Codapi](https://github.com/nalgeon/codapi), a tool for trying programming languages, databases and other software in an isolated environment.\n\nTo use a particular sandbox:\n\n1. [Install Codapi](https://github.com/nalgeon/codapi#installation)\n2. Add a sandbox by its name with `./codapi-cli sandbox add \u003cname\u003e`, e.g:\n\n```sh\n./codapi-cli sandbox add lua\n./codapi-cli sandbox add go\n./codapi-cli sandbox add mariadb\n```\n\n3. Restart the Codapi server.\n\nSee the available sandboxes below, or [try them out](https://codapi.org/#sandboxes).\n\n## What is a sandbox\n\nSandbox = image + box + commands:\n\n-   _Image_ as a Docker image containing specific software, like a compiler or a database engine.\n-   _Box_ is a configuration for running a container: cpu and memory restrictions, file systems, etc.\n-   _Commands_ are predefined actions you can run in a container.\n\nYou can use sandboxes from this repository or [create your own](https://github.com/nalgeon/codapi/blob/main/docs/add-sandbox.md).\n\n## Programming languages\n\n| Name         | Sandbox                            |\n| ------------ | ---------------------------------- |\n| `shell`      | [Bash/Zsh](sandboxes/shell)        |\n| `gcc`        | [C](sandboxes/gcc)                 |\n| `dotnet`     | [C#](sandboxes/dotnet/)            |\n| `cpp`        | [C++](sandboxes/cpp)               |\n| `elixir`     | [Elixir](sandboxes/elixir)         |\n| `go`         | [Go](sandboxes/go)                 |\n| `java`       | [Java](sandboxes/java)             |\n| `typescript` | [JavaScript](sandboxes/typescript) |\n| `kotlin`     | [Kotlin](sandboxes/kotlin)         |\n| `lua`        | [Lua](sandboxes/lua)               |\n| `odin`       | [Odin](sandboxes/odin)             |\n| `php`        | [PHP](sandboxes/php)               |\n| `python`     | [Python](sandboxes/python)         |\n| `rlang`      | [R](sandboxes/rlang)               |\n| `raku`       | [Raku](sandboxes/raku)             |\n| `ruby`       | [Ruby](sandboxes/ruby)             |\n| `rust`       | [Rust](sandboxes/rust)             |\n| `typescript` | [TypeScript](sandboxes/typescript) |\n| `vlang`      | [V](sandboxes/vlang)               |\n| `zig`        | [Zig](sandboxes/zig)               |\n\n## Databases\n\nClient-server databases like MySQL typically use two images: a server and a client:\n\n-   The server container is started when you add a sandbox using `codapi-cli`.\n-   The client container is created by the Codapi server on each request.\n\n| Name         | Sandbox                            |\n| ------------ | ---------------------------------- |\n| `chdb`       | [chDB](sandboxes/chdb)             |\n| `clickhouse` | [ClickHouse](sandboxes/clickhouse) |\n| `duckdb`     | [DuckDB](sandboxes/duckdb)         |\n| `mariadb`    | [MariaDB](sandboxes/mariadb)       |\n| `mongodb`    | [MongoDB](sandboxes/mongodb)       |\n| `mysql`      | [MySQL](sandboxes/mysql)           |\n| `postgres`   | [PostgreSQL](sandboxes/postgres)   |\n| `mssql`      | [SQL Server](sandboxes/mssql)      |\n| `sqlite`     | [SQLite](sandboxes/sqlite)         |\n\n## Network \u0026 tools\n\n| Name        | Sandbox                              |\n| ----------- | ------------------------------------ |\n| `caddy`     | [Caddy](sandboxes/caddy)             |\n| `net-tools` | [Network tools](sandboxes/net-tools) |\n\n## Contributing\n\nContributions are welcome. For anything other than bugfixes, please first open an issue to discuss what you want to change.\n\n## Support\n\nCodapi is mostly a [one-man](https://antonz.org/) project, not backed by a VC fund or anything.\n\nIf you find Codapi useful, please star it on GitHub and spread the word among your peers. It really helps to move the project forward.\n\n★ [Subscribe](https://antonz.org/subscribe/) to stay on top of new features.\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnalgeon%2Fsandboxes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnalgeon%2Fsandboxes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnalgeon%2Fsandboxes/lists"}