We provide security updates for the following versions:
| Version | PHP | Supported |
|---|---|---|
| latest | 8.5 | ✅ Yes |
| 8.4 | 8.4 | ✅ Yes |
| 8.3 | 8.3 | ✅ Yes |
| 8.2 | 8.2 | ✅ Yes |
| < 8.2 | - | ❌ No |
Please do not report security vulnerabilities through public GitHub issues.
- Email: Send details to security@host.uk.com
- GitHub Security Advisories: Use the Security tab
- Type of vulnerability
- Steps to reproduce
- Affected versions
- Potential impact
- Suggested fix (if any)
- Acknowledgment: Within 48 hours
- Initial assessment: Within 1 week
- Fix timeline: Depends on severity
- Critical: 24-48 hours
- High: 1 week
- Medium: 2 weeks
- Low: Next release
When using Docker Server PHP in production:
# Always use specific version tags
FROM ghcr.io/host-uk/docker-server-php:8.5
# Never use :latest in production
# FROM ghcr.io/host-uk/docker-server-php:latest # Don't do this-
Use production target: Includes security hardening
docker build --target production -t myapp . -
Run as non-root: Container runs as
nobodyby default -
Read-only filesystem (where possible):
services: app: read_only: true tmpfs: - /tmp - /run
-
Never commit secrets to version control
-
Use Docker secrets or secret management:
secrets: db_password: external: true
-
Restrict environment files:
chmod 600 .env
-
Use internal networks for database/cache:
networks: backend: internal: true
-
Limit exposed ports: Only expose what's necessary
-
Use TLS: Always use HTTPS in production
The production image includes:
- Disabled dangerous functions (
exec,shell_exec,system, etc.) expose_php = Offdisplay_errors = Off- Secure session configuration
-
Update base images regularly:
docker pull ghcr.io/host-uk/docker-server-php:8.5
-
Monitor for vulnerabilities:
# Scan with Trivy trivy image ghcr.io/host-uk/docker-server-php:8.5 -
Keep dependencies updated:
composer audit
The /health endpoint is restricted to internal networks by default. If you need external access, ensure proper authentication.
If using Sentry, the DSN contains authentication. Keep it secure:
- Use environment variables
- Never commit to version control
- Restrict access to production configs
Default configurations use simple passwords. In production:
- Use strong, unique passwords
- Enable authentication
- Use TLS where available
- Restrict network access
Security updates are announced via:
- GitHub Security Advisories
- Release notes
- GitHub Discussions (for non-critical issues)
We appreciate responsible disclosure. Contributors who report valid security issues will be acknowledged (unless they prefer anonymity).