Slik selvhoster du ConvertX i 2026: opplastinger, JWT-hemmeligheter og ressursgrenser
Selvhost ConvertX med riktige porter, persistent lagring, HTTPS, secrets, sikkerhetskopier og oppgraderingssjekker. Lær hvordan du løser problemet når en converter binary mangler.
Det finnes to versjoner av «å kjøre ConvertX»: En container eksisterer, eller tjenesten fullfører den faktiske jobben. Det er bare den siste som betyr noe. Her er beviset å laste opp flere representative formater, konvertere hvert av dem, laste ned resultatene og sammenligne hasher eller medieegenskaper der resultatet er deterministisk.
ConvertX er laget for dette: en nettleserbasert tjeneste for filkonvertering. Distribusjonen må bevare komponentene som ligger bak denne funksjonaliteten. En port, et volume og et sertifikat er innganger, ikke resultatet.
Velg den minste brukbare ConvertX-topologien
Start med ConvertX sitt network namespace: web listeneren bruker port 3000, ikke en host-port kopiert fra en laptop-tutorial. Kravene til det lokale runtime-miljøet er CPU, minne og midlertidig disk som er tilpasset de valgte converterne. Dokumenter forventet kapasitet, eierskap og failure mode i stedet for å la dette være en image-default.
Når kravet er oppfylt, kjører du hele scenarioet — laster opp flere representative formater, konverterer hvert av dem, laster ned resultatene og sammenligner hasher eller medieegenskaper der resultatet er deterministisk. Loggfør logger og målinger for CPU, minne, midlertidig disk, filstørrelse og converter-binariene som brukes av hvert formatpar. Disse bevisene blir den første kjente fungerende arkitekturen og gjør senere flyttinger mellom Dockup compute og en tilkoblet server testbare.
Hold interne og eksterne URL-er adskilt
Unngå midlertidige og permanente offentlige origins for ConvertX. Publiser i stedet brukergrensesnittet via HTTPS med bevisste opplastingsgrenser, pek det valgte DNS-navnet til platform-routen og proxier bare til port 3000.
Test dette utenfra hosten: last opp flere representative formater, konverter hvert av dem, last ned resultatene og sammenlign hasher eller medieegenskaper der resultatet er deterministisk. Hvis ingress feiler, dekker feilsøkingsguiden for 502 feil med port og listener. Hvis ConvertX mottar forespørselen, men en converter binary mangler eller proxyen avviser en stor opplasting, peker bevisene nå forbi proxyen.
Container-innstillinger det er verdt å gå gjennom
Start ConvertX på en måte som holder routen privat til bootstrap er fullført.
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
Hvis prosessen går i loop, sammenligner du imagets forventede bruker med eieren av hver mountede path. Hvis den holder seg oppe, tester du port 3000 lokalt og går deretter direkte til workflowen: last opp flere representative formater, konverter hvert av dem, last ned resultatene og sammenlign hasher eller medieegenskaper der resultatet er deterministisk. Versjonslås imaget først etter at denne end-to-end-sjekken er bestått, og dokumenter den nøyaktige konfigurasjonen sammen med tjenesten.
Øv på den risikable ConvertX-endringen
En inaktiv health check sier lite om ConvertX. Følg med på CPU, minne, midlertidig disk, filstørrelse og converter-binariene som brukes av hvert formatpar, og varsle på symptomet brukerne faktisk opplever: feil i handlingen «last opp flere representative formater, konverter hvert av dem, last ned resultatene og sammenlign hasher eller medieegenskaper der resultatet er deterministisk». Hold liveness lokal og billig, og la readiness rapportere migreringer eller initialisering uten å utløse en restart storm.
Det risikable ved en upgrade er at image-releaser kan legge til eller fjerne convertere. Test derfor den nøyaktige formatmatrisen brukerne er avhengige av. Les release notes, ta et snapshot av state, deploy målversjonen mot en gjenopprettet kopi og gjenta acceptance-handlingen. Hvis en converter binary mangler eller proxyen avviser en stor opplasting, korrelerer du klientforespørselen med den første relevante applikasjonsloggen i stedet for å slette state eller legge til redirects uten å undersøke først.
Fem sjekker som er sterkere enn container health
Ikke gjør førstegangs-trafikk fra brukere til acceptance-testen for ConvertX. Klargjør ufarlig eksempeldata og kjør hele handlingen «last opp flere representative formater, konverter hvert av dem, last ned resultatene og sammenlign hasher eller medieegenskaper der resultatet er deterministisk». Noter den nøyaktige offentlige URL-en, resultatet, image-referansen og loggintervallet som er knyttet til kjøringen.
Bytt ut containeren og gjenta uten å bygge dataene på nytt. Gjenopprett deretter til en tom host. Gjenopprettingskravet er at kontoer og innstillinger kommer tilbake, og at den faste formatmatrisen fortsatt fullføres innenfor de valgte grensene. Observer CPU, minne, midlertidig disk, filstørrelse og converter-binariene som brukes av hvert formatpar i hver gjennomgang, og definer et varsel rundt forringelse av transaksjonen i stedet for rundt inaktive container-målinger.
Én siste sjekk bør feile med vilje: send inn ufarlig input nær ressurs- eller formatgrensen som er knyttet til denne grensen: en converter binary mangler eller proxyen avviser en stor opplasting. Bekreft at den resulterende ConvertX-meldingen identifiserer den relevante grensen, i stedet for å utløse sletting av data eller en endeløs restart. Gjenopprett den gyldige tilstanden og bekreft at den samme eksempeltransaksjonen lykkes. Ta med denne korte øvelsen i release-sjekklisten.
Finn hver persistente byte i ConvertX
Det persistente gjenopprettingssettet består av applikasjonsdata, kontoer og eventuelle lagrede konverteringsinnstillinger. Mount /app/data før bootstrap, skriv ufarlig eksempeldata og bytt ut containeren for å bevise at denne pathen faktisk er persistent. Et volume beskytter data mot at containeren byttes ut, men ikke mot tap av hosten, utilsiktet sletting eller korrupsjon på applikasjonsnivå.
Ta sikkerhetskopier som forstår datakilden: bruk logical dumps for aktive databaser når det kreves, og kopier filer bare fra en konsistent tilstand. Oppbevar én kryptert kopi utenfor ConvertX-hosten. Acceptance-kriteriet for en restore er spesifikt — kontoer og innstillinger skal komme tilbake, og den faste formatmatrisen skal fortsatt fullføres innenfor de valgte grensene. Guiden for restore-testede sikkerhetskopier forklarer hvorfor det ikke er nok at jobben rapporterer suksess.
Begrens rettighetene ConvertX har
Etter første innlogging bør du gå gjennom hva en anonym besøkende, en vanlig bruker og en administrator kan gjøre. ConvertX-feilen du må unngå, er å bruke et eksempel på en JWT-secret eller å tilby ubegrensede offentlige konverteringer. Den tiltenkte policyen er å bruke en ekte JWT-secret, kreve innlogging og begrense opplastinger før du tar imot filer fra internett som du ikke stoler på.
Generer JWT_SECRET som en lang, tilfeldig verdi. Rotering vil normalt ugyldiggjøre sessions eller tokens, så planlegg bruker påvirkningen i stedet for å kalle det en encryption migration. Hold dependency-kontoer adskilt fra menneskelige kontoer, blokker ubrukt egress der det er praktisk, og begrens arbeid som påvirkes av CPU, minne, midlertidig disk, filstørrelse og converter-binariene som brukes av hvert formatpar.
Deploy ConvertX på Dockup uten å miste grensene
Dockup fjerner manuelt arbeid med reverse proxy og lifecycle rundt ConvertX. Tjenesten får en stabil HTTPS-route til 3000, injisert konfigurasjon og persistent lagring når containere byttes ut. En tilkoblet kundeserver følger samme modell som compute som hostes på Dockup.
Etter lansering må du oppfylle applikasjonskontrakten: publiser brukergrensesnittet via HTTPS med bevisste opplastingsgrenser, bekreft det lokale kravet — CPU, minne og midlertidig disk som er tilpasset de valgte converterne — og kjør dette beviset: last opp flere representative formater, konverter hvert av dem, last ned resultatene og sammenlign hasher eller medieegenskaper der resultatet er deterministisk. Dette holder one-click-opplevelsen nyttig uten å viske ut detaljene som gjør ConvertX gjenopprettbar og sikker.
Vanlige spørsmål
Hva trenger ConvertX for en produksjonsdistribusjon?
Route ConvertX-containeren på port 3000 gjennom én HTTPS-origin. Kravene til det lokale runtime-miljøet er CPU, minne og midlertidig disk som er tilpasset de valgte converterne. Ikke betrakt ConvertX som klart før du kan laste opp flere representative formater, konvertere hvert av dem, laste ned resultatene og sammenligne hasher eller medieegenskaper der resultatet er deterministisk.
Hvilke ConvertX-data bør inngå i en sikkerhetskopi?
Gjør /app/data persistent, og inkluder applikasjonsdata, kontoer og eventuelle lagrede konverteringsinnstillinger i det samme gjenopprettingsmanifestet. En ren ConvertX-restore er først godkjent når kontoer og innstillinger kommer tilbake, og den faste formatmatrisen fortsatt fullføres innenfor de valgte grensene.
Krever ConvertX HTTPS bak en reverse proxy?
Bruk HTTPS for den offentlige ConvertX-originen, og hold port 3000 på den interne routen. Bruk ConvertX-innstillingen riktig: publiser brukergrensesnittet via HTTPS med bevisste opplastingsgrenser. For ConvertX beskytter HTTPS credentials eller brukerinnhold under transport og sørger for konsistent klientoppførsel som er avhengig av origin.
Hvordan bør en ConvertX-oppgradering testes?
Gjenopprett gjeldende ConvertX-state til en isolert deployment, bruk kandidatversjonen og gjenta acceptance-transaksjonen. Vær spesielt oppmerksom på at image-releaser kan legge til eller fjerne convertere, og test derfor den nøyaktige formatmatrisen brukerne er avhengige av. Behold det forrige ConvertX-imaget til grensen for datamigrering og rollback er forstått.
