php-framework/docker/Dockerfile.web
Snider 05f03a1ca1
Some checks failed
Code Style / Laravel Pint (push) Failing after 2s
Code Style / PHP CodeSniffer (push) Failing after 1s
Static Analysis / PHPStan (push) Failing after 1s
Static Analysis / Psalm (push) Failing after 2s
Static Analysis / Security Audit (push) Failing after 1s
Static Analysis / PHP Syntax Check (push) Failing after 1s
Tests / PHP 8.2 - Laravel 11.* (push) Failing after 2s
Tests / PHP 8.3 - Laravel 11.* (push) Failing after 2s
Tests / PHP 8.4 - Laravel 11.* (push) Failing after 2s
Tests / PHP 8.4 - Laravel 12.* (push) Failing after 2s
Tests / PHP 8.3 - Laravel 12.* (push) Failing after 2s
feat: add Docker infrastructure from CLI
Move production Docker files from core/cli to their proper home:
- Dockerfile.app: PHP 8.3-FPM with Laravel extensions
- Dockerfile.web: nginx reverse proxy
- docker-compose.prod.yml: full stack (app, web, horizon, scheduler, mcp, redis, galera)
- nginx/: default.conf + security-headers.conf
- php/: opcache.ini + php-fpm.conf

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 21:14:39 +00:00

20 lines
663 B
Text

# Host UK — Nginx Web Server
# Serves static files and proxies PHP to FPM container
#
# Build: docker build -f docker/Dockerfile.web -t host-uk/web:latest .
FROM nginx:1.27-alpine
# Copy nginx configuration
COPY docker/nginx/default.conf /etc/nginx/conf.d/default.conf
COPY docker/nginx/security-headers.conf /etc/nginx/snippets/security-headers.conf
# Copy static assets from app build
# (In production, these are volume-mounted from the app container)
# COPY --from=host-uk/app:latest /app/public /app/public
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD wget -qO- http://localhost/health || exit 1
USER nginx
EXPOSE 80