From 38be6c13f76e893cf47636257071b440dec0c5b2 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Sun, 7 Sep 2025 17:32:13 +0200 Subject: initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- bundles/minecraft/README | 5 +++++ bundles/minecraft/files/kube.yaml | 43 +++++++++++++++++++++++++++++++++++++++ bundles/minecraft/items.py | 7 +++++++ bundles/minecraft/metadata.py | 16 +++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 bundles/minecraft/README create mode 100644 bundles/minecraft/files/kube.yaml create mode 100644 bundles/minecraft/items.py create mode 100644 bundles/minecraft/metadata.py (limited to 'bundles/minecraft') diff --git a/bundles/minecraft/README b/bundles/minecraft/README new file mode 100644 index 0000000..f091b90 --- /dev/null +++ b/bundles/minecraft/README @@ -0,0 +1,5 @@ +https://www.gameslearningsociety.org/wiki/how-do-i-make-an-existing-world-into-a-server/ +https://luckperms.net/wiki/Why-LuckPerms +https://purpurmc.org/docs/purpur/configuration/ +https://github.com/YouHaveTrouble/minecraft-optimization?tab=readme-ov-file +https://flags.sh/ diff --git a/bundles/minecraft/files/kube.yaml b/bundles/minecraft/files/kube.yaml new file mode 100644 index 0000000..8e6bb93 --- /dev/null +++ b/bundles/minecraft/files/kube.yaml @@ -0,0 +1,43 @@ +--- +apiVersion: v1 +kind: Pod +metadata: + name: minecraft + labels: + traefik.enable: true + traefik.http.routers.minecraft.tls: true + traefik.http.routers.minecraft.tls.certresolver: le + traefik.http.routers.minecraft.entrypoints: http,https + traefik.http.routers.minecraft.rule: Host(`mc.gzr.im`) + traefik.http.routers.minecraft.service: jellyfin + traefik.http.services.minecraft.loadbalancer.server.port: 8096 + # # metrics + # traefik.http.routers.jellyfin-metrics.entrypoints: metrics + # traefik.http.routers.jellyfin-metrics.rule: Path(`/metrics/jellyfin`) + # traefik.http.routers.jellyfin-metrics.middlewares: replacepath-metrics +spec: + restartPolicy: Never + dnsPolicy: Default + imagePullPolicy: Always + containers: + - name: purpur + image: docker.io/josxha/minecraft-purpur:1.21.8 + # envFrom: + # - configMapRef: + # name: jellyfin + ports: + - containerPort: 25565 + protocol: TCP + volumeMounts: + - name: data + mountPath: /data + resources: + limits: + #cpu: 300m + #memory: 512Mi + + volumes: + - name: data + hostPath: + path: /var/lib/minecraft + type: DirectoryOrCreate diff --git a/bundles/minecraft/items.py b/bundles/minecraft/items.py new file mode 100644 index 0000000..d46bcf0 --- /dev/null +++ b/bundles/minecraft/items.py @@ -0,0 +1,7 @@ +files = { + "/etc/deployments/minecraft/kube.yaml": { + "content_type": "text", + "source": "kube.yaml", + "triggers": {"svc_s6rc:minecraft:restart"}, + }, +} diff --git a/bundles/minecraft/metadata.py b/bundles/minecraft/metadata.py new file mode 100644 index 0000000..e600efe --- /dev/null +++ b/bundles/minecraft/metadata.py @@ -0,0 +1,16 @@ +defaults = { + # "backup": { + # "includes": { + # "/var/lib/minecraft", + # # "/media/hayasui/media/movies", + # # "/media/hayasui/media/tvshows", + # # "/media/hayasui/media/anime", + # } + # }, + "containers": { + "minecraft": {}, + }, + # "metrics": { + # "minecraft": {}, + # }, +} -- cgit 1.4.1