Rejstřík deníkuDockup / terénní poznámka
Note / self-host-picoshare

Jak si v roce 2026 hostovat PicoShare: uploady, sdílená tajemství a úložiště

Hostujte PicoShare sami se správně nastavenými porty, persistentním úložištěm, HTTPS, tajemstvími, zálohami a kontrolami upgradu. Naučte se opravit situaci, kdy uploady narazí na limity proxy.

Self-hosting PicoShare začne být zajímavý při prvním redeployi, ne při prvním docker run. Pokud uploady narazí na limity proxy nebo soubory zmizí kvůli ephemeral cestě /data, Docker může stále hlásit dokonale zdravý proces. Níže uvedené nasazení je postavené na pozorovatelném chování: nahrajte soubor, stáhněte ho v novém okně prohlížeče, otestujte expiraci nebo smazání a zopakujte test se souborem blízko zvoleného limitu velikosti.

Účel PicoShare je jasný: minimalistické sdílení souborů, které mění uploady na odkazy. Z tohoto popisu vyplývá, co musí zůstat veřejné, co by mělo zůstat soukromé a co musí záloha obnovit.

Změřte obnovu PicoShare

Vytvořte recovery manifest pro PicoShare: nahrané soubory a metadata PicoShare v /data. Připojte /data ještě před bootstrapem, zapište neškodná testovací data a nahraďte kontejner, abyste ověřili, že je tato cesta skutečně persistentní. Zkontrolujte vlastnictví a volné místo hned teď, protože připojená, ale nezapisovatelná cesta se chová, jako by žádná persistence neexistovala.

Zálohujte do failure domain oddělené od běžícího serveru. Znovu vytvořte PicoShare z pinned image a ověřte, že se vrátí nahrané bajty i metadata a že vzorek existujících odkazů stáhne soubory se shodnými hashi. Příručka k persistentním svazkům pomůže převést toto cvičení do podoby snapshot a retention policy.

Produkční podoba PicoShare

HTTP proces PicoShare naslouchá na portu 4001; tento port ponechte v aplikační síti a zveřejněte pouze route platformy. Lokálním požadavkem runtime je durable data volume a dostatek místa na disku pro uchovávané soubory. Očekávanou kapacitu, vlastnictví a způsob selhání zdokumentujte, místo abyste je ponechali jako výchozí nastavení image.

Sepište hranici jako krátký kontrakt: kdo požadavek vlastní, které credentials se používají, jaký timeout je přijatelný a jak se selhání projeví. Poté spusťte tuto transakci: nahrajte soubor, stáhněte ho v novém okně prohlížeče, otestujte expiraci nebo smazání a zopakujte test se souborem blízko zvoleného limitu velikosti. Během testu sledujte kapacitu disku, upload bandwidth, limity velikosti těla proxy a souběžné downloady, protože tato zátěž poskytne užitečnější výchozí velikost než nečinný kontejner.

Release gate pro PicoShare

Převeďte smoke test PicoShare na opakovatelný release command nebo stručný runbook. Jeho výstup musí prokázat tento výsledek: nahrajte soubor, stáhněte ho v novém okně prohlížeče, otestujte expiraci nebo smazání a zopakujte test se souborem blízko zvoleného limitu velikosti. K výsledku zaznamenejte verzi aplikace, digest kontejneru, hostname route a identifikátor testovacích dat.

Stejnou kontrolu spusťte po běžné výměně kontejneru a po obnovení nahraných souborů a metadat PicoShare v /data na jiném místě. Obnova je úspěšná, když se vrátí nahrané bajty i metadata a vzorek existujících odkazů stáhne soubory se shodnými hashi. Porovnejte časování a spotřebu související s kapacitou disku, upload bandwidth, limity velikosti těla proxy a souběžnými downloady; velká změna stojí za prozkoumání, i když finální akce stále projde.

Poté otestujte bezpečné selhání: odešlete neškodný vstup blízko limitu zdrojů nebo formátu spojeného s touto hranicí: uploady narazí na limity proxy nebo soubory zmizí kvůli ephemeral cestě /data. Ověřte, že PicoShare chybu zobrazí a bez destruktivních ručních úprav se vrátí do normálního stavu. Uchovejte pouze nezbytný, redigovaný výňatek z logu. Tento čtyřdílný gate pokrývá spuštění, persistenci, obnovu a zpracování selhání.

Nastavení kontejneru, které stojí za kontrolu

Spusťte PicoShare tak, aby route zůstala soukromá až do dokončení bootstrapu.

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

Pokud proces opakovaně padá a spouští se, porovnejte očekávaného uživatele image s vlastníkem každé připojené cesty. Pokud zůstane běžet, otestujte lokálně port 4001 a poté rovnou projděte workflow: nahrajte soubor, stáhněte ho v novém okně prohlížeče, otestujte expiraci nebo smazání a zopakujte test se souborem blízko zvoleného limitu velikosti. Image připněte na konkrétní verzi teprve po úspěšném end-to-end testu a přesnou konfiguraci zaznamenejte vedle služby.

Omezte oprávnění, která PicoShare drží

Bootstrap credentials jsou dočasné; trust model je trvalý. U PicoShare si dejte pozor na použití snadno uhádnutelného sdíleného tajemství nebo na poskytování neomezeného anonymního úložiště. Použijte dlouhé sdílené tajemství, omezte rychlost uploadů a zabraňte tomu, aby se služba změnila v anonymní úložiště bez limitů.

Ukázkovou hodnotu PS_SHARED_SECRET okamžitě nahraďte, uložte ji mimo image a při jejím odhalení ji rotujte stejně jako credentials administrátora. Spusťte image bez zbytečných Linux capabilities a zveřejněte pouze veřejnou aplikační route. Aktivitu administrátorů ponechte viditelnou, ale nezapisujte hodnoty tajemství.

Směrujte PicoShare, aniž byste předstírali HTTPS

Vyhněte se dočasným i trvalým veřejným originům pro PicoShare. Místo toho zveřejněte jeden HTTPS origin, nastavte velikost proxy podle očekávaných uploadů, nasměrujte zvolený DNS název na route platformy a proxy směrujte pouze na port 4001.

Tuto akci otestujte mimo hostitele: nahrajte soubor, stáhněte ho v novém okně prohlížeče, otestujte expiraci nebo smazání a zopakujte test se souborem blízko zvoleného limitu velikosti. Pokud ingress selže, příručka k řešení potíže 502 pokrývá chyby portů a listenerů. Pokud PicoShare požadavek přijme, ale uploady narazí na limity proxy nebo soubory zmizí kvůli ephemeral cestě /data, důkazy nyní ukazují mimo proxy.

Kontroly kapacity a upgradu

Nečinný health check o PicoShare mnoho neřekne. Sledujte kapacitu disku, upload bandwidth, limity velikosti těla proxy a souběžné downloady a upozorňujte na symptom, který uživatelé skutečně zažívají: selhání akce „nahrajte soubor, stáhněte ho v novém okně prohlížeče, otestujte expiraci nebo smazání a zopakujte test se souborem blízko zvoleného limitu velikosti“. Liveness ponechte lokální a nenáročnou; readiness může hlásit migrace nebo inicializaci, aniž by způsobila restart storm.

Rizikovou oblastí upgradu je skutečnost, že metadata PicoShare a layout souborů je třeba před upgradem zkontrolovat, protože odkaz je užitečný pouze tehdy, když se obojí shoduje. Přečtěte si release notes, vytvořte snapshot stavu, nasaďte cílovou verzi nad obnovenou kopií a zopakujte acceptance action. Pokud uploady narazí na limity proxy nebo soubory zmizí kvůli ephemeral cestě /data, spojte klientský požadavek s prvním relevantním aplikačním logem, místo abyste bez rozmyslu mazali stav nebo přidávali redirecty.

Nasaďte PicoShare na Dockup, aniž byste porušili jeho hranice

Dockup odstraňuje ruční práci s reverse proxy a lifecycle kolem PicoShare. Služba při výměnách dostane stabilní HTTPS route na port 4001, injectovanou konfiguraci a persistentní úložiště. Připojený zákaznický server funguje podle stejného modelu jako compute hostovaný na Dockup.

Po spuštění splňte aplikační kontrakt: zveřejněte jeden HTTPS origin a nastavte velikost proxy podle očekávaných uploadů, potvrďte lokální požadavek — durable data volume a dostatek místa na disku pro uchovávané soubory — a proveďte tento důkaz: nahrajte soubor, stáhněte ho v novém okně prohlížeče, otestujte expiraci nebo smazání a zopakujte test se souborem blízko zvoleného limitu velikosti. Díky tomu zůstane one-click experience užitečná, aniž by se ztratily detaily, které zajišťují obnovitelnost a bezpečnost PicoShare.

Často kladené otázky

Co PicoShare potřebuje pro produkční nasazení?

Směrujte kontejner PicoShare na portu 4001 přes jeden HTTPS origin. Lokálním požadavkem runtime je durable data volume a dostatek místa na disku pro uchovávané soubory. PicoShare neoznačujte za připravené, dokud nemůžete nahrát soubor, stáhnout ho v novém okně prohlížeče, otestovat expiraci nebo smazání a zopakovat test se souborem blízko zvoleného limitu velikosti.

Která data PicoShare patří do zálohy?

Persistujte /data a do stejného recovery manifestu zahrňte nahrané soubory i metadata PicoShare v /data. Čistá obnova PicoShare je úspěšná pouze tehdy, když se vrátí nahrané bajty i metadata a vzorek existujících odkazů stáhne soubory se shodnými hashi.

Vyžaduje PicoShare HTTPS za reverse proxy?

Pro veřejný origin PicoShare použijte HTTPS a port 4001 ponechte na interní route. Nastavení PicoShare aplikujte správně: zveřejněte jeden HTTPS origin a nastavte velikost proxy podle očekávaných uploadů. U PicoShare HTTPS chrání credentials nebo obsah uživatelů během přenosu a udržuje konzistentní chování klienta závislé na originu.

Jak testovat upgrade PicoShare?

Obnovte aktuální stav PicoShare do izolovaného nasazení, aplikujte kandidátní verzi a zopakujte jeho acceptance transaction. Věnujte tomu zvláštní pozornost, protože metadata PicoShare a layout souborů je třeba před upgradem zkontrolovat, protože odkaz je užitečný pouze tehdy, když se obojí shoduje. Předchozí image PicoShare si ponechte, dokud nebudou jasné hranice migrace dat a rollbacku.