apiVersion: apps/v1 kind: Deployment metadata: name: paper labels: app.kubernetes.io/name: minecraft-paper app.kubernetes.io/instance: paper spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/name: minecraft-paper app.kubernetes.io/instance: paper template: metadata: labels: app.kubernetes.io/name: minecraft-paper app.kubernetes.io/instance: paper spec: automountServiceAccountToken: false terminationGracePeriodSeconds: 600 nodeSelector: kubernetes.io/hostname: arschrock minecraft.brunner.ninja/dynmap-ready: "true" tolerations: - key: node-role.kubernetes.io/control-plane operator: Exists effect: NoSchedule securityContext: runAsUser: 1000 runAsGroup: 1000 containers: - name: paper image: docker.io/library/eclipse-temurin:26.0.2_10-jre-noble imagePullPolicy: IfNotPresent workingDir: /data command: [java] args: - -Ddisable.watchdog=true - -Xms2G - -Xmx8G - -jar - paper-26.3-166.jar ports: - name: minecraft containerPort: 25565 protocol: TCP - name: dynmap containerPort: 8124 protocol: TCP startupProbe: tcpSocket: port: minecraft periodSeconds: 10 failureThreshold: 60 readinessProbe: tcpSocket: port: minecraft periodSeconds: 10 failureThreshold: 3 volumeMounts: - name: server-data mountPath: /data - name: mc-monitor image: docker.io/itzg/mc-monitor:1.18.3 imagePullPolicy: IfNotPresent args: - export-for-prometheus - -servers - 127.0.0.1:25565 - -port - '8080' - -timeout - 10s ports: - name: metrics containerPort: 8080 readinessProbe: httpGet: path: /metrics port: metrics periodSeconds: 10 volumes: - name: server-data hostPath: path: /home/feedc0de/mcserver type: Directory