No description
| app | ||
| components | ||
| hooks | ||
| lib | ||
| public | ||
| scripts | ||
| styles | ||
| types | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| components.json | ||
| docker-compose.yml | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| MAINTENANCE_REPORT.md | ||
| next-env.d.ts | ||
| next.config.mjs | ||
| package.json | ||
| pnpm-lock.yaml | ||
| postcss.config.mjs | ||
| README.md | ||
| REDESIGN_SUMMARY.md | ||
| tsconfig.json | ||
| tsconfig.tsbuildinfo | ||
Hosti - Instant Setup mit Docker
Voraussetzungen
- Docker Desktop (inkl. Docker Compose)
1) Environment anlegen
cp .env.example .env
Dann in .env mindestens diese Werte setzen:
JWT_SECRET(lange zufaellige Zeichenkette)PTERODACTYL_URLPTERODACTYL_API_KEY- fuer FiveM:
PTERODACTYL_FIVEM_NEST_ID,PTERODACTYL_FIVEM_EGG_ID - fuer Minecraft:
PTERODACTYL_MINECRAFT_NODE_NAME,PTERODACTYL_MINECRAFT_NEST_IDPTERODACTYL_MINECRAFT_EGG_PAPER_IDPTERODACTYL_MINECRAFT_EGG_FORGE_IDPTERODACTYL_MINECRAFT_EGG_VANILLA_ID
DATALIX_API_KEY(fuer KVM-Serververwaltung)DATALIX_KVM_PACKET_IDDATALIX_KVM_DEFAULT_OS_IDDOMAINNAMEAPI_USERNAME(fuer Domain Registrierung/Verwaltung)DOMAINNAMEAPI_PASSWORD- optional:
DOMAINNAMEAPI_TEST_MODE=true - Optional fuer Reseller-Interface-Zuordnung:
DATALIX_RESELLER_INTERFACE_IDDATALIX_RESELLER_INTERFACE_USER_ID(wenn leer, wird per E-Mail in der Interface-User-Liste gesucht und bei Bedarf erstellt)
POSTGRES_* und APP_PORT sind bereits mit Standardwerten vorbelegt.
2) App starten (Build + DB + Init)
docker compose up -d --build
Danach ist die App unter:
http://localhost:3000(oder deinAPP_PORT)
3) Logs ansehen
docker compose logs -f app
docker compose logs -f db
4) Stoppen
docker compose down
Datenbank-Setup (automatisch)
Beim ersten Start wird die Datenbank automatisch initialisiert:
scripts/001-create-tables.sqlwird von Postgres beim Erststart ausgefuehrt.- Die Tabellen werden dadurch automatisch erstellt.
Wichtig:
- Das SQL-Init laeuft nur beim ersten Anlegen des DB-Volumes.
DB komplett neu initialisieren:
docker compose down -v
docker compose up -d --build
Update/Neu-Build
docker compose up -d --build
Neue Features (Payments/Billing)
- SumUp + VyPay mit Provider-Auswahl im Dashboard
- Wallet/Guthaben:
- Aufladen nur per SumUp
- expliziter Widerrufsverzicht bei Aufladung
- optionale Zahlung von Bestellungen per Guthaben
- Zahlungsarten-Modal im Dashboard: VyPay / SumUp / Guthaben
- Webhooks:
POST /api/webhooks/sumupPOST /api/webhooks/vypay
- Provisioning Queue:
- User-Flow legt Jobs in
provision_jobs - Worker-Endpoint:
POST /api/internal/provision/processmitx-internal-token
- User-Flow legt Jobs in
- Rechnungen:
- Download:
GET /api/orders/:id/invoice(HTML-Rechnung) - Monatsabrechnung mit Abrechnungszeitraum und naechster Faelligkeit (
next_payment_due_at) - Auto-Mail (optional) via Resend
- Download:
- Provisioning:
- FiveM reserviert automatisch eine zusaetzliche txAdmin-Allocation inkl.
TXADMIN_PORT - Minecraft unterstuetzt
Vanilla,Paper,Forgeplus freie Versionswahl im Provisioning-Dialog
- FiveM reserviert automatisch eine zusaetzliche txAdmin-Allocation inkl.
Preislogik
- Plaene haben ein automatisches Preis-Flooring auf Basis von Kosten + Mindestmarge.
- Optional in
.envsteuerbar:PRICING_MIN_MARGIN_CENTSPRICING_MIN_MARGIN_PERCENT- plan-spezifische Overrides wie
PLAN_MC_STARTER_COST_CENTSoderPLAN_MC_STARTER_PRICE_CENTS
Manuelle Migration fuer bestehende DB
Bei bestehendem Volume zusaetzlich ausfuehren:
scripts/003-add-sumup-payments.sqlscripts/004-add-billing-events-invoices-queue.sqlscripts/005-add-monthly-billing-and-txadmin-allocation.sqlscripts/006-add-datalix-kvm-support.sqlscripts/007-add-wallet-balance-topups.sqlscripts/009-add-domain-management.sql