clorhq/containers

0

stars

82

commits

Shell

primary language

Sep 8, 2026

updated

README

software-development images

Open container images for software development.

Every downloaded tool, including Clor, is pinned to an explicit version and overridable at build time. Images are built for linux/amd64 and linux/arm64 and published to ghcr.io/clorhq.

Images

ImageToolchainIncludes
software-development-baseNode, Bun, Deno, Go, Python/uvClor, Claude, Codex, code-server, Playwright, gh/gh-dash, lazygit, Yazi, Neovim, API/network clients, quality/security scanners, logs/data/content tools
software-development-rustrustup Rustclippy, rustfmt, rust-src, rust-analyzer, cargo-nextest, cargo-watch, cargo-edit, cargo-audit
software-development-goGo (from base)gopls, delve, golangci-lint
software-development-typescriptNode, Bun, Denoeslint, prettier, tailwindcss
software-development-pythonuv-managed CPythonruff, mypy, pyright, poetry, ipython
software-development-zigZigzls
software-development-rubyRubybundler, rubocop, solargraph
software-development-dataBase image with pinned CPythonJupyterLab, Marimo, Harlequin, pandas, Polars, PyArrow, DuckDB
software-development-devopsBase imageWeb/cloud deployment CLIs, Kubernetes, IaC, signing, and registry tools

Each language image is FROM software-development-base, so the agents, OS tooling, and the base toolchains are present in every image. The language images override the managed entrypoint with an unprivileged Bash default, making them suitable as custom space images.

The Data and DevOps images are intentionally pull-on-demand variants. Their services and terminal helpers only open local interactive interfaces: image startup never authenticates to a provider, selects a deployment target, or changes external infrastructure. Provider credentials remain runtime state, supplied interactively or through Clor secrets.

Base image tools

software-development-base includes the practical tools below. Exact versions are pinned in images/base/Dockerfile.

Local development services

PostgreSQL, MariaDB (available under the mysql service name), and Redis are preconfigured for local development. They bind only to loopback, use passwordless development authentication, and do not start with the space.

sv start postgres
sv start mysql
sv start redis

sv status postgres mysql redis
sv stop postgres mysql redis

The first start initializes each database. PostgreSQL creates the user superuser, MariaDB creates a passwordless local root account, and Redis does not require a password. These defaults are for development inside a space, not for publicly reachable or production databases.

The services follow the XDG base-directory layout:

ContentLocation
runit service definitions~/.config/runit/services
Server configuration~/.config/postgresql, ~/.config/mysql, ~/.config/redis
Database data~/.local/share/postgresql, ~/.local/share/mysql, ~/.local/share/redis
Rotated logs~/.local/state/<service>/log
Sockets and PID files$XDG_RUNTIME_DIR/<service>

Edit the native server config and restart the corresponding service to change ports, authentication, persistence, or network exposure. To reset a database, stop its service and remove only that service's directory under ~/.local/share; its next start initializes a fresh database.

Contributors

Jacob2161

43 commits

clor-cli

19 commits

clorhq/containers

0

stars

82

commits

Shell

primary language

Sep 8, 2026

updated

README

software-development images

Open container images for software development.

Every downloaded tool, including Clor, is pinned to an explicit version and overridable at build time. Images are built for linux/amd64 and linux/arm64 and published to ghcr.io/clorhq.

Images

ImageToolchainIncludes
software-development-baseNode, Bun, Deno, Go, Python/uvClor, Claude, Codex, code-server, Playwright, gh/gh-dash, lazygit, Yazi, Neovim, API/network clients, quality/security scanners, logs/data/content tools
software-development-rustrustup Rustclippy, rustfmt, rust-src, rust-analyzer, cargo-nextest, cargo-watch, cargo-edit, cargo-audit
software-development-goGo (from base)gopls, delve, golangci-lint
software-development-typescriptNode, Bun, Denoeslint, prettier, tailwindcss
software-development-pythonuv-managed CPythonruff, mypy, pyright, poetry, ipython
software-development-zigZigzls
software-development-rubyRubybundler, rubocop, solargraph
software-development-dataBase image with pinned CPythonJupyterLab, Marimo, Harlequin, pandas, Polars, PyArrow, DuckDB
software-development-devopsBase imageWeb/cloud deployment CLIs, Kubernetes, IaC, signing, and registry tools

Each language image is FROM software-development-base, so the agents, OS tooling, and the base toolchains are present in every image. The language images override the managed entrypoint with an unprivileged Bash default, making them suitable as custom space images.

The Data and DevOps images are intentionally pull-on-demand variants. Their services and terminal helpers only open local interactive interfaces: image startup never authenticates to a provider, selects a deployment target, or changes external infrastructure. Provider credentials remain runtime state, supplied interactively or through Clor secrets.

Base image tools

software-development-base includes the practical tools below. Exact versions are pinned in images/base/Dockerfile.

Local development services

PostgreSQL, MariaDB (available under the mysql service name), and Redis are preconfigured for local development. They bind only to loopback, use passwordless development authentication, and do not start with the space.

sv start postgres
sv start mysql
sv start redis

sv status postgres mysql redis
sv stop postgres mysql redis

The first start initializes each database. PostgreSQL creates the user superuser, MariaDB creates a passwordless local root account, and Redis does not require a password. These defaults are for development inside a space, not for publicly reachable or production databases.

The services follow the XDG base-directory layout:

ContentLocation
runit service definitions~/.config/runit/services
Server configuration~/.config/postgresql, ~/.config/mysql, ~/.config/redis
Database data~/.local/share/postgresql, ~/.local/share/mysql, ~/.local/share/redis
Rotated logs~/.local/state/<service>/log
Sockets and PID files$XDG_RUNTIME_DIR/<service>

Edit the native server config and restart the corresponding service to change ports, authentication, persistence, or network exposure. To reset a database, stop its service and remove only that service's directory under ~/.local/share; its next start initializes a fresh database.

Contributors

Jacob2161

43 commits

clor-cli

19 commits

Languages

Shell

53.7%

Dockerfile

30.2%

JavaScript

13.6%

Python

2.2%