Indeks dziennikaDockup / notatka terenowa
Note / self-host-convertx

Jak samodzielnie hostować ConvertX w 2026 roku: uploady, sekrety JWT i limity zasobów

Dowiedz się, jak samodzielnie hostować ConvertX z poprawnymi portami, trwałym magazynem danych, HTTPS, sekretami, kopiami zapasowymi i kontrolą aktualizacji. Sprawdź też, jak naprawić brakujący plik binarny konwertera.

Istnieją dwie wersje „uruchomienia ConvertX”: kontener istnieje albo usługa rzeczywiście wykonuje swoją pracę. Liczy się tylko ta druga. Dowodem jest przesłanie kilku reprezentatywnych formatów, konwersja każdego z nich, pobranie wyników oraz porównanie hashy lub właściwości multimediów tam, gdzie wyniki są deterministyczne.

ConvertX służy właśnie do tego: to oparta na przeglądarce usługa konwersji plików. Wdrożenie musi zachować elementy stojące za tym działaniem; port, wolumen i certyfikat są danymi wejściowymi, a nie rezultatem.

Wybierz najmniejszą wystarczającą topologię ConvertX

Zacznij od przestrzeni nazw sieciowych ConvertX: nasłuchuje on na porcie 3000, a nie na porcie hosta skopiowanym z poradnika dotyczącego laptopa. Wymagania lokalnego środowiska uruchomieniowego obejmują CPU, pamięć i tymczasową przestrzeń dyskową dostosowane do wybranych konwerterów. Udokumentuj oczekiwaną przepustowość, właściciela i sposób obsługi awarii, zamiast pozostawiać te kwestie wartościom domyślnym obrazu.

Po spełnieniu wymagań uruchom kompletny scenariusz — prześlij kilka reprezentatywnych formatów, skonwertuj każdy z nich, pobierz wyniki i porównaj hashe lub właściwości multimediów tam, gdzie wyniki są deterministyczne. Zapisz logi i pomiary CPU, pamięci, tymczasowej przestrzeni dyskowej, rozmiaru plików oraz plików binarnych konwerterów wywoływanych dla każdej pary formatów. Te dane staną się pierwszą sprawdzoną architekturą i pozwolą testować późniejsze przenosiny między Dockup compute a dołączonym serwerem.

Rozdziel adresy URL wewnętrzne i zewnętrzne

Unikaj tymczasowych i stałych publicznych originów dla ConvertX. Zamiast tego udostępnij interfejs przez HTTPS z celowo ustalonymi limitami uploadów, skieruj wybraną nazwę DNS na route platformy i przekazuj ruch proxy wyłącznie do portu 3000.

Wykonaj tę czynność spoza hosta: prześlij kilka reprezentatywnych formatów, skonwertuj każdy z nich, pobierz wyniki i porównaj hashe lub właściwości multimediów tam, gdzie wyniki są deterministyczne. Jeśli ingress nie działa, poradnik rozwiązywania problemu 502 opisuje błędy portów i listenerów. Jeśli ConvertX odbiera żądanie, ale brakuje pliku binarnego konwertera albo proxy odrzuca duży upload, dowody wskazują już na problem poza proxy.

Ustawienia kontenera, które warto sprawdzić

Uruchom ConvertX tak, aby route pozostał prywatny do czasu zakończenia bootstrapu.

docker run -d \
  --name convertx \
  --restart unless-stopped \
  -p 127.0.0.1:3000:3000 \
  -v convertx-data:/app/data \
  -e JWT_SECRET=replace-with-a-long-random-value \
  ghcr.io/c4illin/convertx:latest

Jeśli proces wpada w pętlę, porównaj oczekiwanego użytkownika obrazu z właścicielem każdej zamontowanej ścieżki. Jeśli kontener działa stabilnie, przetestuj lokalnie port 3000, a następnie od razu przejdź do workflow: prześlij kilka reprezentatywnych formatów, skonwertuj każdy z nich, pobierz wyniki i porównaj hashe lub właściwości multimediów tam, gdzie wyniki są deterministyczne. Przypnij wersję obrazu dopiero po pomyślnym przejściu kontroli end-to-end i zapisz dokładną konfigurację obok usługi.

Przećwicz ryzykowną zmianę w ConvertX

Bezczynny health check niewiele mówi o ConvertX. Monitoruj CPU, pamięć, tymczasową przestrzeń dyskową, rozmiar plików oraz pliki binarne konwerterów wywoływanych dla każdej pary formatów, a następnie ustaw alert na objaw odczuwany przez użytkowników: niepowodzenie działania „prześlij kilka reprezentatywnych formatów, skonwertuj każdy z nich, pobierz wyniki i porównaj hashe lub właściwości multimediów tam, gdzie wyniki są deterministyczne”. Health check liveness powinien być lokalny i tani; niech readiness sygnalizuje migracje lub inicjalizację, bez wywoływania lawiny restartów.

Ryzyko aktualizacji polega na tym, że nowe wydania obrazu mogą dodawać lub usuwać konwertery, dlatego przetestuj dokładną macierz formatów, od której zależą użytkownicy. Przeczytaj informacje o wydaniu, wykonaj snapshot stanu, wdroż wersję docelową na podstawie przywróconej kopii i powtórz test akceptacyjny. Jeśli brakuje pliku binarnego konwertera albo proxy odrzuca duży upload, skoreluj żądanie klienta z pierwszym właściwym wpisem w logu aplikacji, zamiast w ciemno usuwać stan lub dodawać przekierowania.

Pięć kontroli skuteczniejszych niż health check kontenera

Nie wykorzystuj ruchu pierwszego użytkownika jako testu akceptacyjnego ConvertX. Przygotuj nieszkodliwy przykładowy stan i wykonaj pełną czynność „prześlij kilka reprezentatywnych formatów, skonwertuj każdy z nich, pobierz wyniki i porównaj hashe lub właściwości multimediów tam, gdzie wyniki są deterministyczne”. Zapisz dokładny publiczny URL, rezultat, referencję obrazu i przedział czasu odpowiadający logom z tego uruchomienia.

Wymień kontener i powtórz test bez odbudowywania danych. Następnie odtwórz środowisko na pustym hoście; warunkiem pomyślnego odtworzenia jest powrót kont i ustawień oraz dalsze poprawne działanie ustalonej macierzy formatów w wybranych limitach. Przy każdym przebiegu obserwuj CPU, pamięć, tymczasową przestrzeń dyskową, rozmiar plików oraz pliki binarne konwerterów wywoływanych dla każdej pary formatów i zdefiniuj alert dotyczący pogorszenia transakcji, a nie bezczynnych metryk kontenera.

Jeden końcowy test powinien celowo zakończyć się niepowodzeniem: prześlij nieszkodliwe dane wejściowe znajdujące się w pobliżu limitu zasobów lub formatów związanego z tą granicą: brakuje pliku binarnego konwertera albo proxy odrzuca duży upload. Sprawdź, czy komunikat ConvertX wskazuje właściwą granicę, zamiast uruchamiać usuwanie danych lub niekończące się restarty. Przywróć poprawny stan i potwierdź, że ta sama przykładowa transakcja kończy się powodzeniem. Dodaj to krótkie ćwiczenie do checklisty wydań.

Znajdź każdy trwały bajt w ConvertX

Zestaw danych wymaganych do odtworzenia obejmuje dane aplikacji, konta i wszystkie zachowane ustawienia konwersji. Zamontuj /app/data przed bootstrapem, zapisz nieszkodliwe przykładowe dane i wymień kontener, aby potwierdzić, że ta ścieżka jest rzeczywiście trwała. Wolumen chroni dane przed wymianą kontenera, ale nie przed utratą hosta, przypadkowym usunięciem ani uszkodzeniem na poziomie aplikacji.

Wykonuj kopie zapasowe świadome źródła danych: w razie potrzeby używaj logicznych zrzutów działających baz danych, a pliki kopiuj wyłącznie ze spójnego stanu. Przechowuj jedną zaszyfrowaną kopię poza hostem ConvertX. Kryterium akceptacji odtworzenia musi być konkretne — konta i ustawienia mają powrócić, a ustalona macierz formatów ma nadal działać w wybranych limitach. Poradnik dotyczący kopii zapasowych przetestowanych przez odtworzenie wyjaśnia, dlaczego sam sukces zadania nie wystarcza.

Ogranicz uprawnienia ConvertX

Po pierwszym logowaniu sprawdź, co może zrobić anonimowy odwiedzający, zwykły użytkownik i administrator. Problemem, którego należy uniknąć w ConvertX, jest używanie przykładowego sekretu JWT lub oferowanie nieograniczonych publicznych konwersji. Docelowa polityka zakłada użycie prawdziwego sekretu JWT, wymaganie logowania i ograniczenie uploadów przed przyjęciem niezaufanych plików z internetu.

Wygeneruj JWT_SECRET jako długą losową wartość; jego rotacja zwykle unieważnia sesje lub tokeny, dlatego zaplanuj wpływ tej operacji na użytkowników, zamiast traktować ją jako migrację szyfrowania. Używaj oddzielnych kont zależności i kont ludzi, w miarę możliwości blokuj nieużywany ruch wychodzący oraz ograniczaj pracę zależną od CPU, pamięci, tymczasowej przestrzeni dyskowej, rozmiaru plików i plików binarnych konwerterów wywoływanych dla każdej pary formatów.

Wdróż ConvertX na Dockup bez utraty tych granic

Dockup eliminuje ręczną obsługę reverse proxy i cyklu życia ConvertX. Usługa otrzymuje stabilny route HTTPS do portu 3000, wstrzykiwaną konfigurację i trwały magazyn danych podczas wymiany kontenerów. Dołączony serwer klienta działa według tego samego modelu co infrastruktura obliczeniowa hostowana przez Dockup.

Po uruchomieniu spełnij kontrakt aplikacji: udostępnij interfejs przez HTTPS z celowo ustalonymi limitami uploadów, potwierdź wymagania lokalnego środowiska — CPU, pamięć i tymczasową przestrzeń dyskową dostosowane do wybranych konwerterów — i wykonaj ten test: prześlij kilka reprezentatywnych formatów, skonwertuj każdy z nich, pobierz wyniki i porównaj hashe lub właściwości multimediów tam, gdzie wyniki są deterministyczne. Dzięki temu wygoda wdrożenia jednym kliknięciem pozostaje użyteczna, bez pomijania szczegółów, które decydują o możliwości odtworzenia i bezpieczeństwie ConvertX.

Często zadawane pytania

Czego ConvertX potrzebuje do wdrożenia produkcyjnego?

Skieruj kontener ConvertX na porcie 3000 przez jeden origin HTTPS. Wymagania lokalnego środowiska uruchomieniowego obejmują CPU, pamięć i tymczasową przestrzeń dyskową dostosowane do wybranych konwerterów. Nie uznawaj ConvertX za gotowy, dopóki nie prześlesz kilku reprezentatywnych formatów, nie skonwertujesz każdego z nich, nie pobierzesz wyników i nie porównasz hashy lub właściwości multimediów tam, gdzie wyniki są deterministyczne.

Które dane ConvertX powinny znaleźć się w kopii zapasowej?

Utrwal /app/data i uwzględnij dane aplikacji, konta oraz wszystkie zachowane ustawienia konwersji w tym samym manifeście odtworzeniowym. Czyste odtworzenie ConvertX kończy się powodzeniem tylko wtedy, gdy konta i ustawienia powrócą, a ustalona macierz formatów nadal będzie działać w wybranych limitach.

Czy ConvertX wymaga HTTPS za reverse proxy?

Używaj HTTPS dla publicznego originu ConvertX, a port 3000 pozostaw na wewnętrznym route. Zastosuj poprawnie ustawienie ConvertX: udostępnij interfejs przez HTTPS z celowo ustalonymi limitami uploadów. W przypadku ConvertX HTTPS chroni dane logowania lub treści użytkowników podczas przesyłania i zapewnia spójne działanie klienta zależne od originu.

Jak testować aktualizację ConvertX?

Odtwórz bieżący stan ConvertX w izolowanym wdrożeniu, zastosuj wersję kandydującą i powtórz transakcję akceptacyjną. Zwróć szczególną uwagę na to, że nowe wydania obrazu mogą dodawać lub usuwać konwertery, dlatego przetestuj dokładną macierz formatów, od której zależą użytkownicy. Zachowaj poprzedni obraz ConvertX do czasu poznania granic migracji danych i wycofania zmian.