Skip to main content

FAQ

Kontrola

O: Co mám dělat, pokud je moje kontrola zamítnuta?
Prostudujte důvod zamítnutí, opravte jej a odešlete znovu. Mezi běžné důvody zamítnutí patří: chyby formátu JSON, nezvýšené číslo verze, chybějící jazykové soubory, konflikty portů. Podrobnosti viz kapitola Standardy kontroly.

O: Jak dlouho trvá kontrola?
Obvykle 3–5 pracovních dnů. První podání může trvat déle (úplná ruční kontrola veškerého obsahu). Kontroly aktualizovaných verzí jsou rychlejší (obvykle 1–3 pracovní dny).

O: Lze ID aplikace změnit?
Po vytvoření jej nelze změnit. Před zveřejněním pečlivě zkontrolujte ID aplikace.

Technické problémy

O: Co mám dělat s konflikty portů?

  • Použití systémem vyhrazených portů je zakázáno: 22, 80, 443, 8181, 5050
  • Doporučený rozsah: 8000–19999
  • Zjistěte obsazenost portů ve skriptu preinst před instalací
  • Různé aplikace používají různé porty; platforma porty nepřiděluje automaticky

O: Jaká jsou pravidla číslování verzí?

  • Řiďte se sémantickou verzí (SemVer): major.minor.patch
  • Každé podání musí být přísně vyšší než předchozí verze; downgrade jsou zakázány
  • Pro beta verze použijte pole "beta": true; přípony řetězce verze (-beta/-rc) nejsou podporovány
  • Maximální délka řetězce verze: 20 znaků

O: Jeden balíček nebo duální balíček?

  • Začínáte od nuly → Režim jednoho balíčku (všechny soubory integrované do jednoho deb balíčku)
  • Existující univerzální standardní deb balíček, složité sestavení → Režim duálního balíčku (zdrojový balíček + datový balíček)
  • Jednoduchý binární program → Režim jednoho balíčku

O: Soubor config.ini má příponu .ini, ale obsah je JSON — proč?
Starší konfigurační systémy TOS používaly příponu .ini. Pro zachování zpětné kompatibility a snížení migračních nákladů vývojářů si nové verze ponechávají tuto příponu, ale interní analyzátor byl povýšen na formát JSON. Vývojáři stačí psát pomocí syntaxe JSON.

Instalace a spouštění

O: Co mám dělat, pokud instalace aplikace selže?

  1. Zkontrolujte systemctl status <system_id> pro zobrazení stavu služby
  2. Zkontrolujte journalctl -u <system_id> -n 50 pro zobrazení protokolů služby
  3. Ověřte, že jsou všechna povinná pole v config.ini správně vyplněna
  4. Ověřte, že cesta a oprávnění souboru služby systemd jsou správné
  5. Ověřte, že port není používán: ss -tlnp | grep <port>

O: Jak ladím aplikace s interním otevíráním WebUI?

  1. Zkontrolujte, zda existuje /var/api/<app_id>.sock
  2. K přímému otestování backendu použijte curl --unix-socket /var/api/<app_id>.sock http://localhost/
  3. V panelu Network nástrojů DevTools prohlížeče zkontrolujte požadavky na /v2/proxy/<app_id>/
  4. Ověřte, že frontend správně zahrnuje hlavičky Cookie a X-Csrf-Token

O: Jak ladím aplikace s externím otevíráním WebUI?

  1. Zkontrolujte, že backend naslouchá na 0.0.0.0:<port> (ne 127.0.0.1)
  2. Zkontrolujte cestu a syntaxi konfiguračního souboru nginx: nginx -t
  3. Přímým přístupem na http://<TNAS_IP>:<port> potvrďte, že backend odpovídá správně
  4. Ověřte, že port proxy_pass v bloku location nginx odpovídá portu, na kterém naslouchá backend