oscloud-docs/docs/apps.md
2024-10-22 21:38:27 +02:00

262 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# App
Na platformě OSCloud nabízíme předinstalované i volně dostupné aplikace, které můžete snadno spravovat přímo z našeho uživatelského rozhraní.
## Předinstalované aplikace
Tyto aplikace jsou již připravené k okamžitému použití:
- Mastodon: Decentralizovaná sociální síť.
- Pixelfed: Platforma pro sdílení fotografií.
- Nextcloud: Soukromý cloud pro ukládání a sdílení souborů.
- Nástroje pro produktivitu: CryptPad, HedgeDoc pro týmovou spolupráci a organizaci projektů.
## Další dostupné aplikace k instalaci
Pokud potřebujete další aplikace, můžete je kdykoli snadno nainstalovat přímo z našeho App Storu. K dispozici jsou například:
- Fotografické aplikace: Lychee, Piwigo pro správu a sdílení fotografií.
- Webové aplikace: WordPress, Surfer pro tvorbu a správu webových stránek.
S OSCloud máte plnou kontrolu nad tím, jaké aplikace potřebujete pro svůj projekt, a všechny aplikace jsou pravidelně aktualizovány a bezpečně spravovány.
Chcete-li zobrazit kompletní seznam aplikací, navštivte [Aplikace](aplikace.md).
### Ikona
V sekci `Ikona` můžete nastavit vlastní ikonu pro aplikaci. Pokud ikona není nastavena, použije se ikona balíčku aplikace.
<center>
<img src="/img/ikon.png" class="shadow" width="250px">
</center>
### Operátor
Administrátor může nastavit uživatele nebo skupiny jako operátory aplikace. Operátor aplikace může provádět konfigurační a údržbové úkoly. Na rozdíl od administrátora aplikace nemůže operátor aplikaci odinstalovat ani změnit její umístění. Operátoři také nemohou klonovat aplikace, protože nemají oprávnění k instalaci nových aplikací.
Operátor uvidí na svém panelu ikonu ozubeného kola:
<center>
<img src="/img/apps-operator-button.png" class="shadow" width="250px">
</center>
Po kliknutí na ikonu ozubeného kola se jim zobrazí uživatelské rozhraní operátora:
<center>
<img src="/img/apps-operator-view.png" class="shadow" width="600px">
</center>
## Informace
Různé informace o aplikaci naleznete v sekci `Info` aplikace:
<center>
<img src="/img/apps-info.png" class="shadow" width="600px">
</center>
* `Název a verze aplikace` - Toto je název aplikace a verze upstream aplikace.
* `App ID` - Unikátní ID instance aplikace.
* `Verze balíčku` - Verze balíčku OSCloud, která je odlišná od verze aplikace.
* `Nainstalováno` - Datum instalace aplikace.
* `Poslední aktualizace` - Kdy byla aplikace naposledy aktualizována.
### Poznámky admina
Poznámky specifické pro aplikaci lze uložit ve formátu Markdown. Poznámky jsou sdílené mezi administrátory. Všichni administrátoři a [operátoři aplikací](#operators) je mohou zobrazit a upravovat.
<center>
<img src="/img/apps-admin-notes.png" class="shadow" width="600px">
</center>
## Zabezpečení
### robots.txt
Soubor `Robots.txt` je soubor sloužící k určení, které části webu by měl vyhledávač indexovat. Tento soubor se řídí
[Robots Exclusion Standardem](https://cs.wikipedia.org/wiki/Robots_exclusion_standard). Google má
[skvělý dokument](https://developers.google.com/search/reference/robots_txt) o tom, jak robots.txt funguje.
Obsah souboru robots.txt pro aplikaci můžete nastavit v sekci `Zabezpečení` v uživatelském rozhraní aplikace.
Ve výchozím nastavení OSCloud nenastavuje robots.txt pro aplikace. Pokud není nastaven, aplikace si může poskytovat vlastní robots.txt.
<center>
<img src="/img/apps-robots-txt.png" class="shadow" width="600px">
</center>
Kromě toho má stránka administrace OSCloud vlastní robots.txt, který zakazuje indexování:
```bash
User-agent: *
Disallow: /
```
### HSTS Preload
[HSTS Preload](https://hstspreload.org/) je seznam stránek, které jsou v prohlížečích jako Chrome, Firefox, Opera a další hardcodovány jako HTTPS-only.
Požadavky a důsledky:
* Vzhledem k velikosti seznamu jsou akceptovány automatické žádosti o přidání celých domén (hlavní doména).
* To zabrání přístupu ke všem subdoménám bez platného certifikátu HTTPS.
* Nové položky jsou hardcodovány do zdrojového kódu prohlížeče Chrome a může trvat několik měsíců, než se dostanou do stabilní verze.
Po aktivaci OSCloud bude server zasílat následující hlavičky HSTS:
```
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
```
Pro aktivaci HSTS Preload tuto možnost zapněte v sekci `Zabezpečení` aplikace:
<center>
<img src="/img/apps-security-hsts-preload.png" class="shadow" width="600px">
</center>
!!! note "Odeslání"
OSCloud automaticky neodesílá doménu na seznam HSTS Preload. To musíte provést ručně [zde](https://hstspreload.org/).
## Cron
Cron úlohy, které aplikace potřebují k fungování, jsou již integrovány do balíčku aplikace a není potřeba další konfigurace. Pokud chcete spustit další vlastní příkazy cron, můžete je přidat v sekci `Cron`.
Příkazy cron jsou spuštěny ve stejném kontextu jako aplikace (v samostatném kontejneru). To znamená, že mají přístup ke stejným prostředím a databázím jako aplikace. Sledují také životní cyklus aplikace pokud je aplikace zastavena, cron úlohy se nespouštějí. Výstup z cron příkazů lze prohlížet pomocí [prohlížeče logů](#log-viewer).
Časy v cron jsou specifikovány v UTC.
Vzorový vzor plánu může být jeden z následujících [rozšíření cron](https://www.man7.org/linux/man-pages/man5/crontab.5.html#EXTENSIONS):
* `@service` : Spustí jednou při restartu aplikace nebo pokud je aplikace již spuštěná.
* `@reboot ` : Spustí jednou při restartu aplikace nebo pokud je aplikace již spuštěná.
* `@yearly` : Spustí jednou ročně, např. `0 0 1 1 *`.
* `@annually` : Spustí jednou ročně, např. `0 0 1 1 *`.
* `@monthly` : Spustí jednou měsíčně, např. `0 0 1 * *`.
* `@weekly` : Spustí jednou týdně, např. `0 0 * * 0`.
* `@daily` : Spustí jednou denně, např. `0 0 * * *`.
* `@hourly` : Spustí jednou za hodinu, např. `0 * * * *`.
<center>
<img src="/img/apps-cron.png" class="shadow" width="600px">
</center>
!!! note "Řetězení příkazů"
Příkazy mohou být spojeny pomocí `&&` nebo `||`. Například: `echo "=> Doing job" && /app/data/do_job.sh`
## Webový Terminál
OSCloud poskytuje webový terminál, který umožňuje přístup k souborovému systému aplikace. Webový terminál lze použít k prohlížení a úpravám souborů aplikace, přístupu k databázi atd. OSCloud spouští aplikace jako kontejnery s režimem souborového systému pouze pro čtení. Pouze adresáře `/run` (dynamická data), `/app/data` (zálohovaná data) a `/tmp` (dočasné soubory) jsou zapisovatelné.
Webový terminál lze otevřít pomocí tlačítka Web Terminal:
<center>
<img src="/img/apps-terminal-button.png" class="shadow" width="400px">
</center>
Po kliknutí se otevře nové okno. Terminál je v podstatě shell do souborového systému aplikace.
<center>
<img src="/img/apps-terminal-exec2.png" class="shadow" width="600px">
</center>
## Správce souborů
OSCloud poskytuje Správce souborů, který lze použít k úpravě souborového systému aplikace přímo z prohlížeče.
Správce souborů lze otevřít pomocí tlačítka File Manager:
<center>
<img src="/img/apps-filemanager-button.png" class="shadow" width="600px">
</center>
Po kliknutí se otevře nové okno. V kontextové nabídce jsou dostupné akce jako Přejmenovat, Smazat, Změnit vlastnictví.
<center>
<img src="/img/filemanager.png" class="shadow" width="600px">
</center>
## Přístup přes SFTP
Některé aplikace, jako WordPress, LAMP, Surfer, podporují přístup k datům přes SFTP. Soubory lze prohlížet a nahrávat pomocí libovolného SFTP klienta. Informace o připojení k SFTP lze zobrazit kliknutím na položku menu `SFTP Access`.
<center>
<img src="/img/apps-sftp-info.png" class="shadow" width="600px">
</center>
SFTP klient, jako je například [FileZilla](https://filezilla-project.org/), lze použít k připojení následovně:
* `Host` - `sftp://my.oscloud.cz` (hostitel je stejný pro přístup SFTP ke všem aplikacím)
* `Username` - `oscloud@lamp.oscloud.cz` (uživatelské jméno je specifické pro každou aplikaci)
* `Password` - heslo do OSCloud (stejné heslo pro přístup SFTP ke všem aplikacím)
* `Port` - 222
<center>
<img src="/img/sftp-filezilla.png" class="shadow" width="600px">
</center>
Pouze administrátoři OSCloud mají přístup přes SFTP.
!!! note "Port 222"
SFTP služba běží na portu 222. Firewall serveru má již tento port otevřený. Nicméně budete muset tento port povolit i ve firewallu poskytovatele hostingu (např. EC2 Security Group nebo DigitalOcean Firewall). Pokud je doména frontovaná přes Cloudflare, použijte IP adresu serveru pro připojení přes SFTP namísto `my.domain.com`.
## Prohlížeč logů
Pro zobrazení logů aplikace klikněte na tlačítko logů:
<center>
<img src="/img/apps-logs-button.png" class="shadow" width="600px">
</center>
Tím se otevře vyskakovací okno, které zobrazí logy:
<center>
<img src="/img/apps-logs.png" class="shadow" width="600px">
</center>
Logy jsou udržovány do velikosti 10 MB pro aktuální logy a jeden rotovaný log na aplikaci. Logy starší než 14 dní jsou odstraněny. Surové logy se nacházejí v `/home/yellowtent/platformdata/logs/<appid>/`.
## Grafy
Pohled na grafy ukazuje přehled využití CPU, disku, sítě a paměti aplikace.
<center>
<img src="/img/apps-graphs-memory.png" class="shadow" width="600px">
</center>
<center>
<img src="/img/apps-graphs-cpu.png" class="shadow" width="600px">
</center>
<center>
<img src="/img/apps-graphs-diskio.png" class="shadow" width="600px">
</center>
<center>
<img src="/img/apps-graphs-networkio.png" class="shadow" width="600px">
</center>
## Zastavení aplikace
Aplikaci lze zastavit pomocí tlačítka Stop v panelu nástrojů aplikace.
<center>
<img src="/img/app-stop-button.png" class="shadow" width="600px">
</center>
## Odinstalace
Odinstalováním aplikace, se okamžitě odstraní všechna data spojená s aplikací z OSCloud.
!!! note "Zálohy nejsou odstraněny"
Zálohy aplikace nejsou při odinstalaci odstraněny a jsou vyčištěny pouze na základě zálohovací politiky. Aplikace mohou být vždy [obnoveny](/backups/#restoring-an-app-from-existing-backup) z jejich záloh pomocí nástroje CLI.
## Verze
S aplikací jsou spojeny dvě nezávislé verze. Tyto informace jsou uvedeny v sekci [Info](#info).
* `Verze balíčku`. OSCloud používá [semver](https://semver.org/) pro své balíčky aplikací.
* `Verze aplikace` nebo `Verze upstream`. Formát verzí aplikace se může výrazně lišit může být založen na datech, semveru, číslech git commitů atd.