4fe25e6ec30fee526feaec3c9ca27a8782961b50
HexaHost GameCloud
Selbstgehostete, mandantenfähige Plattform für On-Demand-Minecraft-Server.
Der Projektname HexaHost GameCloud ist ein Arbeitstitel und zentral über APP_NAME / NEXT_PUBLIC_APP_NAME konfigurierbar.
Voraussetzungen
| Tool | Version |
|---|---|
| Node.js | ≥ 22 |
| pnpm | 9.15.x (corepack enable) |
| Docker | für lokale Infrastruktur |
| Go | 1.23+ (Node Agent) |
Schnellstart (lokal)
# Abhängigkeiten installieren
corepack enable
pnpm install
# Umgebung vorbereiten
cp .env.example .env
# SESSION_SECRET und ENCRYPTION_KEY auf mindestens 32 Zeichen setzen
# Infrastruktur (PostgreSQL, Redis, MinIO, Mailpit)
pnpm dev:infra
# Datenbankschema anwenden
pnpm db:push
# Entwicklungsserver (API, Worker, Web parallel)
pnpm dev
Dienste (Entwicklung)
| Dienst | URL |
|---|---|
| Web | http://localhost:3000 |
| API | http://localhost:3001/api/v1 |
| OpenAPI | http://localhost:3001/api/v1/docs |
| Worker Health | http://localhost:3002/health |
| Mailpit | http://localhost:8025 |
| MinIO Console | http://localhost:9001 |
Optional für Docker Compose mit Traefik-Netzwerk:
docker network create traefik-network
Monorepo-Struktur
apps/
web/ Next.js Weboberfläche
api/ NestJS API (Fastify)
worker/ BullMQ Hintergrundjobs
node-agent/ Go-Daemon auf Game-Nodes
edge-gateway/ Go TCP/UDP Gateway (Phase 8)
packages/
database/ Prisma Schema & Client
contracts/ Zod-Schemas & API-Verträge
config/ Typisierte Konfiguration
auth/ Authentifizierungslogik
ui/ Gemeinsame UI-Komponenten
deploy/ Docker Compose, systemd, Ansible
docs/ Architektur, ADR, Betrieb
integrations/ WHMCS-Module (später)
Befehle
pnpm build # Alle Pakete bauen
pnpm lint # Linting
pnpm typecheck # TypeScript-Prüfung
pnpm test # Unit-Tests
pnpm db:generate # Prisma Client generieren
pnpm db:migrate # Migrationen ausführen
Go Node Agent:
cd apps/node-agent
make test
make build
Aktueller Stand
Phase 0 (Repository & Grundlagen) — abgeschlossen.
Siehe docs/IMPLEMENTATION_STATUS.md für Details und nächste Schritte.
Lizenz
Proprietär — siehe Repository-Eigentümer.
Description
Languages
TypeScript
79.2%
Go
9.9%
PHP
7.1%
JavaScript
1.9%
Smarty
0.9%
Other
0.9%