76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
---
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: minecraft-server
|
|
namespace: minecraft
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: minecraft-server
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: minecraft-server
|
|
spec:
|
|
containers:
|
|
- name: minecraft-server
|
|
image: itzg/minecraft-server:latest # Or specific version if needed
|
|
env:
|
|
- name: EULA
|
|
value: "TRUE"
|
|
- name: MODE
|
|
value: "survival"
|
|
- name: TYPE
|
|
value: "CURSEFORGE"
|
|
- name: INIT_MEMORY
|
|
value: 1G
|
|
- name: MAX_MEMORY
|
|
value: 4G
|
|
- name: CF_SERVER_MOD
|
|
value: "/modpacks/your-modpack.zip"
|
|
- name: ALLOW_FLIGHT
|
|
value: "TRUE"
|
|
- name: USE_AIKAR_FLAGS
|
|
value: "TRUE"
|
|
- name: RCON_PASSWORD
|
|
value: "rcon-password"
|
|
ports:
|
|
- name: minecraft
|
|
containerPort: 25565 # Expose port 25565
|
|
- name: minecraft-rcon
|
|
containerPort: 25575
|
|
- name: metrics
|
|
containerPort: 19565
|
|
resources:
|
|
requests:
|
|
cpu: 1 #4 # Adjust based on expected workload
|
|
memory: "1Gi" #"12Gi" # Adjust based on expected workload
|
|
limits:
|
|
cpu: 2 #8 # Adjust based on expected workload
|
|
memory: "4Gi" #"16Gi" # Adjust based on expected workload
|
|
readinessProbe:
|
|
exec:
|
|
command:
|
|
- mcstatus
|
|
- 127.0.0.1
|
|
- ping
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 30
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
- mcstatus
|
|
- 127.0.0.1
|
|
- ping
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 30
|
|
volumeMounts:
|
|
- name: minecraft-data
|
|
mountPath: /data
|
|
volumes:
|
|
- name: minecraft-data
|
|
persistentVolumeClaim:
|
|
claimName: minecraft-data
|
|
|