Adds pixelfed app.

This commit is contained in:
2026-06-19 21:33:23 +00:00
parent c2efed5937
commit bd1116048d
11 changed files with 485 additions and 0 deletions

View File

@@ -0,0 +1,161 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pixelfed
namespace: {{ .namespace }}
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
component: web
template:
metadata:
labels:
component: web
spec:
securityContext:
runAsNonRoot: true
runAsUser: 33
runAsGroup: 33
fsGroup: 33
seccompProfile:
type: RuntimeDefault
containers:
- name: pixelfed
image: ghcr.io/mattlqx/docker-pixelfed:v0.12.7-nginx
ports:
- name: http
containerPort: 80
protocol: TCP
env:
- name: APP_NAME
value: Pixelfed
- name: APP_ENV
value: production
- name: APP_DEBUG
value: "false"
- name: APP_PORT
value: "80"
- name: APP_URL
value: https://{{ .domain }}
- name: APP_DOMAIN
value: {{ .domain }}
- name: ADMIN_DOMAIN
value: {{ .domain }}
- name: SESSION_DOMAIN
value: {{ .domain }}
- name: APP_KEY
valueFrom:
secretKeyRef:
name: pixelfed-secrets
key: appKey
- name: DB_CONNECTION
value: pgsql
- name: DB_HOST
value: {{ .db.host }}
- name: DB_PORT
value: "{{ .db.port }}"
- name: DB_DATABASE
value: {{ .db.name }}
- name: DB_USERNAME
value: {{ .db.user }}
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: pixelfed-secrets
key: dbPassword
- name: REDIS_CLIENT
value: predis
- name: REDIS_HOST
value: {{ .redis.host }}
- name: REDIS_PORT
value: "6379"
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: pixelfed-secrets
key: redis.password
- name: CACHE_DRIVER
value: redis
- name: SESSION_DRIVER
value: redis
- name: QUEUE_DRIVER
value: redis
- name: MAIL_MAILER
value: smtp
- name: MAIL_HOST
value: {{ .smtp.host }}
- name: MAIL_PORT
value: "{{ .smtp.port }}"
- name: MAIL_USERNAME
value: {{ .smtp.user }}
- name: MAIL_PASSWORD
valueFrom:
secretKeyRef:
name: pixelfed-secrets
key: smtpPassword
- name: MAIL_FROM_ADDRESS
value: {{ .smtp.from }}
- name: MAIL_ENCRYPTION
value: tls
- name: ACTIVITY_PUB
value: "1"
- name: AP_REMOTE_FOLLOW
value: "1"
- name: AP_INBOX
value: "1"
- name: AP_OUTBOX
value: "1"
- name: AP_SHAREDINBOX
value: "1"
- name: OAUTH_ENABLED
value: "true"
- name: OPEN_REGISTRATION
value: "true"
- name: FORCE_HTTPS
value: "true"
- name: PHP_POST_MAX_SIZE
value: 500M
- name: PHP_UPLOAD_MAX_FILE_SIZE
value: 500M
resources:
limits:
cpu: "1"
ephemeral-storage: 1Gi
memory: 1Gi
requests:
cpu: 50m
ephemeral-storage: 50Mi
memory: 256Mi
volumeMounts:
- name: pixelfed-storage
mountPath: /var/www/html/storage
livenessProbe:
httpGet:
path: /api/v1/instance
port: 80
initialDelaySeconds: 120
timeoutSeconds: 10
periodSeconds: 30
failureThreshold: 6
readinessProbe:
httpGet:
path: /api/v1/instance
port: 80
initialDelaySeconds: 60
timeoutSeconds: 5
periodSeconds: 15
failureThreshold: 3
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: false
volumes:
- name: pixelfed-storage
persistentVolumeClaim:
claimName: pixelfed-storage
restartPolicy: Always