Skip to content

aeltai/K8-Drache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

K8-Drache — Drache Isolation Remastered on Kubernetes

Run Drache Isolation Remastered on Kubernetes with Wine, persistent volumes, and browser-based play via noVNC.

The game is Windows-only (Unreal Engine). This project packages it for cluster deployment with a Helm chart. Docker Compose is also supported for local testing.

Architecture

┌─────────────────────────────────────────────────────────┐
│  Kubernetes                                             │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │
│  │ PVC: game    │  │ PVC: wine    │  │ Deployment   │  │
│  │ (game files) │  │ (prefix)     │  │ Wine + noVNC │  │
│  └──────────────┘  └──────────────┘  └──────┬───────┘  │
│                                              │          │
│                                    Service :6080        │
│                                    Ingress (optional)   │
└─────────────────────────────────────────────────────────┘
                              │
                    Browser → /vnc.html

The container launches DracheIsolationRemastered-Win64-Shipping.exe directly (not the itch.io launcher, which runs a broken UE prerequisite installer under Wine).

Requirements

  • Kubernetes cluster (1.24+)
  • Helm 3
  • kubectl configured
  • Storage class for PVCs
  • Container image built and pushed to a registry

For local image build:

docker build --platform linux/amd64 -t ghcr.io/aeltai/k8-drache:latest .
docker push ghcr.io/aeltai/k8-drache:latest

1. Download the game

Get DracheIsolationRemastered.rar from itch.io (878 MB):

https://zyrox1510.itch.io/drache-isolation-remastered

Extract locally before uploading to the cluster:

mkdir -p game
unar -o game ~/Downloads/DracheIsolationRemastered.rar
# or: 7z x DracheIsolationRemastered.rar -ogame   (may fail on RAR5)

You should have:

game/DracheIsolationRemastered/DracheIsolationRemastered/Binaries/Win64/DracheIsolationRemastered-Win64-Shipping.exe

2. Install with Helm

helm upgrade --install drache ./helm/k8-drache \
  --namespace drache \
  --create-namespace \
  --set image.repository=ghcr.io/aeltai/k8-drache \
  --set image.tag=latest

This creates:

Resource Purpose
PVC *-game Game files (/game)
PVC *-wineprefix Wine prefix + dependencies (/wineprefix)
Deployment Runs the game with k8s-play (Xvfb + VNC + noVNC)
Service Exposes noVNC on port 6080
Setup Job Post-install hook: initializes Wine dependencies

3. Upload game files to the PVC

chmod +x scripts/upload-game-k8s.sh
./scripts/upload-game-k8s.sh

Defaults: namespace default, release drache. Override if needed:

NAMESPACE=drache RELEASE=drache GAME_DIR=./game ./scripts/upload-game-k8s.sh

4. Play in the browser

kubectl -n drache port-forward svc/drache-k8-drache 6080:6080

Open: http://127.0.0.1:6080/vnc.html

Or enable Ingress in values.yaml:

ingress:
  enabled: true
  host: drache.example.com

Helm configuration

# helm/k8-drache/values.yaml (highlights)

image:
  repository: ghcr.io/aeltai/k8-drache
  tag: latest

game:
  executable: DracheIsolationRemastered-Win64-Shipping.exe

persistence:
  game:
    size: 2Gi
    storageClass: standard
  wineprefix:
    size: 5Gi

resources:
  requests:
    cpu: 500m
    memory: 1Gi
  limits:
    cpu: 2
    memory: 4Gi

Troubleshooting (Kubernetes)

Setup Job failed

kubectl -n drache logs job/drache-k8-drache-setup
kubectl -n drache delete job drache-k8-dache-setup
helm upgrade drache ./helm/k8-drache -n drache

Game not found

Ensure the Shipping exe is on the game PVC:

kubectl -n drache exec deploy/drache-k8-drache -- \
  find /game -name 'DracheIsolationRemastered-Win64-Shipping.exe'

Black screen in noVNC

  • Wait 1–2 minutes (Unreal + Wine startup is slow)
  • Check logs: kubectl -n drache logs -f deploy/drache-k8-drache
  • Unreal Engine under Wine uses software rendering (wined3d); a GPU node helps but is not required

Prerequisite installer crash

Do not use DracheIsolationRemastered.exe (the launcher). It runs UEPrereqSetup_x64.exe, which crashes under Wine. The chart defaults to the Shipping binary.


Docker Compose (local / second option)

Use Docker Compose for quick local testing without a cluster. Play happens in the browser via noVNC (works on macOS via Docker Desktop, though performance is limited).

Requirements

  • Docker with Compose
  • unar or 7z to extract the .rar

Quick start

# 1. Extract game into ./game (see above)

# 2. Build and run
chmod +x run.sh
./run.sh build
./run.sh setup    # first run only
./run.sh up       # starts in background

Open: http://127.0.0.1:6080/vnc.html

Commands

Command Description
./run.sh build Build the container image
./run.sh setup Initialize Wine prefix and install dependencies
./run.sh up Start via Docker Compose (detached)
./run.sh play Start in foreground
./run.sh shell Open a shell in the container

Custom game path:

GAME_DIR=/path/to/extracted/game ./run.sh up

Troubleshooting (Docker Compose)

docker logs -f drache-isolation
docker compose down
./run.sh up

On Apple Silicon Macs, the image runs as emulated linux/amd64 — expect slow performance and possible rendering issues.


Notes

  • Game files are not included. Download them yourself from itch.io.
  • itch.io downloads require a browser; direct curl URLs return 404.
  • This is an unofficial community project, not affiliated with Zyrox1510 or the original authors.

About

Run Drache Isolation Remastered on Linux/Kubernetes with Wine, Docker, and Helm

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors