it:server:nextcloud

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
it:server:nextcloud [2025/01/01 14:37] – [Nastavení cronu pro kontinuální skenování obličejů] Petr Nosekit:server:nextcloud [2025/01/15 14:10] (aktuální) – [Nextcloud] Petr Nosek
Řádek 2: Řádek 2:
  
 Při instalaci Nextcloudu v Dockeru jsem se rozhodl zdokumentovat postup a zároveň sdílet zkušenosti s problémy, na které jsem narazil. Použití Dockeru je často výhodné pro snadnou správu kontejnerů, ale i zde je potřeba věnovat pozornost několika detailům. Při instalaci Nextcloudu v Dockeru jsem se rozhodl zdokumentovat postup a zároveň sdílet zkušenosti s problémy, na které jsem narazil. Použití Dockeru je často výhodné pro snadnou správu kontejnerů, ale i zde je potřeba věnovat pozornost několika detailům.
 +
 +
 +===== Přístup přes WebDAV =====
 +
 +Přístup k datům přes WebDAV může být ideální jak přes KODI nebo i v Ubuntu se lze takto připojit k přichystanému serveru. Hledal jsem, jestli je potřeba něco udělat v nastavení nextcloudu, ale není potřeba. 
 +
 +Zde je [[https://docs.nextcloud.com/server/30/user_manual/en/files/access_webdav.html|návod, jak na WebDAV]].
 +
 +V mém případě stačí pracovat s URL:
 +
 +<code>
 +davs://example.com/remote.php/dav/files/USERNAME/
 +</code> 
  
 ===== Problémy s náhledy a přehráváním videí ===== ===== Problémy s náhledy a přehráváním videí =====
Řádek 48: Řádek 61:
   14 => 'OC\\Preview\\MP4',   14 => 'OC\\Preview\\MP4',
   15 => 'OC\\Preview\\AVI',   15 => 'OC\\Preview\\AVI',
 +  16 => 'OC\\Preview\\HEIC',
 +  17 => 'OC\\Preview\\HEIF',
 +  18 => 'OC\\Preview\\EMF',
 ), ),
 </code> </code>
Řádek 91: Řádek 107:
  
  
-===== Úprava EXIF dat =====+===== Nastavení mobilní aplikace pro synchronizaci =====
  
-Nextcloud třídí fotografie podle EXIF dat, což zajišťuje správné řazení dle času pořízení. Pokud však které fotografie EXIF data nemajíNextcloud je automaticky zatřídí podle data nahrání. Abych zajistil správné třídění i u těchto fotografiíbylo nutné změnit jejich EXIF data.+Při používání mobilní aplikace Nextcloud jsem se setkal s kolika problémy při synchronizaci. Proto jsem se rozhodl sepsat postupjak aplikaci nastavit od začátku. Tento postup je možné použít i v případě, že něco nefunguje správně.
  
-Pro tento účel jsem použil nástroj **ExifTool** společně s vlastním skriptemkterý umožňuje rychlou úpravu EXIF dat ímo z íkazové řádkySkript funguje tak, že nastaví datum čas do EXIF atributů fotografie+ 
 +1. **Vymazání dat aplikace**   
 + 
 +Pokud máte aplikaci Nextcloud již nainstalovanou v telefonu, postupujte takto: 
 +  Přejděte do **Nastavení** → **Aplikace** a vyhledejte aplikaci Nextcloud. 
 +  * Klikněte na **Úložiště a mezipaměť**. 
 +  * Zvolte možnost **Vymazat mezipaměť** a následně **Vymazat úložiště**. 
 + 
 +Tento krok vyresetuje všechna lokální nastavení aplikace. Data na serveru i multimediální data v telefonu zůstanou zachována. Tento postup pomáhá odstranit případné chyby v synchronizaci způsobené nesprávnými daty uloženými v systému. 
 + 
 +{{:it:server:pasted:20250101-230911.png?400}} 
 + 
 +{{:it:server:pasted:20250101-231015.png?400}} 
 + 
 + 
 +2. **Nové přihlášení a nastavení synchronizace**   
 + 
 +Spusťte aplikaci znovu, projděte přihlašovacím procesem a přejděte do menu nastavením automatického nahrávání. Nastavte následující parametry: 
 + 
 +   * **Vzdálená položka** - Vyberte složku na serverukam chcete soubory nahrávat. 
 + 
 +   * **Nahrávat pouze přes neúčtované Wi-Fi připojení** - Pokud chcete synchronizovat pouze přes Wi-Fi, zaškrtněte tuto možnost. 
 + 
 +   * **Také nahrát už existující soubory** - Tuto volbu doporučuji vždy zaškrtnout. Pokud ji nevyberete, budou se nahrávat pouze nově vytvořené soubory (např. fotografie a videa). Spouštěčem nahrávání v tomto ípadě bude vytvoření nového souboru. Pokud zaškrtnete tuto možnost, nahrají se i všechny existující soubory. Tato volba je relevantní pouze i prvotním nahrávání. Po nahrání všech dat se již tato volba nepoužívá, protože následné synchronizace budou probíhat pouze pro nové soubory. 
 + 
 +   * **Co udělat, pokud soubor už existuje?** - Zvolte možnost **Přeskočit nahrávání**Tím se zabrání vzniku duplicitprotože pokud soubor již na serveru existuje, aplikace jej vynechá přejde k dalšímu souboru.
  
  
 +{{:it:server:pasted:20250101-231211.png?400}}
 ===== Úprava EXIF dat ===== ===== Úprava EXIF dat =====
  
Řádek 352: Řádek 394:
 <code bash> <code bash>
 docker exec -u 33 -it nextcloud php /var/www/html/occ face:setup -m 3 docker exec -u 33 -it nextcloud php /var/www/html/occ face:setup -m 3
 +</code>
 +
 +Více informací o jednotlivých modelech: https://github.com/matiasdelellis/facerecognition/wiki/Models#model-4
 +
 +Mezi jednotlivými modely lze kdykoli přepínat. Pokud chci použít model 4, musím nejdříve nainstaslovat model 1, 3 a pak je možné nainstalovat model 4.
 +
 +Když přepnu mezi jednotlivými modely, tak každý model má svoje uložená data. Takže například pokud si vytrénuju model 4 a chci provést migraci dat na model 3, tak nejprve přepnu na model 3, a pak mohu provést migraci:
 +
 +<code bash>
 +docker exec -u 33 -it nextcloud php /var/www/html/occ face:setup -m 3
 +docker exec -u 33 -it nextcloud php /var/www/html/occ face:migrate -m 4 -u admin
 +docker exec -u 33 -it nextcloud php /var/www/html/occ face:background_job -u admin
 +</code>
 +
 +Po migraci je potřeba znovu vytvořit clustery. Migrace říká, že chci do současného modelu přenést data z modelu 4. 
 +
 +Pokud chci vyresetovat data, musím být v konkrétním modelu a mohu data vyresetovat takto:
 +<code bash>
 +docker exec -u 33 -it nextcloud php /var/www/html/occ face:reset --model -u admin
 </code> </code>
  
Řádek 400: Řádek 461:
   * **-t 900**: Nastavuje maximální dobu běhu na 900 sekund (15 minut).   * **-t 900**: Nastavuje maximální dobu běhu na 900 sekund (15 minut).
  
 +
 +==== Ignorování adresářů ====
 +
 +
 +Pokud nechcete, aby byl určitý adresář procházen při rozpoznávání, můžete do něj přidat příslušné soubory:
 +
 +    .nomedia: Pro úplné vyloučení z rozpoznávání.
 +
 +Například pro ignorování všech souborů v cestě `path/to/your/folder/*` přidejte soubor `path/to/your/folder/.nomedia`
 +
 +Vycházím z [[https://github.com/matiasdelellis/facerecognition/issues/446|této diskuse]], protože v dokumentaci pluginu jsem tuto informaci bohužel nenašel.
  
 ==== Použití Face Recognition na externím modelu ==== ==== Použití Face Recognition na externím modelu ====
Řádek 509: Řádek 581:
 Použití externího modelu přináší výhody při zpracování velkých datasetů, zejména na méně výkonných zařízeních, jako je Raspberry Pi. Použití externího modelu přináší výhody při zpracování velkých datasetů, zejména na méně výkonných zařízeních, jako je Raspberry Pi.
  
 +
 +==== Další příkazy pro Face Recognition ====
 +
 +=== Face Analysis ===
 +
 +<code>
 +occ face:background_job [-u|--user_id USER_ID] [-t|--timeout TIMEOUT] [--defer-clustering] [-M|--max_image_area MAX_IMAGE_AREA]
 +</code>
 +
 +Tento příkaz je hlavním nástrojem pro analýzu fotografií:
 +
 +  * **Funkce**: Vyhledává obrázky, analyzuje je a třídí nalezené obličeje do skupin podobných osob (clustering).
 +  * **Parametry**:
 +    - **-u USER_ID**: Analyzuje pouze fotografie konkrétního uživatele. Uživatel musí analýzu povolit individuálně.
 +    - **-t TIMEOUT**: Nastavuje maximální dobu (v sekundách), po kterou příkaz běží. Po uplynutí doby se příkaz zastaví a pokračuje při dalším spuštění.
 +    - **-M MAX_IMAGE_AREA**: Omezuje maximální plochu obrázku (v pixelech²) pro zpracování, čímž snižuje paměťové nároky.
 +    - **--defer-clustering**: Odkládá třídění obličejů na konec analýzy.
 +
 +Tento příkaz je doporučeno spustit manuálně před jeho zařazením do cron úlohy, aby se ověřila konfigurace a dostupné systémové prostředky.
 +
 +
 +=== Vytváření alb v aplikaci Photos ===
 +
 +<code>
 +occ face:sync-albums [-u|--user_id USER_ID]
 +</code>
 +
 +  * **Funkce**: Vytváří alba v aplikaci Nextcloud Photos na základě rozpoznaných osob.
 +  * **Parametry**:
 +    - **-u USER_ID**: Synchronizuje alba pouze pro daného uživatele.
 +  * **Poznámka**: Jakékoliv úpravy alb provedené v aplikaci Photos budou při dalším spuštění tohoto příkazu přepsány.
 +
 +=== Resetování informací ===
 +
 +<code>
 +occ face:reset [--all] [--model] [--image-errors] [--clustering] [-u|--user_id USER_ID]
 +</code>
 +
 +  * **Funkce**: Umožňuje resetovat databázi obličejů a souvisejících informací.
 +  * **Parametry**:
 +    - **--all**: Smaže všechny informace o obrázcích, obličejích a skupinách osob.
 +    - **--model**: Resetuje aktuální model a nutí k nové analýze všech obrázků.
 +    - **--clustering**: Resetuje pouze seskupování obličejů (clustering).
 +    - **--image-errors**: Resetuje pouze obrázky, u kterých došlo k chybám při analýze.
 +    - **-u USER_ID**: Resetuje data pouze pro konkrétního uživatele.
 +
 +=== Migrace modelů ===
 +
 +<code>
 +occ face:migrate [-m|--model_id MODEL_ID] [-u|--user_id USER_ID]
 +</code>
 +
 +  * **Funkce**: Migrace rozpoznaných obličejů mezi modely.
 +  * **Parametry**:
 +    - **-m MODEL_ID**: Určuje model, do kterého budou data migrována.
 +    - **-u USER_ID**: Migruje data pouze pro daného uživatele.
 +  * **Poznámka**: Jména osob nejsou přenesena a musí být znovu zadána uživatelem.
 +
 +=== Statistiky ===
 +
 +<code>
 +occ face:stats [-u|--user_id USER_ID] [-j|--json]
 +</code>
 +
 +  * **Funkce**: Poskytuje souhrn počtu obrázků, rozpoznaných obličejů a identifikovaných osob.
 +  * **Parametry**:
 +    - **-u USER_ID**: Vrací statistiky pouze pro konkrétního uživatele.
 +    - **-j**: Výstup ve formátu JSON pro snadné zpracování jinými nástroji.
 +
 +=== Stav analýzy ===
 +
 +<code>
 +occ face:progress
 +</code>
 +
 +  * **Funkce**: Zobrazuje průběh analýzy a odhadem dobu potřebnou k dokončení.
 +  * **Parametry**:
 +    - **-j**: Výstup ve formátu JSON pro snadné zpracování jinými nástroji.
 +
 +Tyto příkazy pokrývají širokou škálu úloh a umožňují plně kontrolovat proces rozpoznávání obličejů v Nextcloudu. Pro optimální využití je důležité přizpůsobit parametry podle dostupných prostředků a potřeb konkrétního prostředí.
  
  
Řádek 813: Řádek 965:
  
 Tímto způsobem lze identifikovat potenciální problémy a optimalizovat přístup k databázi. Tímto způsobem lze identifikovat potenciální problémy a optimalizovat přístup k databázi.
 +
 +
 +
 +===== Migrace dat na server Nextcloudu =====
 +
 +Při migraci dat na nový server Nextcloudu jsem původně postupoval velmi komplikovaně. Data jsem nejprve stáhl na svůj počítač a poté je přes webové rozhraní nahrával na nový server. Tento přístup byl ale pomalý a neefektivní. Nahrávání přes webové rozhraní jsem používal hlavně proto, aby se soubory správně zapsaly do databáze Nextcloudu.
 +
 +Začal jsem zvažovat, zda by bylo možné nahrávat soubory přímo do adresáře **nextcloud/data/uživatel/files** na serveru. Takový postup však vyžaduje další kroky, aby si server nahrané soubory oskenoval a zapsal je do databáze. Bez tohoto by mohlo dojít k problémům, kdy soubory nejsou viditelné přes webové rozhraní nebo synchronizační klienty.
 +
 +==== Doporučený postup ====
 +
 +1. **Nahrajte soubory na server**  
 +Připojte se k serveru například pomocí **SCP**, **rsync** nebo jiného nástroje pro přenos souborů a nakopírujte je přímo do adresáře **nextcloud/data/uživatel/files**.
 +
 +2. **Nastavte správná oprávnění**  
 +Po nahrání souborů nastavte správného vlastníka a oprávnění, aby Nextcloud mohl s těmito soubory pracovat. Typicky by soubory měly patřit uživateli a skupině webového serveru, například **www-data** na Debian/Ubuntu.
 +
 +Příklad příkazu:
 +<code bash>
 +chown -R www-data:www-data /cesta/k/nextcloud/data/uživatel/files
 +</code>
 +
 +3. **Spusťte synchronizaci souborů**  
 +Nextcloud poskytuje příkaz pro synchronizaci souborů a jejich zapsání do databáze:
 +
 +<code bash>
 +docker exec -u 33 -it nextcloud php /var/www/html/occ files:scan uživatel
 +</code>
 +
 +Nahraďte **uživatel** jménem uživatele, kterému patří nahrané soubory. Tento příkaz prohledá adresář **files** daného uživatele, zkontroluje změny a aktualizuje databázi.
 +
 +4. **Zkontrolujte výsledek**  
 +
 +Po dokončení synchronizace:
 +   - Otevřete webové rozhraní Nextcloudu.
 +   - Přihlaste se jako daný uživatel a ověřte, že jsou soubory viditelné a správně zařazené.
 +
 +==== Poznámky ====
 +
 +  * Přímý přenos souborů pomocí **rsync** je často rychlejší a efektivnější než stahování a nahrávání přes webové rozhraní.
 +  * Tento postup doporučuji provádět mimo pracovní dobu, pokud server používá více uživatelů, aby se minimalizovalo zatížení serveru.
 +
  
  • it/server/nextcloud.1735742224.txt.gz
  • Poslední úprava: 2025/01/01 14:37
  • autor: Petr Nosek