DLQ: headless Download Queue pro domácí server
Na domácím serveru provozuji běžné věci z homelabu: zálohy, média a občas i „stáhnu si to a vyřeším později“. Dlouho jsem na to používal JDownloader2. Je to silný a osvědčený nástroj, který řeší spoustu reálných problémů.
Moje konkrétní nasazení ale bylo od začátku trochu zvláštní: JDownloader2 běžel v Dockeru na serveru a já ho ovládal přes VNC v prohlížeči. Fungovalo to, jenže z praktického pohledu to často zbytečně zpomalovalo práci. Sdílení schránky bylo dvoufázové (nejdřív do VNC klienta v prohlížeči, pak do vzdálené plochy a teprve potom do JD2). Měnění velikosti desktopového UI v okně prohlížeče nikdy nebylo stabilní. Na mobilu to bylo téměř nepoužitelné. A hlavně: neexistovala čistá cesta, jak přidávat odkazy z CLI, pokud jsem se nechtěl opírat o MyJDownloader (online služba + účet), což jsem pro server v racku nechtěl.
Postupně mi došlo, že nepotřebuji „download manager jako desktop aplikaci“. Potřebuji malou službu, která vystaví frontu.
Tak vzniklo DLQ (Download Queue): minimalistický headless Download Queue daemon + CLI, inspirovaný základní myšlenkou JDownloaderu, ale navržený pro Docker a terminál. A upřímně, byl v tom i další důvod: chtěl jsem se naučit Go a SvelteKit, takže jsem je zvolil pro backend/CLI a volitelné web UI.
Repo projektu: github.com/Witriol/dlq-download-queue