123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- # https://github.com/itzg/docker-minecraft-server/blob/master/README.md
- #
- # Check health with:
- # docker container inspect -f "{{.State.Health.Status}}" mc
- apiVersion: v1
- kind: Service
- metadata:
- name: minecraft
- labels:
- run: minecraft
- spec:
- ports:
- - name: rcon
- port: 25575
- targetPort: 25575
- - name: server
- port: 25565
- targetPort: 25565
- selector:
- run: minecraft
- type: LoadBalancer
- loadBalancerIP: 10.42.42.215
- externalTrafficPolicy: Local
- ---
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: minecraft-data
- spec:
- capacity:
- storage: 10Ti
- volumeMode: Filesystem
- accessModes:
- - ReadWriteMany
- persistentVolumeReclaimPolicy: Retain # Keep 4eva
- storageClassName: default
- mountOptions:
- - hard
- - nfsvers=3
- nfs:
- path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/minecraft-data
- server: 10.42.42.10
- claimRef:
- name: minecraft-data
- namespace: default
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: minecraft-data
- spec:
- storageClassName: standard
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 10Ti
- status: {}
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: minecraft
- spec:
- replicas: 1
- selector:
- matchLabels:
- run: minecraft
- strategy:
- type: Recreate
- template:
- metadata:
- labels:
- run: minecraft
- spec:
- terminationGracePeriodSeconds: 90
- containers:
- - image: itzg/minecraft-server:latest
- imagePullPolicy: "Always"
- name: minecraft
- env:
- - name: TZ
- value: US/Michigan
- - name: MEMORY
- value: "3G"
- # max tick time is default 60.0 seconds (60000 here), -1 to disable
- - name: MAX_TICK_TIME
- value: "-1"
- - name: MAX_PLAYERS
- value: "6"
- - name: VERSION
- value: "1.19.2"
- - name: EULA
- value: "TRUE"
- - name: CF_API_KEY
- value: "$$2a$$10$$JU91aPtRDMOid0cAfwDGwuk3IETckr93LyV/zW3Xfz49TrT0PoiYy"
- - name: TYPE
- value: "FORGE"
- # - name: GENERIC_PACK
- # value: "lol.zip"
- # - name: TYPE
- # value: "AUTO_CURSEFORGE"
- # - name: CF_MODPACK_ZIP
- # value: "lol.zip"
- # Values below this line will likely have no effect.
- # Update the configuration in the data directory instead
- - name: MOTD
- value: "Enjoy MonkeyBOX!"
- - name: OPS
- value: "Aspectra7495"
- - name: RCON_PASSWORD
- value: "0202"
- - name: ANNOUNCE_PLAYER_ACHIEVEMENTS
- value: "true"
- - name: MODE
- value: "survival"
- - name: SERVER_NAME
- value: "monkeybox"
- - name: STOP_SERVER_ANNOUNCE_DELAY
- value: "60"
- - name: ENABLE_ROLLING_LOGS
- value: "true"
- ports:
- - containerPort: 25575
- - containerPort: 25565
- resources:
- limits:
- memory: "8192Mi"
- cpu: "8000m"
- requests:
- memory: "3384Mi"
- cpu: "2000m"
- volumeMounts:
- - mountPath: /data
- name: minecraft-data
- restartPolicy: Always
- volumes:
- - name: minecraft-data
- persistentVolumeClaim:
- claimName: minecraft-data
- status: {}
- #---
- ## Hosting
- #apiVersion: networking.k8s.io/v1
- #kind: Ingress
- #metadata:
- # name: minecraft-ingress
- # annotations:
- # cert-manager.io/cluster-issuer: "letsencrypt-prod"
- # ## No basic auth for minecraft
- # ## type of authentication
- # #nginx.ingress.kubernetes.io/auth-type: basic
- # ## name of the secret that contains the user/password definitions
- # #nginx.ingress.kubernetes.io/auth-secret: basic-auth
- # ## message to display with an appropriate context why the authentication is required
- # #nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - Octoprint'
- #spec:
- # tls:
- # - hosts:
- # - minecraft.monkeybox.org
- # secretName: minecraft-tls
- # rules:
- # - host: minecraft.monkeybox.org
- # http:
- # paths:
- # - path: /
- # pathType: Prefix
- # backend:
- # service:
- # name: minecraft
- # port:
- # number: 80
|