No description
Find a file
Snider 91f8aac50f feat: add LinuxKit image builds using core CLI
Add LinuxKit configurations for developer and server-php images:
- developer/linuxkit.yml: Full dev environment with Docker-in-LinuxKit
- server-php/linuxkit.yml: Nginx + PHP-FPM production server

Update CI workflow to build LinuxKit images using `core build --type linuxkit`
instead of raw linuxkit CLI commands for consistency across the ecosystem.

Builds produce qcow2 and ISO formats for both amd64 and arm64 architectures.
Release artifacts are uploaded to GitHub Releases on version tags.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:23:22 +00:00
.github/workflows feat: add LinuxKit image builds using core CLI 2026-01-28 22:23:22 +00:00
developer feat: add LinuxKit image builds using core CLI 2026-01-28 22:23:22 +00:00
linuxkit feat: add LinuxKit image builds using core CLI 2026-01-28 22:23:22 +00:00
server-php feat: add LinuxKit image builds using core CLI 2026-01-28 22:23:22 +00:00
.gitignore feat: initial core-images repository 2026-01-28 17:27:17 +00:00
README.md feat: add LinuxKit image builds using core CLI 2026-01-28 22:23:22 +00:00
Taskfile.yaml feat: initial core-images repository 2026-01-28 17:27:17 +00:00

core-images

Container images for the host-uk ecosystem. Each image produces multiple outputs:

  • Docker imageghcr.io/host-uk/<name>
  • LinuxKit image<name>-<arch>.qcow2 / <name>-<arch>.iso
  • TIM bundle<name>-<os>-<arch>.tim (future)

Images

Image Purpose Docker LinuxKit
developer Full-fat dev environment (100+ tools) ghcr.io/host-uk/core-dev core-dev-amd64.qcow2
server-php Alpine + Nginx + PHP-FPM ghcr.io/host-uk/server-php server-php-amd64.qcow2

Usage

Docker

# Developer environment
docker run -it ghcr.io/host-uk/core-dev

# PHP server
docker run -p 80:80 ghcr.io/host-uk/server-php

LinuxKit (via Core CLI)

# Build LinuxKit image
core build --type linuxkit --config developer/linuxkit.yml

# Run LinuxKit image
core run core-dev-amd64.qcow2

# Run with custom resources
core run core-dev-amd64.qcow2 --memory 4096 --cpus 4

TIM (future, Docker-free)

# Install dev environment
core dev install

# Run directly
core run core-dev.tim

# Run PHP server
core run server-php.tim -p 80:80

Building Locally

# Install core CLI
go install github.com/host-uk/core/cmd/core@latest

# Build LinuxKit images
core build --type linuxkit --config developer/linuxkit.yml --format qcow2-bios
core build --type linuxkit --config server-php/linuxkit.yml --format qcow2-bios

# Build Docker images
core build --type docker --config developer/Dockerfile
core build --type docker --config server-php/Dockerfile

Using Task

# Requires: task (taskfile.dev)

# Build all
task build

# Build specific image
task build:developer
task build:server-php

Structure

core-images/
├── developer/           # core-dev - Full dev environment
│   ├── Dockerfile       # Docker build
│   ├── linuxkit.yml     # LinuxKit build
│   ├── Borgfile         # TIM build (future)
│   └── config/
├── server-php/          # server-php - Nginx + PHP-FPM
│   ├── Dockerfile
│   ├── linuxkit.yml
│   ├── Borgfile
│   └── config/
└── linuxkit/            # LinuxKit documentation
    └── README.md

CI/CD

The GitHub Actions workflow builds:

  1. Docker images - Multi-arch (amd64, arm64) pushed to GHCR
  2. LinuxKit images - qcow2 and ISO formats for both architectures
  3. Release artifacts - LinuxKit images uploaded to GitHub Releases on tags

All builds use the core CLI for consistency.

Sources

Consolidated from: