2026-01-28 17:27:17 +00:00
|
|
|
# core-images
|
|
|
|
|
|
2026-01-28 22:23:22 +00:00
|
|
|
Container images for the host-uk ecosystem. Each image produces multiple outputs:
|
2026-01-28 17:27:17 +00:00
|
|
|
- **Docker image** → `ghcr.io/host-uk/<name>`
|
2026-01-28 22:23:22 +00:00
|
|
|
- **LinuxKit image** → `<name>-<arch>.qcow2` / `<name>-<arch>.iso`
|
|
|
|
|
- **TIM bundle** → `<name>-<os>-<arch>.tim` (future)
|
2026-01-28 17:27:17 +00:00
|
|
|
|
|
|
|
|
## Images
|
|
|
|
|
|
2026-01-28 22:23:22 +00:00
|
|
|
| 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` |
|
2026-01-28 17:27:17 +00:00
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
|
|
### Docker
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Developer environment
|
|
|
|
|
docker run -it ghcr.io/host-uk/core-dev
|
|
|
|
|
|
|
|
|
|
# PHP server
|
|
|
|
|
docker run -p 80:80 ghcr.io/host-uk/server-php
|
|
|
|
|
```
|
|
|
|
|
|
2026-01-28 22:23:22 +00:00
|
|
|
### LinuxKit (via Core CLI)
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# 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)
|
2026-01-28 17:27:17 +00:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Install dev environment
|
|
|
|
|
core dev install
|
|
|
|
|
|
2026-01-28 22:23:22 +00:00
|
|
|
# Run directly
|
2026-01-28 17:27:17 +00:00
|
|
|
core run core-dev.tim
|
|
|
|
|
|
|
|
|
|
# Run PHP server
|
|
|
|
|
core run server-php.tim -p 80:80
|
|
|
|
|
```
|
|
|
|
|
|
2026-01-28 22:23:22 +00:00
|
|
|
## Building Locally
|
|
|
|
|
|
|
|
|
|
### Using Core CLI (recommended)
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# 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
|
2026-01-28 17:27:17 +00:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Requires: task (taskfile.dev)
|
|
|
|
|
|
|
|
|
|
# Build all
|
|
|
|
|
task build
|
|
|
|
|
|
|
|
|
|
# Build specific image
|
|
|
|
|
task build:developer
|
|
|
|
|
task build:server-php
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Structure
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
core-images/
|
2026-01-28 22:23:22 +00:00
|
|
|
├── developer/ # core-dev - Full dev environment
|
|
|
|
|
│ ├── Dockerfile # Docker build
|
|
|
|
|
│ ├── linuxkit.yml # LinuxKit build
|
|
|
|
|
│ ├── Borgfile # TIM build (future)
|
2026-01-28 17:27:17 +00:00
|
|
|
│ └── config/
|
2026-01-28 22:23:22 +00:00
|
|
|
├── server-php/ # server-php - Nginx + PHP-FPM
|
2026-01-28 17:27:17 +00:00
|
|
|
│ ├── Dockerfile
|
2026-01-28 22:23:22 +00:00
|
|
|
│ ├── linuxkit.yml
|
2026-01-28 17:27:17 +00:00
|
|
|
│ ├── Borgfile
|
|
|
|
|
│ └── config/
|
2026-01-28 22:23:22 +00:00
|
|
|
└── linuxkit/ # LinuxKit documentation
|
|
|
|
|
└── README.md
|
2026-01-28 17:27:17 +00:00
|
|
|
```
|
|
|
|
|
|
2026-01-28 22:23:22 +00:00
|
|
|
## 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.
|
|
|
|
|
|
2026-01-28 17:27:17 +00:00
|
|
|
## Sources
|
|
|
|
|
|
|
|
|
|
Consolidated from:
|
|
|
|
|
- [docker-developer](https://github.com/host-uk/docker-developer)
|
|
|
|
|
- [docker-server-php](https://github.com/host-uk/docker-server-php)
|