NaplóindexDockup / terepjegyzet
Note / self-host-picoshare

A PicoShare saját üzemeltetése 2026-ban: feltöltések, megosztott titkok és tárhely

Üzemeltesd saját környezetben a PicoShare-t megfelelő portokkal, tartós tárhellyel, HTTPS-sel, titkokkal, biztonsági mentésekkel és frissítési ellenőrzésekkel. Ismerd meg, hogyan javítható, ha a feltöltések elérik a proxy korlátait.

A PicoShare saját üzemeltetése az első újratelepítésnél válik érdekessé, nem az első docker run futtatásakor. Ha a feltöltések elérik a proxy korlátait, vagy a fájlok eltűnnek egy ephemeral /data útvonal miatt, a Docker ettől még teljesen egészséges folyamatot jelezhet. Az alábbi telepítés a megfigyelhető működés köré épül: tölts fel egy fájlt, töltsd le egy friss böngészőből, teszteld a lejáratot vagy a törlést, majd próbáld újra egy választott méretkorláthoz közeli fájllal.

A PicoShare rendeltetése egyértelmű: minimális fájlmegosztás, amely a feltöltésekből linkeket hoz létre. Ez a leírás megmutatja, minek kell nyilvánosnak maradnia, mit érdemes privátan kezelni, és mit kell egy biztonsági mentésnek helyreállítania.

Tedd mérhetővé a PicoShare helyreállítását

Készíts helyreállítási jegyzéket a PicoShare-hoz: a feltöltött fájlokról, valamint a /data könyvtárban található PicoShare-metaadatokról. A bootstrap előtt csatold a /data könyvtárat, írj bele ártalmatlan mintaadatokat, majd cseréld le a containert annak bizonyítására, hogy az útvonal valóban tartós. Ellenőrizd most a tulajdonjogokat és a szabad lemezterületet, mert egy csatolt, de nem írható útvonal gyakorlatilag ugyanúgy viselkedik, mintha egyáltalán nem lenne tartós tárhely.

A biztonsági mentést a futó szervertől különálló hibadomainbe készítsd. Állítsd helyre a PicoShare-t a rögzített image-ből, majd ellenőrizd, hogy a feltöltött bájtok és a metaadatok visszatérnek-e, illetve hogy a meglévő linkek egy mintája azonos hashértékű fájlokat tölt-e le. A tartós kötetekről szóló útmutató segít ezt a gyakorlatot snapshot- és megőrzési szabályzattá alakítani.

A PicoShare production felépítése

A PicoShare HTTP-folyamata a 4001-es porton figyel; ezt a portot tartsd meg az alkalmazás hálózatán, és csak a platform route-ját publikáld. A helyi runtime-követelmény egy tartós adatvolume és elegendő lemezterület a megőrzött fájlok számára. Dokumentáld az elvárt kapacitást, tulajdonjogokat és hibamódot ahelyett, hogy ezeket az image alapértelmezéseire bíznád.

Írd le rövid szerződésként a határt: ki felel a követelményért, melyik credentialt használod, milyen timeout fogadható el, és hogyan jelenik meg a hiba. Ezután futtasd le ezt a tranzakciót: tölts fel egy fájlt, töltsd le egy friss böngészőből, teszteld a lejáratot vagy a törlést, majd próbáld újra egy választott méretkorláthoz közeli fájllal. A futtatás közben figyeld a lemezkapacitást, a feltöltési sávszélességet, a proxy body limitjeit és a párhuzamos letöltéseket, mert ez a terhelés hasznosabb kiindulási méretet ad, mint egy tétlen container.

A PicoShare release gate-je

Alakítsd át a PicoShare smoke tesztjét ismételhető release paranccsá vagy rövid runbookká. A kimenetének ezt az eredményt kell bizonyítania: tölts fel egy fájlt, töltsd le egy friss böngészőből, teszteld a lejáratot vagy a törlést, majd próbáld újra egy választott méretkorláthoz közeli fájllal. Az eredménnyel együtt rögzítsd az alkalmazás verzióját, a container digestjét, a route hostname-ját és a tesztadatok azonosítóját.

Futtasd le ugyanezt az ellenőrzést egy szokásos containercsere után, valamint a feltöltött fájlok és a /data könyvtárban található PicoShare-metaadatok máshol történő helyreállítása után is. A restore akkor sikeres, ha a feltöltött bájtok és a metaadatok visszatérnek, továbbá a meglévő linkek egy mintája azonos hashértékű fájlokat tölt le. Hasonlítsd össze a lemezkapacitással, a feltöltési sávszélességgel, a proxy body limitjeivel és a párhuzamos letöltésekkel kapcsolatos időzítést és fogyasztást; a jelentős változás kivizsgálást érdemel akkor is, ha a végső művelet továbbra is sikeres.

Ezután gyakorolj be egy biztonságos hibát: küldj ártalmatlan bemenetet a határhoz tartozó erőforrás- vagy formátumkorlát közelében: a feltöltések elérik a proxy korlátait, vagy a fájlok eltűnnek egy ephemeral /data útvonal miatt. Ellenőrizd, hogy a PicoShare jelzi a hibát, majd romboló kézi módosítások nélkül visszatér normál állapotba. Csak a szükséges, redaktált logrészletet őrizd meg. Ez a négy részből álló gate az indulást, a perzisztenciát, a helyreállítást és a hibakezelést fedi le.

Érdemes átnézni a containerbeállításokat

Úgy indítsd el a PicoShare-t, hogy a route privát maradjon a bootstrap befejezéséig.

docker run -d \
  --name picoshare \
  --restart unless-stopped \
  -p 127.0.0.1:4001:4001 \
  -v picoshare-data:/data \
  -e PS_SHARED_SECRET=replace-with-a-long-random-value \
  mtlynch/picoshare:latest

Ha a folyamat újra és újra leáll, hasonlítsd össze az image által elvárt usert az egyes csatolt útvonalak tulajdonosával. Ha futva marad, teszteld helyben a 4001-es portot, majd azonnal térj át a munkafolyamatra: tölts fel egy fájlt, töltsd le egy friss böngészőből, teszteld a lejáratot vagy a törlést, majd próbáld újra egy választott méretkorláthoz közeli fájllal. Csak akkor rögzítsd az image verzióját, ha ez a végponttól végpontig tartó ellenőrzés sikeres, és a pontos konfigurációt is jegyezd fel a service mellett.

Csökkentsd a PicoShare jogosultságait

A bootstrap credentialjei ideiglenesek, a trust model viszont tartós. A PicoShare esetében figyelj arra, hogy ne használj könnyen kitalálható megosztott titkot, és ne biztosíts korlátlan anonymous tárhelyet; használj hosszú megosztott titkot, alkalmazz rate limitet a feltöltésekre, és ne alakítsd a szolgáltatást korlátlan anonymous tárhellyé.

Azonnal cseréld le a minta PS_SHARED_SECRET értékét, az image-en kívül tárold, és ha nyilvánosságra kerül, adminisztrátori credentialként kezeld és rotáld. Futtasd az image-et szükségtelen Linux capability-k nélkül, és csak a nyilvános alkalmazási route-ot tedd elérhetővé. Az adminisztrátori tevékenységet tartsd láthatóan, de a titkos értékeket ne rögzítsd.

Irányítsd a PicoShare-t úgy, hogy az HTTPS valóban HTTPS legyen

Kerüld a PicoShare ideiglenes és végleges nyilvános originjeit. Ehelyett publikálj egyetlen HTTPS origint, méretezd a proxyt a várt feltöltésekhez, irányítsd a választott DNS-nevet a platform route-jára, és csak a 4001-es portra proxyzz.

A hoston kívülről hajtsd végre ezt a műveletet: tölts fel egy fájlt, töltsd le egy friss böngészőből, teszteld a lejáratot vagy a törlést, majd próbáld újra egy választott méretkorláthoz közeli fájllal. Ha az ingress sikertelen, a 502-es hibák elhárításáról szóló útmutató a port- és listenerhibák kezelését ismerteti. Ha a PicoShare megkapja a kérést, de a feltöltések elérik a proxy korlátait, vagy a fájlok eltűnnek egy ephemeral /data útvonal miatt, akkor a bizonyíték már a proxyn túli problémára utal.

Kapacitás- és frissítési ellenőrzések

Egy tétlen health check keveset árul el a PicoShare állapotáról. Figyeld a lemezkapacitást, a feltöltési sávszélességet, a proxy body limitjeit és a párhuzamos letöltéseket, majd arra a tünetre adj riasztást, amelyet a felhasználók tapasztalnak: a „tölts fel egy fájlt, töltsd le egy friss böngészőből, teszteld a lejáratot vagy a törlést, majd próbáld újra egy választott méretkorláthoz közeli fájllal” művelet sikertelenségére. A liveness maradjon helyi és olcsó; a readiness jelezze a migrationt vagy az inicializálást anélkül, hogy restart stormot okozna.

A kockázatos frissítési terület az, hogy a frissítés előtt ellenőrizni kell a PicoShare metaadatait és fájlelrendezését, mert a link csak addig használható, amíg a kettő összhangban van. Olvasd el a release note-okat, készíts snapshotot az állapotról, telepítsd a célverziót egy helyreállított másolatra, majd ismételd meg az elfogadási műveletet. Ha a feltöltések elérik a proxy korlátait, vagy a fájlok eltűnnek egy ephemeral /data útvonal miatt, korreláld a klienskérést az első releváns alkalmazásloggal, ahelyett hogy vaktában állapotot törölnél vagy redirecteket adnál hozzá.

Telepítsd a PicoShare-t Dockupon a határok megőrzésével

A Dockup eltávolítja a PicoShare körüli kézi reverse proxy- és lifecycle-munkát. A service stabil HTTPS route-ot kap a 4001-es porthoz, injectált konfigurációt és tartós tárhelyet a cserék során. A csatolt ügyfélszerver ugyanazt a modellt követi, mint a Dockup által üzemeltetett compute.

Az indítás után teljesítsd az alkalmazási szerződést: publikálj egyetlen HTTPS origint, méretezd a proxyt a várt feltöltésekhez, erősítsd meg a helyi követelményt — egy tartós adatvolume-ot és elegendő lemezterületet a megőrzött fájlok számára —, majd futtasd le ezt a bizonyítást: tölts fel egy fájlt, töltsd le egy friss böngészőből, teszteld a lejáratot vagy a törlést, majd próbáld újra egy választott méretkorláthoz közeli fájllal. Így az egykattintásos élmény hasznos marad anélkül, hogy elrejtené a PicoShare helyreállíthatóságát és biztonságát biztosító részleteket.

Gyakran feltett kérdések

Mire van szüksége a PicoShare-nak production telepítés esetén?

A PicoShare containert a 4001-es porton keresztül, egyetlen HTTPS origin mögött irányítsd. A helyi runtime-követelmény egy tartós adatvolume és elegendő lemezterület a megőrzött fájlok számára. Ne tekintsd késznek a PicoShare-t addig, amíg nem tudsz feltölteni egy fájlt, letölteni egy friss böngészőből, tesztelni a lejáratot vagy a törlést, majd újra próbálkozni egy választott méretkorláthoz közeli fájllal.

Mely PicoShare-adatoknak kell szerepelniük a biztonsági mentésben?

Tartsd meg a /data könyvtárat, és ugyanabban a helyreállítási jegyzékben szerepeltesd a feltöltött fájlokat, valamint a /data könyvtárban található PicoShare-metaadatokat. A tiszta PicoShare restore csak akkor sikeres, ha a feltöltött bájtok és a metaadatok visszatérnek, továbbá a meglévő linkek egy mintája azonos hashértékű fájlokat tölt le.

Szükséges HTTPS a PicoShare számára reverse proxy mögött?

A nyilvános PicoShare originhez használj HTTPS-t, a 4001-es portot pedig tartsd meg a belső route-on. Alkalmazd megfelelően a PicoShare beállítását: publikálj egyetlen HTTPS origint, és méretezd a proxyt a várt feltöltésekhez. A PicoShare esetében a HTTPS védi a credentialeket és a felhasználói tartalmakat átvitel közben, valamint konzisztenssé teszi az originfüggő kliensoldali működést.

Hogyan kell tesztelni egy PicoShare-frissítést?

Állítsd helyre az aktuális PicoShare-állapotot egy izolált telepítésben, alkalmazd a jelölt verziót, majd ismételd meg az elfogadási tranzakciót. Fordíts különös figyelmet arra, hogy a frissítés előtt ellenőrizni kell a PicoShare metaadatait és fájlelrendezését, mert a link csak addig használható, amíg a kettő összhangban van. Tartsd meg az előző PicoShare image-et addig, amíg nem tisztázod az adatmigration és a rollback határait.