- Dockerfile 77.6%
- Makefile 20.9%
- Shell 1.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
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 3m32s
Build and push images / build-and-push (map[release:testing tags:[latest 1 1.0 1.0.0]]) (push) Successful in 4m30s
Build and push images / build-and-push-runners (map[release:stable tags:[latest 1 1.0 1.0.0]]) (push) Successful in 53s
Build and push images / build-and-push-runners (map[release:testing tags:[latest 1 1.0 1.0.0]]) (push) Successful in 1m14s
Build and push images / build-and-push-toolbox-minimal (push) Successful in 1m10s
Build and push images / build-and-push-toolbox-standard (push) Successful in 2m23s
Build and push images / build-and-push-toolbox-pandoc (push) Successful in 3m40s
Build and push images / build-and-push-devcontainer-minimal (push) Successful in 3m23s
Build and push images / build-and-push-toolbox-experiment (push) Successful in 4m29s
Build and push images / build-and-push-devcontainer-standard (push) Successful in 5m53s
Build and push images / build-and-push-devcontainer-pandoc (push) Successful in 4m28s
Build and push images / build-and-push-devcontainer-hugo (push) Successful in 6m15s
|
||
| .devcontainer | ||
| .forgejo/workflows | ||
| base | ||
| devcontainers | ||
| runners | ||
| toolbox | ||
| LICENSE | ||
| README.md | ||
sebatec-containers
Container images for sebaTEC infrastructure, including development environments and Forgejo Actions runners.
Overview
This repository provides four categories of container images:
- Base images — Minimal Debian rootfs with essential development tools (Go, Python, Node.js, Git, compiler toolchain)
- Toolbox — VSCode-free images carrying tool installations (e.g.
fgj,pandoc+texlive), suitable fordocker runor CI jobs beyond Forgejo - 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 toolbox/* 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 |
toolbox/standard |
Go and Python support with IDE integrations |
hugo |
devcontainers/standard |
Static site generation (Hugo extended, Caddy, aspell) |
pandoc |
toolbox/pandoc |
Document conversion (pandoc, texlive) |
Toolbox
VSCode-free images with tool installations, layered on top of base images. Suitable for docker run or CI jobs that need specific tools without an IDE.
| Image | Base | Contents |
|---|---|---|
toolbox/minimal |
base/testing |
(chain anchor; no extra tools) |
toolbox/standard |
toolbox/minimal |
fgj |
toolbox/pandoc |
toolbox/standard |
pandoc, texlive |
Note
toolbox/*images intentionally run asroot. They contain novscodeuser, no VSCode extensions, and nodevcontainer.jsonglue. If you need an IDE-integrated environment, use the correspondingdevcontainers/*image instead.
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 toolbox build
make -C runners build
make -C devcontainers build
Build order matters: toolbox/* depends on base/testing, and devcontainers/* depends on toolbox/*. Build base first, then toolbox, then devcontainers.
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 toolbox image
make -C toolbox build-standard
# 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
├── toolbox/ # VSCode-free tool images (podman build)
│ ├── minimal/
│ ├── standard/
│ └── pandoc/
├── 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.