Files
homelab/minecraft/statefulset.yaml

184 lines
4.8 KiB
YAML

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: monifactory-server
namespace: minecraft
spec:
selector:
matchLabels:
app: monifactory-server
template:
metadata:
labels:
app: monifactory-server
spec:
containers:
- name: monifactory-server
image: itzg/minecraft-server:java17
env:
- name: EULA
value: "TRUE"
- name: MODE
value: "survival"
- name: DIFFICULTY
value: "peaceful"
- name: MODPACK_PLATFORM
value: "AUTO_CURSEFORGE"
- name: CF_API_KEY
valueFrom:
secretKeyRef:
name: curseforge
key: credential
- name: CF_PAGE_URL
value: "https://www.curseforge.com/minecraft/modpacks/monifactory/"
- name: VERSION
value: "1.20.1"
- name: INIT_MEMORY
value: 4G
- name: MAX_MEMORY
value: 8G
- name: ALLOW_FLIGHT
value: "TRUE"
- name: ENABLE_ROLLING_LOGS
value: "TRUE"
- name: USE_MEOWICE_FLAGS
value: "TRUE"
ports:
- name: minecraft
containerPort: 25565
resources:
requests:
cpu: 4
memory: "4Gi"
limits:
cpu: 8
memory: "8Gi"
volumeMounts:
- name: monifactory-data
mountPath: /data
volumes:
- name: monifactory-data
persistentVolumeClaim:
claimName: monifactory-data
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: gtnh-server
namespace: minecraft
spec:
selector:
matchLabels:
app: gtnh-server
template:
metadata:
labels:
app: gtnh-server
spec:
containers:
- name: gtnh-server
image: itzg/minecraft-server:java25
env:
- name: EULA
value: "TRUE"
- name: MODE
value: "survival"
- name: DIFFICULTY
value: "peaceful"
- name: TYPE
value: "CUSTOM"
- name: GENERIC_PACKS
value: "GT_New_Horizons_2.8.0_Server_Java_17-25"
- name: GENERIC_PACKS_SUFFIX
value: ".zip"
- name: GENERIC_PACKS_PREFIX
value: "https://downloads.gtnewhorizons.com/ServerPacks/"
- name: SKIP_GENERIC_PACK_UPDATE_CHECK
value: "true"
- name: MEMORY
value: 6G
- name: JVM_OPTS
value: "-Dfml.readTimeout=180 -Dfml.queryResult=confirm @java9args.txt"
- name: CUSTOM_JAR_EXEC
value: "-jar lwjgl3ify-forgePatches.jar nogui"
- name: ALLOW_FLIGHT
value: "TRUE"
- name: ENABLE_ROLLING_LOGS
value: "TRUE"
ports:
- name: gtnh
containerPort: 25565
resources:
limits:
cpu: 8
memory: "8Gi"
volumeMounts:
- name: gtnh-data
mountPath: /data
volumes:
- name: gtnh-data
persistentVolumeClaim:
claimName: gtnh-data
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: tfg-server
namespace: minecraft
spec:
selector:
matchLabels:
app: tfg-server
template:
metadata:
labels:
app: tfg-server
spec:
containers:
- name: tfg-server
image: itzg/minecraft-server:java17
env:
- name: EULA
value: "TRUE"
- name: MODE
value: "survival"
- name: MODPACK_PLATFORM
value: "AUTO_CURSEFORGE"
- name: CF_API_KEY
valueFrom:
secretKeyRef:
name: curseforge
key: credential
- name: CF_PAGE_URL
value: "https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern/"
- name: VERSION
value: "1.20.1"
- name: INIT_MEMORY
value: 2G
- name: MAX_MEMORY
value: 8G
- name: ALLOW_FLIGHT
value: "TRUE"
- name: ENABLE_ROLLING_LOGS
value: "TRUE"
- name: USE_MEOWICE_FLAGS
value: "TRUE"
ports:
- name: minecraft
containerPort: 25565
resources:
requests:
cpu: 2
memory: "2Gi"
limits:
cpu: 6
memory: "9Gi"
volumeMounts:
- name: tfg-data
mountPath: /data
volumes:
- name: tfg-data
persistentVolumeClaim:
claimName: tfg-data