WaveHost
Integracje panelu klienta WaveHost: VPS-y zakładane na węzłach Proxmox VE przez kolejkę zadań, serwery gier w Pterodactylu z konsolą i zasilaniem z panelu, płatności Stripe z podpisanym webhookiem i sklep, który sam pobiera oferty ze strony marki. Panel pilnuje zasobów węzłów i wycofuje ze sprzedaży pakiety, które już się nie zmieszczą, a każde zgłoszenie wsparcia dostaje prywatny kanał na Discordzie, z którego zespół odpowiada prosto do panelu.
Wprowadzenie
WaveHost to marka hostingowa, która sprzedaje VPS-y, serwery dedykowane i serwery gier. Jej panel klienta nie jest wyspą: VPS-y żyją na węzłach Proxmox VE, serwery gier w Pterodactylu, oferta na stronie marki, płatności w Stripe, a wsparcie na Discordzie.
Panel spina to wszystko tak, żeby klient zamawiał, płacił i zarządzał usługami w jednym miejscu, a zespół niczego nie przepisywał ręcznie z jednego systemu do drugiego.
VPS-y na Proxmox VE
Zamówienie VPS-a nie stawia maszyny w trakcie żądania klienta. Trafia do kolejki zadań, którą obsługuje osobny worker, więc długie operacje na węźle nie blokują panelu, a nieudany krok można ponowić. Worker rozmawia z API Proxmox VE każdego węzła, a dane dostępowe węzłów, czyli adres API, identyfikator i sekret tokenu, trzyma baza. Nowy węzeł dodaje się w panelu administratora, bez zmiany konfiguracji serwera.
Ten sam worker zbiera metryki maszyn i przelicza je w agregaty, z których korzystają wykresy w panelu klienta.
Serwery gier w Pterodactylu
Panel gier zostaje Pterodactylem, a panel klienta rozmawia z nim przez dwa interfejsy. Application API obsługuje sprawy administracyjne: konta, serwery i alokacje portów. Client API daje to, czego Application API nie wystawia: zasilanie, konsolę i zużycie zasobów na żywo. Klient restartuje serwer i patrzy w konsolę z panelu WaveHost, bez logowania się gdzie indziej.
Klienci starego panelu łączą swoje konto podpisanym linkiem. Dane konta i saldo idą zakodowane i podpisane HMAC-SHA256 wspólnym sekretem obu stron, z czasem ważności, więc nikt nie podrobi połączenia, a klient nie zakłada konta drugi raz.
Sklep zasilany ze strony marki
Oferta marki ma jedno źródło prawdy: panel administracyjny strony. Panel klienta sam pobiera z niej oferty i pakiety razem z nazwami, cenami, opisami, listami cech i oznaczeniami. Parametry techniczne, czyli węzeł, gra oraz dokładne rdzenie, pamięć i dysk, zostają w rękach administratora panelu i są tylko wstępnie wypełniane z listy cech, gdy pole jest puste.
marketing ustawia ofertę, cenę i opis w panelu strony.
panel klienta pobiera oferty jako kategorie, a pakiety jako produkty sklepu.
przypisuje węzeł, grę i parametry techniczne.
panel sprawdza zasoby węzła i decyduje, czy pakiet można kupić.
Pakiety, które się nie zmieszczą
Platforma pilnuje zasobów węzłów i sama wycofuje ze sprzedaży oferty, które już się na nich nie zmieszczą, zostawiając zapas pamięci i dysku. Oferty w trybie ręcznym zostają nietknięte, a tryb przełącza się w panelu administratora. Klient nie zapłaci za serwer, którego nie da się postawić.
Płatności i logowanie
Płatności idą przez Stripe, a webhook Stripe jest przyjmowany tylko z poprawnym podpisem. Logowanie obsługuje dwuetapowe kody TOTP i passkeys, formularze chroni Cloudflare Turnstile, a e-maile wychodzą przez serwer SMTP marki.
Wsparcie na Discordzie
Każde nowe zgłoszenie w panelu zakłada prywatny kanał na serwerze Discorda zespołu, ukryty przed wszystkimi poza administracją, z przypiętą kartą zgłoszenia: temat, priorytet, pierwsza wiadomość i dane klienta. Odpowiedź napisana na tym kanale wraca do zgłoszenia w panelu, a bot oznacza ją reakcją jako dostarczoną. Zespół odpowiada tam, gdzie i tak siedzi, a klient widzi całą rozmowę w panelu.
Pytania o WaveHost
Więcej projektów
Inne realizacje z tej samej kategorii - zobacz, jak podchodzimy do podobnych wyzwań.
Masz podobny projekt?
Napisz do nas - wycena jest bezpłatna i wraca w godzinę.



