- Dockerfile 70.1%
- Makefile 22.1%
- Shell 7.8%
|
All checks were successful
Build and push images / build-and-push (map[release:stable tags:[latest 1 1.0 1.0.0]]) (push) Successful in 4m40s
Build and push images / build-and-push (map[release:testing tags:[latest 1 1.0 1.0.0]]) (push) Successful in 5m13s
Build and push images / build-and-push-runners (map[release:stable tags:[latest 1 1.0 1.0.0]]) (push) Successful in 49s
Build and push images / build-and-push-runners (map[release:testing tags:[latest 1 1.0 1.0.0]]) (push) Successful in 49s
Build and push images / build-and-push-devcontainer-minimal (push) Successful in 2m57s
Build and push images / build-and-push-devcontainer-standard (push) Successful in 4m49s
Build and push images / build-and-push-devcontainer-variants (hugo) (push) Successful in 5m5s
Build and push images / build-and-push-devcontainer-variants (pandoc) (push) Successful in 3m49s
|
||
|---|---|---|
| .devcontainer | ||
| .forgejo/workflows | ||
| base | ||
| devcontainers | ||
| runners | ||
| LICENSE | ||
| README.md | ||
sebatec-containers
Container images for sebaTEC infrastructure, including development environments and Forgejo Actions runners.
Overview
This repository provides three categories of container images:
- Base images — Minimal Debian rootfs with essential development tools (Go, Python, Node.js, Git, compiler toolchain)
- Devcontainers — Rich development environments for VS Code with language-specific features and extensions
- Runners — Container images for Forgejo Actions CI/CD pipelines
All images are published to forge.sebatec.eu/sebatec-eu/.
What's Included
Base Images
Available in two variants:
| Variant | Base OS | Published as |
|---|---|---|
stable |
Debian Stable | forge.sebatec.eu/sebatec-eu/base/stable |
testing |
Debian Testing | forge.sebatec.eu/sebatec-eu/base/testing |
Preinstalled Software:
| Category | Tools |
|---|---|
| Runtimes | Go, Node.js LTS, Python 3 |
| Version control | Git, Git LFS |
| Compilers | GCC, G++ |
| Build tools | make, pkg-config, binutils, libc6-dev |
| Utilities | curl, wget, rsync, jq, tar, zip, unzip, bzip2, gzip, xz-utils, sqlite3, inotify-tools |
| Security | ca-certificates, gnupg2, openssh-client |
| Package managers | pipx, npm (via Node.js) |
Note
Node.js is pinned to the latest LTS release at build time, resolved via the endoflife.date API and verified against official Node.js release keys.
Devcontainers
Development environments for VS Code built on top of base images. Each includes relevant extensions and settings.
| Image | Base | Purpose |
|---|---|---|
minimal |
base/testing |
Essential tools only: Git, common utilities, language-agnostic VS Code extensions |
standard |
minimal |
Go and Python support with IDE integrations |
hugo |
standard |
Static site generation (Hugo extended, Caddy, aspell) |
pandoc |
standard |
Document conversion (pandoc, texlive) |
Forgejo Actions Runners
CI/CD container images for sebaTEC Forge. Runners ship the same toolchain as base images.
| Variant | Base OS | Published as |
|---|---|---|
stable |
Debian Stable | forge.sebatec.eu/sebatec-eu/runners/stable |
testing |
Debian Testing | forge.sebatec.eu/sebatec-eu/runners/testing |
Use labels directly in your workflow's runs-on: field.
Quick Start
Build all images
make -C base build-stable
make -C base build-testing
make -C runners build
make -C devcontainers build
Push to registry
# Requires: podman login forge.sebatec.eu
make -C base push-stable
make -C base push-testing
make -C runners push
make -C devcontainers push
Build/push individual images
# Build a single devcontainer
make -C devcontainers build-standard
# Push a single devcontainer
make -C devcontainers push-standard
Project Structure
├── base/ # Base OS images (mkosi + Docker)
│ ├── Dockerfile # Development toolchain
│ └── mkosi.conf # Minimal Debian rootfs
├── devcontainers/ # VS Code development environments
│ ├── minimal/
│ ├── standard/
│ ├── hugo/
│ └── pandoc/
└── runners/ # Forgejo Actions runners
For detailed instructions, see the README in each subdirectory.
Requirements
- Podman or Docker (for building and pushing)
- Node.js and npm (for devcontainer builds via
@devcontainers/cli) - mkosi (for base image builds)
Environment Setup
For local registry access:
podman login forge.sebatec.eu
- Make your changes and commit them:
git commit -m "Description of your changes" - Push to your fork:
git push origin feature-branch - Create a pull request.
Guidelines
- Follow the existing code style.
- Write clear and concise commit messages.
- Ensure your changes do not break existing functionality.
- Update documentation as needed.
License
This project is licensed under the MIT License.