Files
homelab/kubernetes/app/homepage/deployment.yaml

76 lines
2.0 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: homepage
namespace: homepage
labels:
app: homepage
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: homepage
template:
metadata:
labels:
app: homepage
spec:
serviceAccountName: homepage
securityContext:
# runAsNonRoot omitted — homepage image starts as root; non-root requires PUID/PGID entrypoint setup
seccompProfile:
type: RuntimeDefault
containers:
- name: homepage
image: ghcr.io/gethomepage/homepage:v1.10.1
ports:
- containerPort: 3000
name: http
protocol: TCP
envFrom:
- secretRef:
name: homepage-credentials
env:
- name: HOMEPAGE_ALLOWED_HOSTS
value: "${HOMEPAGE_HOST}"
volumeMounts:
- name: config
mountPath: /app/config/settings.yaml
subPath: settings.yaml
- name: config
mountPath: /app/config/services.yaml
subPath: services.yaml
- name: config
mountPath: /app/config/widgets.yaml
subPath: widgets.yaml
- name: config
mountPath: /app/config/bookmarks.yaml
subPath: bookmarks.yaml
- name: config
mountPath: /app/config/kubernetes.yaml
subPath: kubernetes.yaml
livenessProbe:
httpGet:
port: 3000
path: /
initialDelaySeconds: 30
periodSeconds: 30
readinessProbe:
httpGet:
port: 3000
path: /
initialDelaySeconds: 10
periodSeconds: 10
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
memory: 256Mi
volumes:
- name: config
configMap:
name: homepage-config