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
 |