No description
Find a file
Snider bd10a3f377 fix(server-php): add minimal product placeholder for base image
The Dockerfile requires product/ directory for the builder stage.
For the base image, this is a minimal placeholder that returns JSON.
Applications should mount their own code at /var/www/html.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:54:26 +00:00
.github/workflows feat: dual-registry publishing (GHCR + Docker Hub) 2026-01-31 23:18:16 +00:00
developer fix: add missing server-php configs, fix developer git-delta 2026-01-31 23:51:48 +00:00
linuxkit feat: add LinuxKit image builds using core CLI 2026-01-28 22:23:22 +00:00
server-php fix(server-php): add minimal product placeholder for base image 2026-01-31 23:54:26 +00:00
.coderabbit.yaml chore: add CodeRabbit configuration 2026-01-31 21:41:26 +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: