Fix VPS Nextcloud DB connection (PGSSLMODE) and n8n probe timing

Nextcloud: PHP's postgres driver tries to look up a client cert at
$HOME/.postgresql/postgresql.crt (HOME=/root in this image) for
verify-ca/verify-full sslmodes - 'Permission denied' there aborts the
connection entirely with a confusing 'password authentication failed'
secondary error. Confirmed live: psql with the identical credentials
connects fine (uses sslmode=prefer, no cert lookup). PGSSLMODE=disable
sidesteps it - this is an intra-cluster connection, not worth TLS here.

n8n: chart's default liveness/readiness probe timing is tighter than
n8n needs to actually finish starting - kubelet was killing the
container (exitCode 143/SIGTERM) before it ever bound :5678, in an
endless crashloop. Copied home's more generous probe timing.
This commit is contained in:
Scooby Husky
2026-08-18 18:40:52 -05:00
parent 444cb127bd
commit 08b8209455
2 changed files with 39 additions and 0 deletions
@@ -78,6 +78,37 @@ resources:
cpu: "500m"
memory: 512Mi
# Chart defaults are more aggressive than n8n needs to actually finish
# starting - without this the liveness probe kills the container before
# it ever binds :5678 (confirmed live: exitCode 143/SIGTERM, crashloop).
# Matches home's apps/n8n/values.yaml timings.
startupProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 12
readinessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 2
livenessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
extraEnvSecrets:
DB_POSTGRESDB_PASSWORD:
name: pg-n8n-app
@@ -30,6 +30,14 @@ nextcloud:
value: "2G"
- name: PHP_UPLOAD_LIMIT
value: "10G"
# libpq (via PHP's pgsql/pdo_pgsql) defaults HOME=/root in this image
# but tries to look up a client cert at $HOME/.postgresql/postgresql.crt
# for higher sslmodes - "Permission denied" there aborts the whole
# connection outright (confirmed live: psql itself connects fine with
# the same creds, only PHP's driver hits this). CNPG's in-cluster
# Postgres connection doesn't need client-cert verification here.
- name: PGSSLMODE
value: "disable"
configs:
proxy.config.php: |-