backy/docs/public/getting-started/config/index.html
Andrew Woodlee 4b382bddd9 v0.3.0
* Getting environment variables and passwords from Vault (not tested
yet)
* Vault configuration to config (not tested yet)
* Ability to run scripts from file on local machine on the remote host
* Ability to get ouput in the notification of a list for individual
commands or all commands
* Make SSH connections close after all commands have been run; reuse
previous connections if needed
2023-07-01 21:46:54 -05:00

356 lines
39 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. 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" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0">
<meta name="generator" content="Hugo 0.110.0">
<meta name="generator" content="Relearn 5.11.2">
<meta name="description" content="This page tells you how to configure Backy.
">
<title>Config File Definitions - A tool for commands</title>
<!-- https://github.com/filamentgroup/loadCSS/blob/master/README.md#how-to-use -->
<link href="/css/fontawesome-all.min.css?1676866111" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fontawesome-all.min.css?1676866111" rel="stylesheet"></noscript>
<link href="/css/auto-complete.css?1676866111" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/auto-complete.css?1676866111" rel="stylesheet"></noscript>
<link href="/css/perfect-scrollbar.min.css?1676866111" rel="stylesheet">
<link href="/css/nucleus.css?1676866111" rel="stylesheet">
<link href="/css/fonts.css?1676866111" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/css/fonts.css?1676866111" rel="stylesheet"></noscript>
<link href="/css/theme.css?1676866111" rel="stylesheet">
<link href="/css/theme-auto.css?1676866111" rel="stylesheet" id="variant-style">
<link href="/css/ie.css?1676866111" rel="stylesheet">
<link href="/css/variant.css?1676866111" rel="stylesheet">
<link href="/css/print.css?1676866111" rel="stylesheet" media="print">
<script src="/js/url.js?1676866111"></script>
<script src="/js/variant.js?1676866111"></script>
<script>
// hack to let hugo tell us how to get to the root when using relativeURLs, it needs to be called *url= for it to do its magic:
// https://github.com/gohugoio/hugo/blob/145b3fcce35fbac25c7033c91c1b7ae6d1179da8/transform/urlreplacers/absurlreplacer.go#L72
window.index_js_url="/index.search.js";
var root_url="/";
var baseUri=root_url.replace(/\/$/, '');
// translations
window.T_Copy_to_clipboard = 'Copy to clipboard';
window.T_Copied_to_clipboard = 'Copied to clipboard!';
window.T_Copy_link_to_clipboard = 'Copy link to clipboard';
window.T_Link_copied_to_clipboard = 'Copied link to clipboard!';
window.T_No_results_found = 'No results found for \u0022{0}\u0022';
window.T_N_results_found = '{1} results found for \u0022{0}\u0022';
// some further base stuff
var baseUriFull='http:\/\/example.org/';
window.variants && variants.init( [ 'auto' ] );
</script>
</head>
<body class="mobile-support html" data-url="/getting-started/config/index.html">
<div id="body" class="default-animation">
<div id="sidebar-overlay"></div>
<div id="toc-overlay"></div>
<nav id="topbar" class="highlightable" dir="ltr">
<div>
<div id="breadcrumbs">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" class="topbar-link" title='Menu (CTRL+ALT+n)'><i class="fas fa-bars fa-fw"></i></a>
</span>
<span id="toc-menu" title='Table of Contents (CTRL+ALT+t)'><i class="fas fa-list-alt fa-fw"></i></span>
<span class="links">
Config File Definitions
</span>
</div>
<div class="default-animation progress">
<div class="toc-wrapper" dir="ltr">
<nav id="TableOfContents">
<ul>
<li>
<ul>
<li><a href="#commands">Commands</a></li>
<li><a href="#lists">Lists</a></li>
<li><a href="#hosts">Hosts</a></li>
<li><a href="#notifications">Notifications</a></li>
<li><a href="#logging">Logging</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</div>
</div>
</nav>
<main id="body-inner" class="highlightable default" tabindex="-1">
<div class="flex-block-wrapper">
<div id="head-tags">
</div>
<article class="default">
<h1 id="config-file-definitions">Config File Definitions</h1>
<h3 id="commands">Commands</h3>
<p>The commands section is for defining commands. These can be run with or without a shell and on a host or locally.</p>
<p>See the <a href="/config/commands">commands documentation</a> for further information.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">commands</span>:
</span></span><span style="display:flex;"><span><span style="color:#f92672">  stop-docker-container</span>:
</span></span><span style="display:flex;"><span><span style="color:#f92672">    cmd</span>: <span style="color:#ae81ff">docker</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">    args</span>:
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">      - compose</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">      - -f /some/path/to/docker-compose.yaml</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">      - down</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">   </span> <span style="color:#75715e"># if host is not defined, cmd will be run locally</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">    host</span>: <span style="color:#ae81ff">some-host </span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">  backup-docker-container-script</span>:
</span></span><span style="display:flex;"><span><span style="color:#f92672">    cmd</span>: <span style="color:#ae81ff">/path/to/script</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">   </span> <span style="color:#75715e"># The host has to be defined in the config file</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">    host</span>: <span style="color:#ae81ff">some-host</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">    environment</span>:
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">      - FOO=BAR</span>
</span></span><span style="display:flex;"><span> <span style="color:#ae81ff">    - APP=$VAR</span> <span style="color:#75715e"># defined in .env file in config directory</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">  shell-cmd</span>:
</span></span><span style="display:flex;"><span><span style="color:#f92672">    cmd</span>: <span style="color:#ae81ff">rsync</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">    shell</span>: <span style="color:#ae81ff">bash</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">    args</span>:
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">      - -av</span>
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">some-host:/path/to/data </span>
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">~/Docker/Backups/docker-data</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">  hostname</span>:
</span></span><span style="display:flex;"><span><span style="color:#f92672">    cmd</span>: <span style="color:#ae81ff">hostname</span>
</span></span></code></pre></div><h3 id="lists">Lists</h3>
<p>To execute groups of commands in sequence, use a list configuration.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">cmd-configs</span>:
</span></span><span style="display:flex;"><span> <span style="color:#f92672">cmds-to-run</span>: <span style="color:#75715e"># this can be any name you want</span>
</span></span><span style="display:flex;"><span> <span style="color:#75715e"># all commands have to be defined</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">order</span>:
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">stop-docker-container</span>
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">backup-docker-container-script</span>
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">shell-cmd</span>
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">hostname</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">notifications</span>:
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">matrix</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">name</span>: <span style="color:#ae81ff">backup-some-server</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">hostname</span>:
</span></span><span style="display:flex;"><span> <span style="color:#f92672">name</span>: <span style="color:#ae81ff">hostname</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">order</span>:
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">hostname</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">notifications</span>:
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">prod-email</span>
</span></span></code></pre></div><h3 id="hosts">Hosts</h3>
<p>The hosts object may or may not be defined.</p>
<div class="box notices cstyle info">
<div class="box-label"><i class="fa-fw fas fa-info-circle"></i> Info</div>
<div class="box-content">
<p>If any <code>host</code> from a commands object does not match any <code>host</code> object, the needed values will be checked in the default SSH config files.</p>
</div>
</div>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">hosts</span>:
</span></span><span style="display:flex;"><span> <span style="color:#75715e"># any ssh_config(5) keys/values not listed here will be looked up in the config file or the default config file</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">some-host</span>:
</span></span><span style="display:flex;"><span> <span style="color:#f92672">hostname</span>: <span style="color:#ae81ff">some-hostname</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">config</span>: <span style="color:#ae81ff">~/.ssh/config</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">user</span>: <span style="color:#ae81ff">user</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">privatekeypath</span>: <span style="color:#ae81ff">/path/to/private/key</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">port</span>: <span style="color:#ae81ff">22</span>
</span></span><span style="display:flex;"><span> <span style="color:#75715e"># can also be env:VAR or the password itself</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">password</span>: <span style="color:#ae81ff">file:/path/to/file</span>
</span></span><span style="display:flex;"><span> <span style="color:#75715e"># can also be env:VAR or the password itself</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">privatekeypassword</span>: <span style="color:#ae81ff">file:/path/to/file</span>
</span></span><span style="display:flex;"><span> <span style="color:#75715e"># only one is supported for now</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">proxyjump</span>: <span style="color:#ae81ff">some-proxy-host</span>
</span></span></code></pre></div><h3 id="notifications">Notifications</h3>
<p>The notifications object can have two forms.</p>
<p>For more, <a href="/config/notifications">see the notification object documentation</a>. The top-level map key is id that has to be referenced by the <code>cmd-configs</code> key <code>notifications</code>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">notifications</span>:
</span></span><span style="display:flex;"><span> <span style="color:#f92672">prod-email</span>:
</span></span><span style="display:flex;"><span> <span style="color:#f92672">type</span>: <span style="color:#ae81ff">mail</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">host</span>: <span style="color:#ae81ff">yourhost.tld</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">port</span>: <span style="color:#ae81ff">587</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">senderAddress</span>: <span style="color:#ae81ff">email@domain.tld</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">recipients</span>:
</span></span><span style="display:flex;"><span> - <span style="color:#ae81ff">admin@domain.tld</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">username</span>: <span style="color:#ae81ff">smtp-username@domain.tld</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">password</span>: <span style="color:#ae81ff">your-password-here</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">matrix</span>:
</span></span><span style="display:flex;"><span> <span style="color:#f92672">type</span>: <span style="color:#ae81ff">matrix</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">home-server</span>: <span style="color:#ae81ff">your-home-server.tld</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">room-id</span>: <span style="color:#ae81ff">room-id</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">access-token</span>: <span style="color:#ae81ff">your-access-token</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">user-id</span>: <span style="color:#ae81ff">your-user-id</span>
</span></span></code></pre></div><h3 id="logging">Logging</h3>
<p>cmd-std-out controls whether commands output is echoed to StdOut.</p>
<p>If logfile is not defined, the log file will be written to the config directory in the file <code>backy.log</code>.</p>
<p><code>console-disabled</code> controls whether the logging messages are echoed to StdOut. Default is false.</p>
<p><code>verbose</code> basically does nothing as all necessary info is already output.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">logging</span>:
</span></span><span style="display:flex;"><span> <span style="color:#f92672">verbose</span>: <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">file</span>: <span style="color:#ae81ff">path/to/log/file.log</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">console-disabled</span>: <span style="color:#66d9ef">false</span>
</span></span><span style="display:flex;"><span> <span style="color:#f92672">cmd-std-out</span>: <span style="color:#66d9ef">false</span>
</span></span></code></pre></div>
<footer class="footline">
</footer>
</article>
</div>
</main>
</div>
<aside id="sidebar" class="default-animation" dir="ltr">
<div id="header-wrapper" class="default-animation">
<div id="header" class="default-animation">
<style>
a#logo {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
font-family: 'Work Sans', 'Helvetica', 'Tahoma', 'Geneva', 'Arial', sans-serif;
font-size: 30px;
font-weight: 300;
margin-top: -13px;
text-transform: uppercase;
width: 256px;
white-space: nowrap;
}
a#logo:hover {
color: #282828;
color: var(--MENU-SECTIONS-BG-color);
}
#logo svg {
margin-bottom: -20px;
margin-left: -23.5px;
width: 40.5%;
}
@media only all and (max-width: 59.938em) {
a#logo {
font-size: 25px;
margin-top: -3px;
}
#logo svg {
margin-bottom: -12px;
margin-left: -23px;
}
}
@media all and (-ms-high-contrast:none) {
/* IE11s understanding of positioning is weird at best */
a#logo {
margin-top: -58px;
}
#logo svg {
margin-bottom: -62px;
}
}
</style>
<a id="logo" href="/index.html">
<svg version="1.1" id="_x36_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-51.2 -51.2 614.40 614.40" xml:space="preserve" width="128px" height="128px" fill="#ffffff" stroke="#ffffff" stroke-width="0.00512" transform="rotate(0)"><g id="SVGRepo_bgCarrier" stroke-width="0"><rect x="-51.2" y="-51.2" width="614.40" height="614.40" rx="0" fill="#000000" strokewidth="0"></rect></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <g> <polygon style="fill:none;" points="275.211,140.527 360.241,140.527 380.083,120.685 275.211,120.685 "></polygon> <polygon style="fill:none;" points="232.234,268.534 219.714,281.054 232.234,281.054 "></polygon> <g> <g> <rect x="232.254" y="69.157" style="fill:#718176;" width="42.982" height="377.465"></rect> <polygon style="fill:#718176;" points="56.146,446.588 76.861,489.564 232.234,489.564 232.234,446.588 "></polygon> <polygon style="fill:#718176;" points="275.21,446.588 275.21,489.564 435.111,489.564 455.826,446.588 "></polygon> <rect x="232.234" y="446.588" style="fill:#979696;" width="42.977" height="42.977"></rect> <path style="fill:#718176;" d="M511.972,7.837v105.05c0,4.315-3.485,7.8-7.8,7.8H7.8c-4.315,0-7.8-3.485-7.8-7.8V7.837 c0-4.315,3.485-7.799,7.8-7.799h496.372C508.487,0.037,511.972,3.522,511.972,7.837z"></path> <path style="fill:#718176;" d="M511.972,148.318v105.05c0,4.315-3.485,7.883-7.8,7.883H7.8c-4.315,0-7.8-3.568-7.8-7.883v-105.05 c0-4.315,3.485-7.8,7.8-7.8h496.372C508.487,140.518,511.972,144.003,511.972,148.318z"></path> <path style="fill:#718176;" d="M511.972,288.882v105.05c0,4.315-3.485,7.799-7.8,7.799H7.8c-4.315,0-7.8-3.484-7.8-7.799v-105.05 c0-4.314,3.485-7.799,7.8-7.799h496.372C508.487,281.082,511.972,284.568,511.972,288.882z"></path> <path style="fill:#FFFFFF;" d="M492.427,6.264H19.545c-7.351,0-13.31,5.959-13.31,13.31v81.539 c0,7.351,5.959,13.309,13.31,13.309h472.882c7.351,0,13.31-5.959,13.31-13.309V19.573 C505.737,12.222,499.778,6.264,492.427,6.264z"></path> <path style="fill:#FFFFFF;" d="M492.427,146.79H19.545c-7.351,0-13.31,5.959-13.31,13.31v81.539c0,7.351,5.959,13.31,13.31,13.31 h472.882c7.351,0,13.31-5.959,13.31-13.31V160.1C505.737,152.749,499.778,146.79,492.427,146.79z"></path> <path style="fill:#FFFFFF;" d="M492.427,287.318H19.545c-7.351,0-13.31,5.959-13.31,13.31v81.539 c0,7.351,5.959,13.31,13.31,13.31h472.882c7.351,0,13.31-5.959,13.31-13.31v-81.539 C505.737,293.276,499.778,287.318,492.427,287.318z"></path> <g> <g> <path style="fill:#718176;" d="M57.355,26.558H43.829c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V28.674C59.471,27.505,58.524,26.558,57.355,26.558z"></path> <path style="fill:#718176;" d="M57.355,52.308H43.829c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V54.424C59.471,53.256,58.524,52.308,57.355,52.308z"></path> <path style="fill:#718176;" d="M57.355,78.059H43.829c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V80.175C59.471,79.006,58.524,78.059,57.355,78.059z"></path> </g> <g> <path style="fill:#718176;" d="M89.021,26.558H75.495c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V28.674C91.137,27.505,90.19,26.558,89.021,26.558z"></path> <path style="fill:#718176;" d="M89.021,52.308H75.495c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V54.424C91.137,53.256,90.19,52.308,89.021,52.308z"></path> <path style="fill:#718176;" d="M89.021,78.059H75.495c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V80.175C91.137,79.006,90.19,78.059,89.021,78.059z"></path> </g> <g> <path style="fill:#718176;" d="M120.687,26.558h-13.525c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.525c1.169,0,2.116-0.948,2.116-2.116V28.674 C122.804,27.505,121.856,26.558,120.687,26.558z"></path> <path style="fill:#718176;" d="M120.687,52.308h-13.525c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.525c1.169,0,2.116-0.948,2.116-2.116V54.424 C122.804,53.256,121.856,52.308,120.687,52.308z"></path> <path style="fill:#718176;" d="M120.687,78.059h-13.525c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.525c1.169,0,2.116-0.948,2.116-2.116V80.175 C122.804,79.006,121.856,78.059,120.687,78.059z"></path> </g> <g> <path style="fill:#718176;" d="M152.354,26.558h-13.526c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V28.674C154.47,27.505,153.522,26.558,152.354,26.558 z"></path> <path style="fill:#718176;" d="M152.354,52.308h-13.526c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V54.424C154.47,53.256,153.522,52.308,152.354,52.308 z"></path> <path style="fill:#718176;" d="M152.354,78.059h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V80.175C154.47,79.006,153.522,78.059,152.354,78.059 z"></path> </g> <g> <path style="fill:#718176;" d="M184.02,26.558h-13.526c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V28.674C186.136,27.505,185.188,26.558,184.02,26.558 z"></path> <path style="fill:#718176;" d="M184.02,52.308h-13.526c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V54.424C186.136,53.256,185.188,52.308,184.02,52.308 z"></path> <path style="fill:#718176;" d="M184.02,78.059h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116V80.175C186.136,79.006,185.188,78.059,184.02,78.059 z"></path> </g> </g> <rect x="225.104" y="49.742" style="fill:#979696;" width="100.213" height="21.202"></rect> <circle style="fill:#43B471;" cx="369.338" cy="61.198" r="19.487"></circle> <circle style="fill:#D3D340;" cx="416.663" cy="61.198" r="19.487"></circle> <circle style="fill:#D15075;" cx="463.989" cy="61.198" r="19.487"></circle> <g> <g> <path style="fill:#718176;" d="M57.355,167.084H43.829c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C59.471,168.032,58.524,167.084,57.355,167.084z"></path> <path style="fill:#718176;" d="M57.355,192.835H43.829c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C59.471,193.783,58.524,192.835,57.355,192.835z"></path> <path style="fill:#718176;" d="M57.355,218.585H43.829c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C59.471,219.533,58.524,218.585,57.355,218.585z"></path> </g> <g> <path style="fill:#718176;" d="M89.021,167.084H75.495c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C91.137,168.032,90.19,167.084,89.021,167.084z"></path> <path style="fill:#718176;" d="M89.021,192.835H75.495c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C91.137,193.783,90.19,192.835,89.021,192.835z"></path> <path style="fill:#718176;" d="M89.021,218.585H75.495c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C91.137,219.533,90.19,218.585,89.021,218.585z"></path> </g> <g> <path style="fill:#718176;" d="M120.687,167.084h-13.525c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.525c1.169,0,2.116-0.948,2.116-2.116v-13.548 C122.804,168.032,121.856,167.084,120.687,167.084z"></path> <path style="fill:#718176;" d="M120.687,192.835h-13.525c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.525c1.169,0,2.116-0.948,2.116-2.116v-13.548 C122.804,193.783,121.856,192.835,120.687,192.835z"></path> <path style="fill:#718176;" d="M120.687,218.585h-13.525c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.525c1.169,0,2.116-0.948,2.116-2.116v-13.548 C122.804,219.533,121.856,218.585,120.687,218.585z"></path> </g> <g> <path style="fill:#718176;" d="M152.354,167.084h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C154.47,168.032,153.522,167.084,152.354,167.084z"></path> <path style="fill:#718176;" d="M152.354,192.835h-13.526c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C154.47,193.783,153.522,192.835,152.354,192.835z"></path> <path style="fill:#718176;" d="M152.354,218.585h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C154.47,219.533,153.522,218.585,152.354,218.585z"></path> </g> <g> <path style="fill:#718176;" d="M184.02,167.084h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C186.136,168.032,185.188,167.084,184.02,167.084z"></path> <path style="fill:#718176;" d="M184.02,192.835h-13.526c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C186.136,193.783,185.188,192.835,184.02,192.835z"></path> <path style="fill:#718176;" d="M184.02,218.585h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C186.136,219.533,185.188,218.585,184.02,218.585z"></path> </g> </g> <rect x="225.104" y="190.269" style="fill:#979696;" width="100.213" height="21.202"></rect> <circle style="fill:#43B471;" cx="369.338" cy="201.725" r="19.487"></circle> <circle style="fill:#D3D340;" cx="416.663" cy="201.725" r="19.487"></circle> <circle style="fill:#D15075;" cx="463.989" cy="201.725" r="19.487"></circle> <g> <g> <path style="fill:#718176;" d="M57.355,307.611H43.829c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C59.471,308.559,58.524,307.611,57.355,307.611z"></path> <path style="fill:#718176;" d="M57.355,333.362H43.829c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.947,2.116-2.116v-13.548 C59.471,334.309,58.524,333.362,57.355,333.362z"></path> <path style="fill:#718176;" d="M57.355,359.112H43.829c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C59.471,360.06,58.524,359.112,57.355,359.112z"></path> </g> <g> <path style="fill:#718176;" d="M89.021,307.611H75.495c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C91.137,308.559,90.19,307.611,89.021,307.611z"></path> <path style="fill:#718176;" d="M89.021,333.362H75.495c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.947,2.116-2.116v-13.548 C91.137,334.309,90.19,333.362,89.021,333.362z"></path> <path style="fill:#718176;" d="M89.021,359.112H75.495c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548C91.137,360.06,90.19,359.112,89.021,359.112 z"></path> </g> <g> <path style="fill:#718176;" d="M120.687,307.611h-13.525c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.525c1.169,0,2.116-0.948,2.116-2.116v-13.548 C122.804,308.559,121.856,307.611,120.687,307.611z"></path> <path style="fill:#718176;" d="M120.687,333.362h-13.525c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.525c1.169,0,2.116-0.947,2.116-2.116v-13.548 C122.804,334.309,121.856,333.362,120.687,333.362z"></path> <path style="fill:#718176;" d="M120.687,359.112h-13.525c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.948,2.116,2.116,2.116h13.525c1.169,0,2.116-0.948,2.116-2.116v-13.548 C122.804,360.06,121.856,359.112,120.687,359.112z"></path> </g> <g> <path style="fill:#718176;" d="M152.354,307.611h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C154.47,308.559,153.522,307.611,152.354,307.611z"></path> <path style="fill:#718176;" d="M152.354,333.362h-13.526c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.947,2.116-2.116v-13.548 C154.47,334.309,153.522,333.362,152.354,333.362z"></path> <path style="fill:#718176;" d="M152.354,359.112h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C154.47,360.06,153.522,359.112,152.354,359.112z"></path> </g> <g> <path style="fill:#718176;" d="M184.02,307.611h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C186.136,308.559,185.188,307.611,184.02,307.611z"></path> <path style="fill:#718176;" d="M184.02,333.362h-13.526c-1.169,0-2.116,0.947-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.947,2.116-2.116v-13.548 C186.136,334.309,185.188,333.362,184.02,333.362z"></path> <path style="fill:#718176;" d="M184.02,359.112h-13.526c-1.169,0-2.116,0.948-2.116,2.116v13.548 c0,1.169,0.947,2.116,2.116,2.116h13.526c1.169,0,2.116-0.948,2.116-2.116v-13.548 C186.136,360.06,185.188,359.112,184.02,359.112z"></path> </g> </g> <rect x="225.104" y="330.796" style="fill:#979696;" width="100.213" height="21.202"></rect> <circle style="fill:#43B471;" cx="369.338" cy="342.252" r="19.487"></circle> <circle style="fill:#D3D340;" cx="416.663" cy="342.252" r="19.487"></circle> <circle style="fill:#D15075;" cx="463.989" cy="342.252" r="19.487"></circle> </g> <g style="opacity:0.5;"> <path style="opacity:0.07;fill:#040000;" d="M275.236,261.251v19.832h228.935c4.315,0,7.8,3.486,7.8,7.799v105.05 c0,4.315-3.485,7.799-7.8,7.799H275.236v44.891h180.559l-20.661,42.983H76.837L56.425,447.12l-0.249-0.497h176.078v-44.891 H98.992l55.512-55.512l20.91-20.827l44.31-44.31h12.53v-12.53l57.089-57.089l21.077-21.16l43.48-43.48l4.647-4.647l1.66-1.659 h143.966c4.315,0,7.8,3.485,7.8,7.8v105.05c0,4.315-3.485,7.883-7.8,7.883H275.236z"></path> <path style="opacity:0.07;fill:#040000;" d="M504.171,0h-3.403L380.083,120.685h124.088c4.324,0,7.829-3.505,7.829-7.828V7.829 C512,3.506,508.495,0,504.171,0z"></path> </g> </g> </g> </g></svg>
Backy
</a>
</div>
<div class="searchbox default-animation">
<i class="fas fa-search" title="Search (CTRL+ALT+f)"></i>
<label class="a11y-only" for="search-by">Search</label>
<input data-search-input id="search-by" name="search-by" class="search-by" type="search" placeholder="Search...">
<span data-search-clear=""><i class="fas fa-times"></i></span>
</div>
<script>
var contentLangs=['en'];
</script>
<script src="/js/auto-complete.js?1676866111" defer></script>
<script src="/js/lunr/lunr.min.js?1676866111" defer></script>
<script src="/js/lunr/lunr.stemmer.support.min.js?1676866111" defer></script>
<script src="/js/lunr/lunr.multi.min.js?1676866111" defer></script>
<script src="/js/lunr/lunr.en.min.js?1676866111" defer></script>
<script src="/js/search.js?1676866111" defer></script>
</div>
<div id="content-wrapper" class="highlightable">
<ul class="topics collapsible-menu">
<li data-nav-id="/getting-started/index.html" class="dd-item parent"><input type="checkbox" id="section-c727fab97b4d77e5b28ce8c448fb9000" aria-controls="subsections-c727fab97b4d77e5b28ce8c448fb9000" class="toggle" checked><label class="a11y-only toggle" for="section-c727fab97b4d77e5b28ce8c448fb9000" >Submenu Getting started</label><a href="/getting-started/index.html">Getting started</a><ul id="subsections-c727fab97b4d77e5b28ce8c448fb9000">
<li data-nav-id="/getting-started/install/index.html" class="dd-item"><a href="/getting-started/install/index.html">Install Backy</a></li>
<li data-nav-id="/getting-started/config/index.html" class="dd-item active"><a href="/getting-started/config/index.html">Config File Definitions</a></li></ul></li>
<li data-nav-id="/config/index.html" class="dd-item"><input type="checkbox" id="section-98a8c13bcd8ebb34cfcbafd00ee6590b" aria-controls="subsections-98a8c13bcd8ebb34cfcbafd00ee6590b" class="toggle"><label class="a11y-only toggle" for="section-98a8c13bcd8ebb34cfcbafd00ee6590b" >Submenu Configuring Backy</label><a href="/config/index.html">Configuring Backy</a><ul id="subsections-98a8c13bcd8ebb34cfcbafd00ee6590b">
<li data-nav-id="/config/command-lists/index.html" class="dd-item"><a href="/config/command-lists/index.html">Command Lists</a></li>
<li data-nav-id="/config/commands/index.html" class="dd-item"><a href="/config/commands/index.html">Commands</a></li>
<li data-nav-id="/config/notifications/index.html" class="dd-item"><a href="/config/notifications/index.html">Notifications</a></li></ul></li>
<li data-nav-id="/cli/index.html" class="dd-item"><a href="/cli/index.html">CLI</a></li>
<li data-nav-id="/repositories/index.html" class="dd-item"><a href="/repositories/index.html">Repositories</a></li>
</ul>
<div class="footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showFooter"></div>
<hr class="default-animation footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showFooter">
<div id="prefooter" class="footerLangSwitch footerVariantSwitch footerVisitedLinks">
<ul>
<li id="select-language-container" class="footerLangSwitch">
<div class="padding select-container">
<i class="fas fa-language fa-fw"></i>
<span>&nbsp;</span>
<div class="select-style">
<label class="a11y-only" for="select-language">Language</label>
<select id="select-language" onchange="location = baseUri + this.value;">
</select>
</div>
<div class="select-clear"></div>
</div>
</li>
<li id="select-variant-container" class="footerVariantSwitch">
<div class="padding select-container">
<i class="fas fa-paint-brush fa-fw"></i>
<span>&nbsp;</span>
<div class="select-style">
<label class="a11y-only" for="select-variant">Theme</label>
<select id="select-variant" onchange="window.variants && variants.changeVariant( this.value );">
<option id="auto" value="auto" selected>Auto</option>
</select>
</div>
<div class="select-clear"></div>
</div>
<script>window.variants && variants.markSelectedVariant();</script>
</li>
<li class="footerVisitedLinks"><button class="padding" onclick="clearHistory();"><i class="fas fa-history fa-fw"></i> Clear History</button></li>
</ul>
</div>
<div id="footer" class="footerFooter showFooter">
<p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn" title="love"><i class="fas fa-heart"></i></a> by <a href="https://gohugo.io/">Hugo</a></p>
</div>
</div>
</aside>
<script src="/js/clipboard.min.js?1676866111" defer></script>
<script src="/js/perfect-scrollbar.min.js?1676866111" defer></script>
<script>
function useMathJax( config ){
if( !Object.assign ){
return;
}
window.MathJax = Object.assign( window.MathJax || {}, {
loader: {
load: ['[tex]/mhchem']
},
startup: {
elements: [
'.math'
]
},
tex: {
inlineMath: [
['$', '$'],
['\\(', '\\)']
]
},
options: {
enableMenu: false
}
}, config );
}
useMathJax( JSON.parse("{}") );
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<script src="/js/d3/d3-color.min.js?1676866111" defer></script>
<script src="/js/d3/d3-dispatch.min.js?1676866111" defer></script>
<script src="/js/d3/d3-drag.min.js?1676866111" defer></script>
<script src="/js/d3/d3-ease.min.js?1676866111" defer></script>
<script src="/js/d3/d3-interpolate.min.js?1676866111" defer></script>
<script src="/js/d3/d3-selection.min.js?1676866111" defer></script>
<script src="/js/d3/d3-timer.min.js?1676866111" defer></script>
<script src="/js/d3/d3-transition.min.js?1676866111" defer></script>
<script src="/js/d3/d3-zoom.min.js?1676866111" defer></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js" defer></script>
<script>
window.themeUseMermaid = JSON.parse("{ \"theme\": \"default\" }");
</script>
<script src="https://unpkg.com/rapidoc/dist/rapidoc-min.js" defer></script>
<script>
window.themeUseSwagger = JSON.parse("{ \"theme\": \"light\" }");
</script>
<script src="/js/theme.js?1676866111" defer></script>
</body>
</html>