Files
wild-directory/supabase/versions/1/deployment-studio.yaml
Paul Payne 07e20bee59 Fix discourse, moodle, supabase upgrades
- 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)
2026-10-30 18:19:19 +00:00

96 lines
2.9 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: supabase-studio
spec:
replicas: 1
selector:
matchLabels:
component: studio
template:
metadata:
labels:
component: studio
spec:
containers:
- name: studio
image: supabase/studio:2026.10.12-sha-3699278
ports:
- containerPort: 3000
env:
- name: HOSTNAME
value: "0.0.0.0"
- name: STUDIO_PG_META_URL
value: "http://meta:8080"
- name: POSTGRES_PORT
value: "5432"
- name: POSTGRES_HOST
value: "{{ .db.host }}"
- name: POSTGRES_DB
value: "{{ .db.name }}"
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: supabase-secrets
key: dbPassword
- name: POSTGRES_USER_READ_WRITE
value: "{{ .db.user }}"
- name: PG_META_CRYPTO_KEY
valueFrom:
secretKeyRef:
name: supabase-secrets
key: pgMetaCryptoKey
- name: PGRST_DB_SCHEMAS
value: "public,storage,graphql_public"
- name: PGRST_DB_MAX_ROWS
value: "1000"
- name: PGRST_DB_EXTRA_SEARCH_PATH
value: "public"
- name: DEFAULT_ORGANIZATION_NAME
value: "{{ .defaultOrg }}"
- name: DEFAULT_PROJECT_NAME
value: "{{ .defaultProject }}"
- name: SUPABASE_URL
value: "http://kong:8000"
- name: SUPABASE_PUBLIC_URL
value: "https://{{ .domain }}"
- name: SUPABASE_ANON_KEY
valueFrom:
secretKeyRef:
name: supabase-secrets
key: anonKey
- name: SUPABASE_SERVICE_KEY
valueFrom:
secretKeyRef:
name: supabase-secrets
key: serviceRoleKey
- name: AUTH_JWT_SECRET
valueFrom:
secretKeyRef:
name: supabase-secrets
key: jwtSecret
- name: ENABLED_FEATURES_LOGS_ALL
value: "false"
livenessProbe:
exec:
command:
- node
- -e
- "fetch('http://localhost:3000/api/platform/profile').then((r) => {if (r.status !== 200) throw new Error(r.status)})"
initialDelaySeconds: 30
periodSeconds: 15
timeoutSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /api/platform/profile
port: 3000
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 10
failureThreshold: 3
resources:
requests:
memory: 512Mi
cpu: 200m