93 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| apiVersion: batch/v1
 | |
| kind: Job
 | |
| metadata:
 | |
|   name: start-server
 | |
| spec:
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app: minecraft-server
 | |
|     spec:
 | |
|       restartPolicy: OnFailure
 | |
|       initContainers:
 | |
|       - name: copy-data-to-local
 | |
|         image: alpine
 | |
|         command: ["/bin/sh"]
 | |
|         args: ["-c", "cp -r /data/* /local-data/"]
 | |
|         volumeMounts:
 | |
|         - name: local-data
 | |
|           mountPath: /local-data
 | |
|         - name: minecraft-data
 | |
|           mountPath: /data
 | |
|       containers:
 | |
|       - name: minecraft-server
 | |
|         image: minecraft
 | |
|         resources:
 | |
|           limits:
 | |
|             memory: "11000Mi"
 | |
|             cpu: "5"
 | |
|           requests:
 | |
|             memory: "1500Mi"
 | |
|             cpu: "500m"
 | |
|         ports:
 | |
|         - containerPort: 25565
 | |
|         env:
 | |
|         - name: EULA
 | |
|           value: "TRUE"
 | |
|         - name: TYPE
 | |
|           value: "AUTO_CURSEFORGE"
 | |
|         - name: CF_API_KEY
 | |
|           valueFrom:
 | |
|             secretKeyRef:
 | |
|               name: curseforge-api
 | |
|               key: key
 | |
|         - name: CF_PAGE_URL
 | |
|           value: "https://www.curseforge.com/minecraft/modpacks/vault-hunters-1-18-2/files/6807187"
 | |
|         - name: VERSION
 | |
|           value: "1.18.2"
 | |
|         - name: INIT_MEMORY
 | |
|           value: "1G"
 | |
|         - name: MAX_MEMORY
 | |
|           value: "10G"
 | |
|         - name: MOTD
 | |
|           value: "VaultHunters baby!"
 | |
|         - name: ENABLE_RCON
 | |
|           value: "false"
 | |
|         - name: CREATE_CONSOLE_IN_PIPE
 | |
|           value: "true"
 | |
|         - name: ONLINE_MODE
 | |
|           value: "false"
 | |
|         - name: ENABLE_AUTOSTOP
 | |
|           value: "true"
 | |
|         - name: AUTOSTOP_TIMEOUT_EST
 | |
|           value: "1800" # stop 30 min after last disconnect
 | |
|         volumeMounts:
 | |
|         - name: local-data
 | |
|           mountPath: /data
 | |
| 
 | |
|       - name: copy-data-to-persistent
 | |
|         image: rsync
 | |
|         command: ["/bin/sh"]
 | |
|         # args: ["-c", "sleep infinity"]
 | |
|         args: ["/run-rsync.sh"]
 | |
|         volumeMounts:
 | |
|         - name: local-data
 | |
|           mountPath: /local-data
 | |
|         - name: minecraft-data
 | |
|           mountPath: /persistent-data
 | |
|         - name: rsync-config
 | |
|           mountPath: /run-rsync.sh
 | |
|           subPath: run-rsync.sh
 | |
| 
 | |
| 
 | |
|       volumes:
 | |
|       - name: minecraft-data
 | |
|         persistentVolumeClaim:
 | |
|           claimName: minecraft-data
 | |
|       - name: local-data
 | |
|         emptyDir: {}
 | |
|       - name: rsync-config
 | |
|         configMap:
 | |
|           name: rsync-config
 | |
|           defaultMode: 0777
 |