Initial commit: CTmine-client (ContainerMine Client)

Docker-WebApp, die einen echten Minecraft Java-Client (Prism Launcher)
in einem Container mit virtuellem Display betreibt und per noVNC im
Browser anzeigt. Gedacht, um Accounts AFK an Farmen zu stellen.

- Multi-Stage Dockerfile: Vite/Vue-Build + Ubuntu-Runtime (Xvfb, x11vnc,
  websockify, noVNC, openbox, nginx, Prism Launcher 11.0.3)
- Vue 3 + Vite + TypeScript Dashboard (noVNC-iframe, Start/Stop,
  Status-Anzeige, Schnellstart-Anleitung)
- Node-Status-API ohne externe Dependencies (/api/status, /api/mc/*)
- docker-compose.yml mit PUID/PGID, konfigurierbarer Auflösung, shm_size
- Persistente Accounts/Instanzen in /config (Volume)
This commit is contained in:
Tronax 2026-08-08 21:08:51 +02:00
commit b8a99e6e9e
Signed by: Tronax
SSH key fingerprint: SHA256:2pKKXDZucWvaF/GzXNz0FY53EAO1YDLN80bqS+TTz/o
25 changed files with 1766 additions and 0 deletions

29
.env.example Normal file
View file

@ -0,0 +1,29 @@
# In .env kopieren und anpassen. Wird von docker-compose.yml eingelesen.
# Benutzer/Gruppe, als der Container-Prozess läuft (entspricht deinem Host-User,
# damit Dateien in ./config dir "gehören"). Mit `id -u` / `id -g` herausfinden.
PUID=1000
PGID=1000
# Zeitzone
TZ=Europe/Berlin
# Auflösung des virtuellen Displays (MC läuft darin).
DISPLAY_WIDTH=1280
DISPLAY_HEIGHT=720
# Bildwiederholrate des virtuellen Displays.
DISPLAY_REFRESH=60
# Farbe pro Pixel (24 = 8-bit RGB, ausreichend und schnell).
DISPLAY_DEPTH=24
# Web-Port des Dashboards (Browser → http://localhost:<PORT>).
WEB_PORT=8080
# Optionales VNC-Passwort. Leer = ohne Passwort (nur für lokales Netz gedacht).
VNC_PASSWORD=
# noVNC-Pfad. Leer = Dashboard startet direkt im VNC-Viewer.
# Z.B. "vnc.html" für die standalone noVNC-Seite ohne Dashboard-Frame.
NOVNC_PATH=