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
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>
20 lines
663 B
Text
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
|