๐ ๏ธ Reusable Rust development and runtime containers with support for formatting, linting, Diesel, PostgreSQL, Redis, Protobuf, and WASM. Designed to ensure CI parity and streamlined local development across all JohnBasrai GitHub Rust projects.
โ ๏ธ Using therust-dev
container with dependencies preinstalled can reduce build times by up to 5 minutes or more vs using officalrust:1.83-slim
base image.
Container tags follow a two-track policy:
rust-dev
usesX.Y.0-revN
format, whereX.Y
matches the Rust toolchain version (e.g.,1.83.0-rev5
)rust-runtime
usesA.B.C
format aligned with downstream consumer crate versions (e.g.,0.1.3
fromcr8s-fe
)
โ Tags do not use a
v
prefix.
For full details, see CONTRIBUTING.md.
- ๐ฆ Rust toolchain (with
clippy
,rustfmt
) - ๐งช
cargo test
,cargo audit
, cargo outdated, andcargo fmt
integration - ๐๏ธ PostgreSQL cli + client libraries
- ๐ Redis support
- ๐งฌ
protoc
andprost-build
for gRPC / Protobuf workflows - ๐ WASM support via
wasm32-unknown-unknown
target - โ๏ธ Optimized for use in GitHub Actions, Docker Compose, and local dev
This project builds and publishes two containers under ghcr.io/johnbasrai/cr8s/
:
- Full-featured dev container for building, testing, and formatting
- Based on
rust:1.83-slim
- Includes Redis tools,
cargo-audit
,protobuf
, andrustfmt
- Tagged as:
ghcr.io/johnbasrai/cr8s/rust-dev:1.83.0-rev5
- Minimal runtime container
- Based on a pinned digest of
debian:bookworm-slim
- Installs only
ca-certificates
- Used to run statically linked Rust apps
- Tagged as:
ghcr.io/johnbasrai/cr8s/rust-runtime:0.1.3
# Dockerfile in cr8s/
FROM ghcr.io/johnbasrai/cr8s/rust-runtime:0.1.3
# Copy your compiled binary
COPY target/release/cr8s /usr/local/bin/cr8s
CMD ["cr8s"]