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>
2.7 KiB
2.7 KiB
core-images
Container images for the host-uk ecosystem. Each image produces multiple outputs:
- Docker image →
ghcr.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
Using Core CLI (recommended)
# 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:
- Docker images - Multi-arch (amd64, arm64) pushed to GHCR
- LinuxKit images - qcow2 and ISO formats for both architectures
- Release artifacts - LinuxKit images uploaded to GitHub Releases on tags
All builds use the core CLI for consistency.
Sources
Consolidated from: