Consolidated container image definitions for the host-uk ecosystem, producing both Docker images and TIM bundles from a single source. Images: - developer: Full-fat dev environment with Claude Code CLI, PHP 8.4, Node.js, Go, Python, and 100+ tools (ghcr.io/host-uk/core-dev) - server-php: Production Alpine + Nginx + PHP-FPM with multi-stage builds for dev/prod targets (ghcr.io/host-uk/server-php) Includes: - Taskfile for local builds (docker + tim) - GitHub Actions workflow for multi-arch builds - Borgfiles for future TIM bundle generation Consolidates docker-developer and docker-server-php repositories. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
44 lines
1.6 KiB
Text
44 lines
1.6 KiB
Text
# Borgfile for server-php TIM bundle
|
|
# This will be processed by: core build --borgfile -o server-php.tim
|
|
|
|
# Base from Alpine
|
|
FROM alpine:3.22
|
|
|
|
# ============================================================
|
|
# PHP Runtime (FrankenPHP or PHP-FPM)
|
|
# ============================================================
|
|
ADD https://github.com/dunglas/frankenphp/releases/latest/download/frankenphp-linux-${ARCH} /usr/local/bin/frankenphp
|
|
|
|
# Or traditional PHP-FPM setup
|
|
# ADD php${PHP_VERSION} /usr/bin/php
|
|
# ADD php${PHP_VERSION}-fpm /usr/sbin/php-fpm
|
|
|
|
# ============================================================
|
|
# Nginx (optional, FrankenPHP has Caddy built-in)
|
|
# ============================================================
|
|
# ADD nginx /usr/sbin/nginx
|
|
# ADD config/nginx/ /etc/nginx/
|
|
|
|
# ============================================================
|
|
# PHP Extensions
|
|
# ============================================================
|
|
# Common extensions bundled with FrankenPHP
|
|
# Additional extensions via PHP_EXTENSIONS env var
|
|
|
|
# ============================================================
|
|
# Configuration
|
|
# ============================================================
|
|
ADD config/php-fpm/ /etc/php/
|
|
ADD config/supervisor/ /etc/supervisor/
|
|
|
|
# ============================================================
|
|
# Application Skeleton
|
|
# ============================================================
|
|
ADD product/ /var/www/html/
|
|
|
|
# ============================================================
|
|
# OCI Config
|
|
# ============================================================
|
|
# Exposes: 80 (HTTP), 443 (HTTPS), 8080 (WebSocket/Reverb)
|
|
# User: www-data
|
|
# Entrypoint: frankenphp run --config /etc/caddy/Caddyfile
|