- discourse 2026.10.0: skip assets:precompile in init container (assets are pre-built in 2026.x images, no git repo present) Re-enable slot 2026 as latest - moodle: migrate from bitnamilegacy/moodle (EOL Aug 2025) to oksigenia/moodle:4.5 (drop-in replacement, same env vars/volumes, weekly rebuilds with PHP patches) - supabase: bump all 7 components to self-hosted v0.8.3 tags (studio, gotrue, postgrest, realtime, storage-api, postgres-meta, kong)
123 lines
3.4 KiB
YAML
123 lines
3.4 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: supabase-storage
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: Recreate
|
|
selector:
|
|
matchLabels:
|
|
component: storage
|
|
template:
|
|
metadata:
|
|
labels:
|
|
component: storage
|
|
spec:
|
|
containers:
|
|
- name: storage
|
|
image: supabase/storage-api:v1.81.0
|
|
ports:
|
|
- containerPort: 5000
|
|
env:
|
|
- name: ANON_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: supabase-secrets
|
|
key: anonKey
|
|
- name: SERVICE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: supabase-secrets
|
|
key: serviceRoleKey
|
|
- name: POSTGREST_URL
|
|
value: "http://rest:3000"
|
|
- name: AUTH_JWT_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: supabase-secrets
|
|
key: jwtSecret
|
|
- name: DATABASE_URL
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: supabase-secrets
|
|
key: dbUrlStorage
|
|
- name: STORAGE_PUBLIC_URL
|
|
value: "https://{{ .domain }}"
|
|
- name: REQUEST_ALLOW_X_FORWARDED_PATH
|
|
value: "true"
|
|
- name: FILE_SIZE_LIMIT
|
|
value: "52428800"
|
|
- name: STORAGE_BACKEND
|
|
value: file
|
|
- name: GLOBAL_S3_BUCKET
|
|
value: stub
|
|
- name: REGION
|
|
value: stub
|
|
- name: FILE_STORAGE_BACKEND_PATH
|
|
value: /var/lib/storage
|
|
- name: TENANT_ID
|
|
value: stub
|
|
- name: ENABLE_IMAGE_TRANSFORMATION
|
|
value: "true"
|
|
- name: IMGPROXY_URL
|
|
value: "http://localhost:5001"
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /status
|
|
port: 5000
|
|
initialDelaySeconds: 20
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /status
|
|
port: 5000
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
volumeMounts:
|
|
- name: supabase-storage
|
|
mountPath: /var/lib/storage
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 100m
|
|
|
|
- name: imgproxy
|
|
image: darthsim/imgproxy:v3.30.1
|
|
ports:
|
|
- containerPort: 5001
|
|
env:
|
|
- name: IMGPROXY_BIND
|
|
value: ":5001"
|
|
- name: IMGPROXY_LOCAL_FILESYSTEM_ROOT
|
|
value: /
|
|
- name: IMGPROXY_USE_ETAG
|
|
value: "true"
|
|
- name: IMGPROXY_AUTO_WEBP
|
|
value: "true"
|
|
- name: IMGPROXY_MAX_SRC_RESOLUTION
|
|
value: "16.8"
|
|
volumeMounts:
|
|
- name: supabase-storage
|
|
mountPath: /var/lib/storage
|
|
livenessProbe:
|
|
exec:
|
|
command: ["imgproxy", "health"]
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
resources:
|
|
requests:
|
|
memory: 128Mi
|
|
cpu: 50m
|
|
|
|
volumes:
|
|
- name: supabase-storage
|
|
persistentVolumeClaim:
|
|
claimName: supabase-storage
|