This repository contains Dockerfiles for building Coder workspace images across two distributions: Ubuntu 24.04 and UBI 9.6.
All images are built in layers:
- Base Images (
coder-base-*) - Minimal foundation with essential tools - Specialized Images - Built on top of base images with specific tooling
Built on coder-datasci-python-* which includes Python, Jupyter, pandas, numpy, scipy, matplotlib, seaborn, plotly, polars.
- Python 3.12+ with pip
- Jupyter Lab & Notebook
- Core data science libraries: numpy, pandas, scipy, matplotlib, seaborn, plotly, polars, pyarrow
- Everything from datasci-python
- PyTorch, torchvision, torchaudio (CPU)
- Transformers, accelerate, datasets, tokenizers
- HuggingFace Hub
- TensorBoard, torchmetrics, lightning
- Everything from datasci-python
- TensorFlow & Keras
- TensorBoard
- TensorFlow Datasets
- Keras Tuner
- Everything from datasci-python
- Classical ML: scikit-learn, XGBoost, LightGBM, CatBoost
- Hyperparameter tuning: Optuna
- Experiment tracking: MLflow, Weights & Biases
- Model interpretation: SHAP, eli5
Built on coder-base-* images.
- Node.js 22 LTS
- npm, pnpm, yarn
- TypeScript, ts-node
- ESLint, Prettier
- Go 1.23
- gopls (language server)
- Delve (debugger)
- staticcheck, goimports
- Rust stable (via rustup)
- rust-analyzer, rustfmt, clippy
- cargo-watch, cargo-edit, cargo-outdated
- Java 21 LTS (OpenJDK)
- Maven
- Gradle 8.11
- GCC and G++
- Clang and LLVM tools
- CMake, Ninja build
- GDB and LLDB debuggers
- Valgrind, ccache
- clangd (language server)
- clang-format, clang-tidy
- Python 3.12
- pip, setuptools, wheel
- Code quality: black, flake8, pylint, mypy
- Testing: pytest, pytest-cov
- Development: ipython, python-lsp-server
- Common libraries: requests
Built on coder-base-* images for DevSecOps, SRE, and SysAdmin workflows.
A complete DevOps/SRE toolkit combining all essential infrastructure tools:
- Cloud CLIs: AWS CLI (v2), Google Cloud CLI (gcloud), Azure CLI
- Kubernetes: kubectl, Helm, k9s, kubectx/kubens, kustomize, stern
- Infrastructure as Code: Terraform, OpenTofu, Terragrunt, tflint, tfsec
- Version Control: GitHub CLI (gh)
- Python Tools: aws-shell, boto3
- Standard CLI Tools: vim, nano, less, jq, and more
Note: OpenShift CLI tools (oc, openshift-install) temporarily disabled due to build issues.
Images are published to GitHub Container Registry and follow the pattern: ghcr.io/ausbru87/coder-<category>-<tool>-<distro>:<version>
Examples:
ghcr.io/ausbru87/coder-datasci-python-ubuntu:24.04ghcr.io/ausbru87/coder-dev-go-ubi9:9.6ghcr.io/ausbru87/coder-infra-k8s-ubuntu:24.04
All images also have a :latest tag pointing to the most recent build.
Images are automatically built and pushed to GitHub Container Registry via GitHub Actions when changes are pushed to the main branch.
To build individual images locally:
cd datasci/python
docker build -f ubuntu.Dockerfile -t ghcr.io/ausbru87/coder-datasci-python-ubuntu:24.04 .Pull images from GitHub Container Registry:
docker pull ghcr.io/ausbru87/coder-datasci-python-ubuntu:latest- Debian-based, uses apt package manager
- Python 3.12
- Most widely supported for third-party software
- Best for general development workloads
- Enterprise-focused, RPM-based
- Python 3.12
- Suitable for environments requiring RHEL compatibility
- Best for enterprise deployments and Red Hat ecosystems
All images run as user coder (UID 1000) with passwordless sudo access.
Images are automatically built and published using GitHub Actions:
- Build Workflow: Triggered on pushes to
mainbranch or manually via workflow dispatch - Test Workflow: Validates image functionality on pull requests
- Registry: All images are published to GitHub Container Registry (ghcr.io)
These images are built using open-source tools and base images. Please refer to individual tool licenses for usage terms.