oscloud-docs/site/apps/index.html
2024-11-03 18:53:11 +01:00

2101 lines
50 KiB
HTML
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.

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Oscloud je váš osobní cloud a hosting webových aplikací.">
<link rel="canonical" href="https://docs.oscloud.cz/apps/">
<link rel="prev" href="../contact/">
<link rel="next" href="../certificates/">
<link rel="icon" href="../img/favicon.ico">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.39">
<title>App - Oscloud Docs</title>
<link rel="stylesheet" href="../assets/stylesheets/main.8c3ca2c6.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
<link rel="stylesheet" href="../styly/extra.css">
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#app" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href=".." title="Oscloud Docs" class="md-header__button md-logo" aria-label="Oscloud Docs" data-md-component="logo">
<img src="../img/logo.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Oscloud Docs
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
App
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="light-blue" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="light-blue" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to system preference" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="Oscloud Docs" class="md-nav__button md-logo" aria-label="Oscloud Docs" data-md-component="logo">
<img src="../img/logo.png" alt="logo">
</a>
Oscloud Docs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href=".." class="md-nav__link">
<span class="md-ellipsis">
Úvodní stránka
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
Podpora a kontakty
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Podpora a kontakty
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../support/" class="md-nav__link">
<span class="md-ellipsis">
Podpora
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../contact/" class="md-nav__link">
<span class="md-ellipsis">
Kontaktujte nás
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
Znalostní báze
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Znalostní báze
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
App
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
App
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#predinstalovane-aplikace" class="md-nav__link">
<span class="md-ellipsis">
Předinstalované aplikace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#dalsi-dostupne-aplikace-k-instalaci" class="md-nav__link">
<span class="md-ellipsis">
Další dostupné aplikace k instalaci
</span>
</a>
<nav class="md-nav" aria-label="Další dostupné aplikace k instalaci">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#ikona" class="md-nav__link">
<span class="md-ellipsis">
Ikona
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#operator" class="md-nav__link">
<span class="md-ellipsis">
Operátor
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#informace" class="md-nav__link">
<span class="md-ellipsis">
Informace
</span>
</a>
<nav class="md-nav" aria-label="Informace">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#poznamky-admina" class="md-nav__link">
<span class="md-ellipsis">
Poznámky admina
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#zabezpeceni" class="md-nav__link">
<span class="md-ellipsis">
Zabezpečení
</span>
</a>
<nav class="md-nav" aria-label="Zabezpečení">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#robotstxt" class="md-nav__link">
<span class="md-ellipsis">
robots.txt
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#hsts-preload" class="md-nav__link">
<span class="md-ellipsis">
HSTS Preload
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#cron" class="md-nav__link">
<span class="md-ellipsis">
Cron
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#webovy-terminal" class="md-nav__link">
<span class="md-ellipsis">
Webový Terminál
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#spravce-souboru" class="md-nav__link">
<span class="md-ellipsis">
Správce souborů
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pristup-pres-sftp" class="md-nav__link">
<span class="md-ellipsis">
Přístup přes SFTP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#prohlizec-logu" class="md-nav__link">
<span class="md-ellipsis">
Prohlížeč logů
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#grafy" class="md-nav__link">
<span class="md-ellipsis">
Grafy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#zastaveni-aplikace" class="md-nav__link">
<span class="md-ellipsis">
Zastavení aplikace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#odinstalace" class="md-nav__link">
<span class="md-ellipsis">
Odinstalace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#verze" class="md-nav__link">
<span class="md-ellipsis">
Verze
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../certificates/" class="md-nav__link">
<span class="md-ellipsis">
Certifikáty
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../profile/" class="md-nav__link">
<span class="md-ellipsis">
Profil
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../security/" class="md-nav__link">
<span class="md-ellipsis">
Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../backups/" class="md-nav__link">
<span class="md-ellipsis">
Zálohy
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-ellipsis">
Aplikace
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Aplikace
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="bookstack/" class="md-nav__link">
<span class="md-ellipsis">
BookStack
</span>
</a>
</li>
<li class="md-nav__item">
<a href="castopod.md" class="md-nav__link">
<span class="md-ellipsis">
Castopod
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cryptpad/" class="md-nav__link">
<span class="md-ellipsis">
CryptPad
</span>
</a>
</li>
<li class="md-nav__item">
<a href="discourse.md" class="md-nav__link">
<span class="md-ellipsis">
Discourse
</span>
</a>
</li>
<li class="md-nav__item">
<a href="dokuwiki.md" class="md-nav__link">
<span class="md-ellipsis">
Dokuwiki
</span>
</a>
</li>
<li class="md-nav__item">
<a href="gitea.md" class="md-nav__link">
<span class="md-ellipsis">
Gitea
</span>
</a>
</li>
<li class="md-nav__item">
<a href="githubpages.md" class="md-nav__link">
<span class="md-ellipsis">
GitHub Pages
</span>
</a>
</li>
<li class="md-nav__item">
<a href="hedgedoc/" class="md-nav__link">
<span class="md-ellipsis">
HedgeDoc
</span>
</a>
</li>
<li class="md-nav__item">
<a href="immich.md" class="md-nav__link">
<span class="md-ellipsis">
Immich
</span>
</a>
</li>
<li class="md-nav__item">
<a href="joplin-server/" class="md-nav__link">
<span class="md-ellipsis">
Joplin Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="lamp/" class="md-nav__link">
<span class="md-ellipsis">
LAMP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="linkding.md" class="md-nav__link">
<span class="md-ellipsis">
Linkding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="lychee.md" class="md-nav__link">
<span class="md-ellipsis">
Lychee
</span>
</a>
</li>
<li class="md-nav__item">
<a href="mastodon/" class="md-nav__link">
<span class="md-ellipsis">
Mastodon
</span>
</a>
</li>
<li class="md-nav__item">
<a href="miniflux.md" class="md-nav__link">
<span class="md-ellipsis">
Miniflux
</span>
</a>
</li>
<li class="md-nav__item">
<a href="mirotalk/" class="md-nav__link">
<span class="md-ellipsis">
MiroTalk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="nextcloud/" class="md-nav__link">
<span class="md-ellipsis">
Nextcloud
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ntfy.md" class="md-nav__link">
<span class="md-ellipsis">
ntfy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="pairdrop/" class="md-nav__link">
<span class="md-ellipsis">
PairDrop
</span>
</a>
</li>
<li class="md-nav__item">
<a href="peertube.md" class="md-nav__link">
<span class="md-ellipsis">
Peertube
</span>
</a>
</li>
<li class="md-nav__item">
<a href="piwigo.md" class="md-nav__link">
<span class="md-ellipsis">
Piwigo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="pixelfed.md" class="md-nav__link">
<span class="md-ellipsis">
Pixelfed
</span>
</a>
</li>
<li class="md-nav__item">
<a href="privatebin/" class="md-nav__link">
<span class="md-ellipsis">
PrivateBin
</span>
</a>
</li>
<li class="md-nav__item">
<a href="rallly.md" class="md-nav__link">
<span class="md-ellipsis">
Rallly
</span>
</a>
</li>
<li class="md-nav__item">
<a href="roundcube.md" class="md-nav__link">
<span class="md-ellipsis">
Roundcube
</span>
</a>
</li>
<li class="md-nav__item">
<a href="searxng/" class="md-nav__link">
<span class="md-ellipsis">
SearXNG
</span>
</a>
</li>
<li class="md-nav__item">
<a href="surfer/" class="md-nav__link">
<span class="md-ellipsis">
Surfer
</span>
</a>
</li>
<li class="md-nav__item">
<a href="tinytinyrss.md" class="md-nav__link">
<span class="md-ellipsis">
TinyTinyRSS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="umami.md" class="md-nav__link">
<span class="md-ellipsis">
Umami
</span>
</a>
</li>
<li class="md-nav__item">
<a href="vaultwarden/" class="md-nav__link">
<span class="md-ellipsis">
Vaultwarden
</span>
</a>
</li>
<li class="md-nav__item">
<a href="vikunja.md" class="md-nav__link">
<span class="md-ellipsis">
Vikunja
</span>
</a>
</li>
<li class="md-nav__item">
<a href="wordpress-developer/" class="md-nav__link">
<span class="md-ellipsis">
WordPress (Developer)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="wordpress-managed/" class="md-nav__link">
<span class="md-ellipsis">
WordPress (Managed)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-ellipsis">
Ceny
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Ceny
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../podporte-nas.md" class="md-nav__link">
<span class="md-ellipsis">
Jak nás podpořit
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#predinstalovane-aplikace" class="md-nav__link">
<span class="md-ellipsis">
Předinstalované aplikace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#dalsi-dostupne-aplikace-k-instalaci" class="md-nav__link">
<span class="md-ellipsis">
Další dostupné aplikace k instalaci
</span>
</a>
<nav class="md-nav" aria-label="Další dostupné aplikace k instalaci">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#ikona" class="md-nav__link">
<span class="md-ellipsis">
Ikona
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#operator" class="md-nav__link">
<span class="md-ellipsis">
Operátor
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#informace" class="md-nav__link">
<span class="md-ellipsis">
Informace
</span>
</a>
<nav class="md-nav" aria-label="Informace">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#poznamky-admina" class="md-nav__link">
<span class="md-ellipsis">
Poznámky admina
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#zabezpeceni" class="md-nav__link">
<span class="md-ellipsis">
Zabezpečení
</span>
</a>
<nav class="md-nav" aria-label="Zabezpečení">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#robotstxt" class="md-nav__link">
<span class="md-ellipsis">
robots.txt
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#hsts-preload" class="md-nav__link">
<span class="md-ellipsis">
HSTS Preload
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#cron" class="md-nav__link">
<span class="md-ellipsis">
Cron
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#webovy-terminal" class="md-nav__link">
<span class="md-ellipsis">
Webový Terminál
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#spravce-souboru" class="md-nav__link">
<span class="md-ellipsis">
Správce souborů
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pristup-pres-sftp" class="md-nav__link">
<span class="md-ellipsis">
Přístup přes SFTP
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#prohlizec-logu" class="md-nav__link">
<span class="md-ellipsis">
Prohlížeč logů
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#grafy" class="md-nav__link">
<span class="md-ellipsis">
Grafy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#zastaveni-aplikace" class="md-nav__link">
<span class="md-ellipsis">
Zastavení aplikace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#odinstalace" class="md-nav__link">
<span class="md-ellipsis">
Odinstalace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#verze" class="md-nav__link">
<span class="md-ellipsis">
Verze
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="app">App</h1>
<p>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>
<h2 id="predinstalovane-aplikace">Předinstalované aplikace</h2>
<p>Tyto aplikace jsou již připravené k okamžitému použití:</p>
<ul>
<li>Mastodon: Decentralizovaná sociální síť.</li>
<li>Pixelfed: Platforma pro sdílení fotografií.</li>
<li>Nextcloud: Soukromý cloud pro ukládání a sdílení souborů.</li>
<li>Nástroje pro produktivitu: CryptPad, HedgeDoc pro týmovou spolupráci a organizaci projektů.</li>
</ul>
<h2 id="dalsi-dostupne-aplikace-k-instalaci">Další dostupné aplikace k instalaci</h2>
<p>Pokud potřebujete další aplikace, můžete je kdykoli snadno nainstalovat přímo z našeho App Storu. K dispozici jsou například:</p>
<ul>
<li>Fotografické aplikace: Lychee, Piwigo pro správu a sdílení fotografií.</li>
<li>Webové aplikace: WordPress, Surfer pro tvorbu a správu webových stránek.</li>
</ul>
<p>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.</p>
<p>Chcete-li zobrazit kompletní seznam aplikací, navštivte <a href="aplikace.md">Aplikace</a>.</p>
<h3 id="ikona">Ikona</h3>
<p>V sekci <code>Ikona</code> můžete nastavit vlastní ikonu pro aplikaci. Pokud ikona není nastavena, použije se ikona balíčku aplikace. </p>
<p><center>
<img src="/img/ikon.png" class="shadow" width="250px">
</center></p>
<h3 id="operator">Operátor</h3>
<p>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í.</p>
<p>Operátor uvidí na svém panelu ikonu ozubeného kola: </p>
<p><center>
<img src="/img/apps-operator-button.png" class="shadow" width="250px">
</center></p>
<p>Po kliknutí na ikonu ozubeného kola se jim zobrazí uživatelské rozhraní operátora: </p>
<p><center>
<img src="/img/apps-operator-view.png" class="shadow" width="600px">
</center></p>
<h2 id="informace">Informace</h2>
<p>Různé informace o aplikaci naleznete v sekci <code>Info</code> aplikace:</p>
<p><center>
<img src="/img/apps-info.png" class="shadow" width="600px">
</center></p>
<ul>
<li><code>Název a verze aplikace</code> - Toto je název aplikace a verze upstream aplikace.</li>
<li><code>App ID</code> - Unikátní ID instance aplikace.</li>
<li><code>Verze balíčku</code> - Verze balíčku OSCloud, která je odlišná od verze aplikace.</li>
<li><code>Nainstalováno</code> - Datum instalace aplikace.</li>
<li><code>Poslední aktualizace</code> - Kdy byla aplikace naposledy aktualizována.</li>
</ul>
<h3 id="poznamky-admina">Poznámky admina</h3>
<p>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 <a href="#operators">operátoři aplikací</a> je mohou zobrazit a upravovat.</p>
<p><center>
<img src="/img/apps-admin-notes.png" class="shadow" width="600px">
</center></p>
<h2 id="zabezpeceni">Zabezpečení</h2>
<h3 id="robotstxt">robots.txt</h3>
<p>Soubor <code>Robots.txt</code> je soubor sloužící k určení, které části webu by měl vyhledávač indexovat. Tento soubor se řídí
<a href="https://cs.wikipedia.org/wiki/Robots_exclusion_standard">Robots Exclusion Standardem</a>. Google má
<a href="https://developers.google.com/search/reference/robots_txt">skvělý dokument</a> o tom, jak robots.txt funguje.</p>
<p>Obsah souboru robots.txt pro aplikaci můžete nastavit v sekci <code>Zabezpečení</code> v uživatelském rozhraní aplikace.</p>
<p>Ve výchozím nastavení OSCloud nenastavuje robots.txt pro aplikace. Pokud není nastaven, aplikace si může poskytovat vlastní robots.txt.</p>
<p><center>
<img src="/img/apps-robots-txt.png" class="shadow" width="600px">
</center></p>
<p>Kromě toho má stránka administrace OSCloud vlastní robots.txt, který zakazuje indexování:</p>
<div class="codehilite"><pre><span></span><code>User-agent:<span class="w"> </span>*
Disallow:<span class="w"> </span>/
</code></pre></div>
<h3 id="hsts-preload">HSTS Preload</h3>
<p><a href="https://hstspreload.org/">HSTS Preload</a> je seznam stránek, které jsou v prohlížečích jako Chrome, Firefox, Opera a další hardcodovány jako HTTPS-only.</p>
<p>Požadavky a důsledky:</p>
<ul>
<li>Vzhledem k velikosti seznamu jsou akceptovány automatické žádosti o přidání celých domén (hlavní doména).</li>
<li>To zabrání přístupu ke všem subdoménám bez platného certifikátu HTTPS.</li>
<li>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.</li>
</ul>
<p>Po aktivaci OSCloud bude server zasílat následující hlavičky HSTS:</p>
<div class="codehilite"><pre><span></span><code><span class="n">Strict</span><span class="o">-</span><span class="n">Transport</span><span class="o">-</span><span class="n">Security</span><span class="p">:</span><span class="w"> </span><span class="nb">max</span><span class="o">-</span><span class="n">age</span><span class="o">=</span><span class="mi">63072000</span><span class="p">;</span><span class="w"> </span><span class="n">includeSubDomains</span><span class="p">;</span><span class="w"> </span><span class="nb">preload</span>
</code></pre></div>
<p>Pro aktivaci HSTS Preload tuto možnost zapněte v sekci <code>Zabezpečení</code> aplikace:</p>
<p><center>
<img src="/img/apps-security-hsts-preload.png" class="shadow" width="600px">
</center></p>
<div class="admonition note">
<p class="admonition-title">Odeslání</p>
<p>OSCloud automaticky neodesílá doménu na seznam HSTS Preload. To musíte provést ručně <a href="https://hstspreload.org/">zde</a>.</p>
</div>
<h2 id="cron">Cron</h2>
<p>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 <code>Cron</code>.</p>
<p>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í <a href="#log-viewer">prohlížeče logů</a>.</p>
<p>Časy v cron jsou specifikovány v UTC.</p>
<p>Vzorový vzor plánu může být jeden z následujících <a href="https://www.man7.org/linux/man-pages/man5/crontab.5.html#EXTENSIONS">rozšíření cron</a>:</p>
<ul>
<li><code>@service</code> : Spustí jednou při restartu aplikace nebo pokud je aplikace již spuštěná.</li>
<li><code>@reboot</code> : Spustí jednou při restartu aplikace nebo pokud je aplikace již spuštěná.</li>
<li><code>@yearly</code> : Spustí jednou ročně, např. <code>0 0 1 1 *</code>.</li>
<li><code>@annually</code> : Spustí jednou ročně, např. <code>0 0 1 1 *</code>.</li>
<li><code>@monthly</code> : Spustí jednou měsíčně, např. <code>0 0 1 * *</code>.</li>
<li><code>@weekly</code> : Spustí jednou týdně, např. <code>0 0 * * 0</code>.</li>
<li><code>@daily</code> : Spustí jednou denně, např. <code>0 0 * * *</code>.</li>
<li><code>@hourly</code> : Spustí jednou za hodinu, např. <code>0 * * * *</code>.</li>
</ul>
<p><center>
<img src="/img/apps-cron.png" class="shadow" width="600px">
</center></p>
<div class="admonition note">
<p class="admonition-title">Řetězení příkazů</p>
<p>Příkazy mohou být spojeny pomocí <code>&amp;&amp;</code> nebo <code>||</code>. Například: <code>echo "=&gt; Doing job" &amp;&amp; /app/data/do_job.sh</code></p>
</div>
<h2 id="webovy-terminal">Webový Terminál</h2>
<p>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 <code>/run</code> (dynamická data), <code>/app/data</code> (zálohovaná data) a <code>/tmp</code> (dočasné soubory) jsou zapisovatelné.</p>
<p>Webový terminál lze otevřít pomocí tlačítka Web Terminal:</p>
<p><center>
<img src="/img/apps-terminal-button.png" class="shadow" width="400px">
</center></p>
<p>Po kliknutí se otevře nové okno. Terminál je v podstatě shell do souborového systému aplikace.</p>
<p><center>
<img src="/img/apps-terminal-exec2.png" class="shadow" width="600px">
</center></p>
<h2 id="spravce-souboru">Správce souborů</h2>
<p>OSCloud poskytuje Správce souborů, který lze použít k úpravě souborového systému aplikace přímo z prohlížeče.</p>
<p>Správce souborů lze otevřít pomocí tlačítka File Manager:</p>
<p><center>
<img src="/img/apps-filemanager-button.png" class="shadow" width="600px">
</center></p>
<p>Po kliknutí se otevře nové okno. V kontextové nabídce jsou dostupné akce jako Přejmenovat, Smazat, Změnit vlastnictví.</p>
<p><center>
<img src="/img/filemanager.png" class="shadow" width="600px">
</center></p>
<h2 id="pristup-pres-sftp">Přístup přes SFTP</h2>
<p>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 <code>SFTP Access</code>.</p>
<p><center>
<img src="/img/apps-sftp-info.png" class="shadow" width="600px">
</center></p>
<p>SFTP klient, jako je například <a href="https://filezilla-project.org/">FileZilla</a>, lze použít k připojení následovně:</p>
<ul>
<li><code>Host</code> - <code>sftp://my.oscloud.cz</code> (hostitel je stejný pro přístup SFTP ke všem aplikacím)</li>
<li><code>Username</code> - <code>oscloud@lamp.oscloud.cz</code> (uživatelské jméno je specifické pro každou aplikaci)</li>
<li><code>Password</code> - heslo do OSCloud (stejné heslo pro přístup SFTP ke všem aplikacím)</li>
<li><code>Port</code> - 222</li>
</ul>
<p><center>
<img src="/img/sftp-filezilla.png" class="shadow" width="600px">
</center></p>
<p>Pouze administrátoři OSCloud mají přístup přes SFTP.</p>
<div class="admonition note">
<p class="admonition-title">Port 222</p>
<p>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 <code>my.domain.com</code>.</p>
</div>
<h2 id="prohlizec-logu">Prohlížeč logů</h2>
<p>Pro zobrazení logů aplikace klikněte na tlačítko logů:</p>
<p><center>
<img src="/img/apps-logs-button.png" class="shadow" width="600px">
</center></p>
<p>Tím se otevře vyskakovací okno, které zobrazí logy:</p>
<p><center>
<img src="/img/apps-logs.png" class="shadow" width="600px">
</center></p>
<p>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 <code>/home/yellowtent/platformdata/logs/&lt;appid&gt;/</code>.</p>
<h2 id="grafy">Grafy</h2>
<p>Pohled na grafy ukazuje přehled využití CPU, disku, sítě a paměti aplikace.</p>
<p><center>
<img src="/img/apps-graphs-memory.png" class="shadow" width="600px">
</center></p>
<p><center>
<img src="/img/apps-graphs-cpu.png" class="shadow" width="600px">
</center></p>
<p><center>
<img src="/img/apps-graphs-diskio.png" class="shadow" width="600px">
</center></p>
<p><center>
<img src="/img/apps-graphs-networkio.png" class="shadow" width="600px">
</center></p>
<h2 id="zastaveni-aplikace">Zastavení aplikace</h2>
<p>Aplikaci lze zastavit pomocí tlačítka Stop v panelu nástrojů aplikace.</p>
<p><center>
<img src="/img/app-stop-button.png" class="shadow" width="600px">
</center></p>
<h2 id="odinstalace">Odinstalace</h2>
<p>Odinstalováním aplikace, se okamžitě odstraní všechna data spojená s aplikací z OSCloud.</p>
<div class="admonition note">
<p class="admonition-title">Zálohy nejsou odstraněny</p>
<p>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 <a href="/backups/#restoring-an-app-from-existing-backup">obnoveny</a> z jejich záloh pomocí nástroje CLI.</p>
</div>
<h2 id="verze">Verze</h2>
<p>S aplikací jsou spojeny dvě nezávislé verze. Tyto informace jsou uvedeny v sekci <a href="#info">Info</a>.</p>
<ul>
<li><code>Verze balíčku</code>. OSCloud používá <a href="https://semver.org/">semver</a> pro své balíčky aplikací.</li>
<li><code>Verze aplikace</code> nebo <code>Verze upstream</code>. Formát verzí aplikace se může výrazně lišit může být založen na datech, semveru, číslech git commitů atd.</li>
</ul>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2024 Oscloud CZ
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
<div class="md-social">
<a href="https://git.arch-linux.cz/Oscloud" target="_blank" rel="noopener" title="git.arch-linux.cz" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11m-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16m133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61M512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z"/></svg>
</a>
<a href="https://mamutovo.cz/@oscloud" target="_blank" rel="noopener me" title="mamutovo.cz" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.5 102.5 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5m-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg>
</a>
<a href="https://matrix.to/#/!nnrBXdWbSiXkfiYtWR:mxchat.cz?via=mxchat.cz" target="_blank" rel="noopener" title="matrix.to" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6-10.4-2-21.2-.6-30.7 4.2q-6.15 3.15-12.6 6c-16 7.2-32.9 13.5-49.9 18 2.8-4.6 5.4-9.1 7.9-13.6 1.1-1.9 2.2-3.9 3.2-5.9zM208 352c114.9 0 208-78.8 208-176S322.9 0 208 0 0 78.8 0 176c0 41.8 17.2 80.1 45.9 110.3-.9 1.7-1.9 3.5-2.8 5.1-10.3 18.4-22.3 36.5-36.6 52.1-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7 4.8-2.2 9.6-4.5 14.2-6.8 15.1 3 30.9 4.5 47.1 4.5m224 128c16.2 0 31.9-1.6 47.1-4.5 4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5s2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1-.9-1.7-1.9-3.4-2.8-5.1 28.8-30.3 46-68.6 46-110.4 0-94.4-87.9-171.5-198.2-175.8 4.1 15.2 6.2 31.2 6.2 47.8v.6c87.2 6.7 144 67.5 144 127.4 0 28-11.4 54.9-32.7 77.2-14.3 15-17.3 37.6-7.5 55.8 1.1 2 2.2 4 3.2 5.9 2.5 4.5 5.2 9 7.9 13.6-17-4.5-33.9-10.7-49.9-18q-6.45-2.85-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2-12.1 2.4-24.8 3.6-37.8 3.6-61.7 0-110-26.5-136.8-62.3-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["search.suggest", "navigation.indexes"], "search": "../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
<script src="../assets/javascripts/bundle.525ec568.min.js"></script>
<script src="../javascripts/extra.js"></script>
</body>
</html>