Files
wild-directory/docs/php.md
Paul Payne 4d983819c9 feat(supabase): add services and statefulset for database management
feat(synapse): update ingress to use traefik ingress class and bump version

feat(syncthing-discovery): introduce syncthing discovery service with deployment and ingress

feat(syncthing-relay): add syncthing relay server with deployment and ingress configuration

fix(taiga): update liveness and readiness probes to use tcpSocket for health checks

fix(taiga): change PVC access mode to ReadWriteMany for media and static storage

feat(traefik): add icon and ignore rules for traefik service

docs(ushahidi): add notes for Redis configuration and Laravel startup probe adjustments

feat(ushahidi): implement dedicated Redis deployment for Ushahidi

fix(vllm): update deployment strategy and readiness/liveness probes for improved stability

fix(writefreely): pin writefreely image version to v0.15.1 for consistency

docs(zulip): add notes for TLS-terminating reverse proxy configuration and expected behavior
2026-07-02 21:34:27 +00:00

1.1 KiB
Raw Blame History

PHP (Laravel / Symfony)

Startup delay

Laravel's startup sequence (autoload optimization, key generation, migrations, package discovery) commonly takes 23 minutes on cluster restart or first boot. The default initialDelaySeconds: 60 is too short — the liveness probe fires before the app is ready, kills the container, and a restart loop begins.

Symptom: pod shows Running for ~2 minutes, then gets Killing due to liveness probe failure, then a new pod starts the same cycle.

Use a tcpSocket liveness probe (avoids the Host header issue) with an extended initial delay:

livenessProbe:
  tcpSocket:
    port: 8080
  initialDelaySeconds: 120
  periodSeconds: 30
  failureThreshold: 6
readinessProbe:
  httpGet:
    path: /
    port: 8080
  initialDelaySeconds: 60
  periodSeconds: 15
  failureThreshold: 3

Symfony has the same behavior. Adjust initialDelaySeconds up if migrations are slow.

Resources

256512Mi request is typical for a PHP-FPM or Artisan-served app. Workers (queue:work, horizon) are separate processes — give them their own Deployment and 256512Mi each.