This repository builds and manages containers used by sebaTEC. That includes devcontainers and Forgejo runners (Podman). https://www.sebatec.eu
  • Dockerfile 70.1%
  • Makefile 22.1%
  • Shell 7.8%
Find a file
Sebastian Schulz 5fbd12daa7
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
chore(python): drop default interpreter to avoid warnings when unused
2026-06-28 11:41:26 +00:00
.devcontainer fix: devcontainer build and apt setup issues 2026-06-28 09:20:40 +00:00
.forgejo/workflows build: switch registry layout to path-style namespaces 2026-06-25 20:25:35 +00:00
base docs: update READMEs across base, devcontainers, and runners 2026-06-25 23:18:04 +00:00
devcontainers chore(python): drop default interpreter to avoid warnings when unused 2026-06-28 11:41:26 +00:00
runners docs: update READMEs across base, devcontainers, and runners 2026-06-25 23:18:04 +00:00
LICENSE Initial commit 2026-06-25 14:02:45 +00:00
README.md docs: update READMEs across base, devcontainers, and runners 2026-06-25 23:18:04 +00:00

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
  1. Make your changes and commit them:
    git commit -m "Description of your changes"
    
  2. Push to your fork:
    git push origin feature-branch
    
  3. 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.