Set the blue Docusaurus-style accent (#2b6cb0 light / #63b3ed dark) via injectCSS on the app UI — the login page is excluded because Wiki.js renders it without custom CSS, so a dark login card is not themeable and is left as-is. Mount the ThreadNet favicon (favicon.ico + favicon-16/32 PNGs the browser tab uses) from the platform-branding ConfigMap via subPath, overlaying only those files.
114 lines
3.4 KiB
YAML
114 lines
3.4 KiB
YAML
# Wiki.js — Plattform-Wiki (ADR-0014, #0048). Öffentlich unter wiki.axion1337.chat
|
|
# (Ingress/Cert in wiki-ingress.yaml), Login nativ via Authentik-OIDC (#0049, Guide 10).
|
|
# Git-Storage (Inhalt in git) wird nach dem ersten Start in der Admin-UI eingerichtet.
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: wikijs-data
|
|
namespace: matrix
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
storageClassName: local-path
|
|
resources:
|
|
requests:
|
|
storage: 2Gi
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: wikijs
|
|
namespace: matrix
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: Recreate # RWO-Volume (Git-Storage-Klon)
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: wikijs
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: wikijs
|
|
spec:
|
|
containers:
|
|
- name: wikijs
|
|
image: ghcr.io/requarks/wiki:2.5
|
|
ports:
|
|
- name: http
|
|
containerPort: 3000
|
|
env:
|
|
- name: DB_TYPE
|
|
value: postgres
|
|
- name: DB_HOST
|
|
value: wikijs-postgres
|
|
- name: DB_PORT
|
|
value: "5432"
|
|
- name: DB_NAME
|
|
value: wiki
|
|
- name: DB_USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: wikijs-postgres-secret
|
|
key: username
|
|
- name: DB_PASS
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: wikijs-postgres-secret
|
|
key: password
|
|
volumeMounts:
|
|
- name: data
|
|
mountPath: /wiki/data
|
|
# Branding-Assets (Logo + Login-Hintergrund) als statische Dateien in den
|
|
# öffentlichen /_assets-Baum (express.static /wiki/assets). Dadurch ohne
|
|
# read:assets erreichbar (Guests bleiben gesperrt) und ohne externe URL —
|
|
# eine Quelle (ConfigMap platform-branding), Config zeigt auf /_assets/img/branding/.
|
|
- name: branding
|
|
mountPath: /wiki/assets/img/branding
|
|
readOnly: true
|
|
# Favicon (#0050): serve-favicon liest /wiki/assets/favicon.ico; der
|
|
# Browser-Tab nutzt zusätzlich die PNGs unter /_assets/favicons/. Einzelne
|
|
# Dateien per subPath überlagern, ohne die restlichen Default-Favicons zu verdecken.
|
|
- name: branding
|
|
mountPath: /wiki/assets/favicon.ico
|
|
subPath: favicon.ico
|
|
readOnly: true
|
|
- name: branding
|
|
mountPath: /wiki/assets/favicons/favicon-32x32.png
|
|
subPath: favicon-32x32.png
|
|
readOnly: true
|
|
- name: branding
|
|
mountPath: /wiki/assets/favicons/favicon-16x16.png
|
|
subPath: favicon-16x16.png
|
|
readOnly: true
|
|
readinessProbe:
|
|
tcpSocket:
|
|
port: http
|
|
initialDelaySeconds: 25
|
|
periodSeconds: 10
|
|
livenessProbe:
|
|
tcpSocket:
|
|
port: http
|
|
initialDelaySeconds: 60
|
|
periodSeconds: 20
|
|
volumes:
|
|
- name: data
|
|
persistentVolumeClaim:
|
|
claimName: wikijs-data
|
|
- name: branding
|
|
configMap:
|
|
name: platform-branding
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: wikijs
|
|
namespace: matrix
|
|
spec:
|
|
selector:
|
|
app.kubernetes.io/name: wikijs
|
|
ports:
|
|
- name: http
|
|
port: 3000
|
|
targetPort: http
|