feat: deploy ConvertX

This commit is contained in:
2026-07-22 17:57:17 +00:00
parent f4d763883e
commit ca1a2ac0c5
10 changed files with 244 additions and 0 deletions
+93
View File
@@ -0,0 +1,93 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: convertx
namespace: convertx
labels:
app.kubernetes.io/name: convertx
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: convertx
template:
metadata:
labels:
app.kubernetes.io/name: convertx
spec:
terminationGracePeriodSeconds: 60
containers:
- name: convertx
image: ghcr.io/c4illin/convertx:v0.18.0
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 3000
protocol: TCP
env:
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: convertx-secret
key: JWT_SECRET
- name: ACCOUNT_REGISTRATION
value: "false"
- name: ALLOW_UNAUTHENTICATED
value: "false"
- name: AUTO_DELETE_EVERY_N_HOURS
value: "24"
- name: HIDE_HISTORY
value: "false"
- name: LANGUAGE
value: en-US
- name: MAX_CONVERT_PROCESS
value: "2"
- name: TZ
value: America/Indiana/Indianapolis
resources:
requests:
cpu: 250m
memory: 512Mi
ephemeral-storage: 1Gi
limits:
cpu: "4"
memory: 4Gi
ephemeral-storage: 10Gi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
seccompProfile:
type: RuntimeDefault
startupProbe:
httpGet:
path: /
port: http
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 30
readinessProbe:
httpGet:
path: /
port: http
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
livenessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 5
failureThreshold: 5
volumeMounts:
- name: data
mountPath: /app/data
volumes:
- name: data
persistentVolumeClaim:
claimName: convertx-data