You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TRaSH-Guides/Hardlinks/How-to-setup-for/Docker/index.html

2915 lines
80 KiB

<!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="Guides mainly for Sonarr/Radarr/Bazarr and everything related to it.">
<meta name="author" content="TRaSH">
<link rel="canonical" href="https://trash-guides.info/Hardlinks/How-to-setup-for/Docker/">
<link rel="prev" href="../">
<link rel="next" href="../Dockstarter/">
<link rel="icon" href="../../../img/favicon.png">
<meta name="generator" content="mkdocs-1.4.3, mkdocs-material-9.1.11">
<title>Docker - TRaSH Guides</title>
<link rel="stylesheet" href="../../../assets/stylesheets/main.85bb2934.min.css">
<link rel="stylesheet" href="../../../assets/stylesheets/palette.a6bdf11c.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans:300,300i,400,400i,700,700i%7CEncode+Sans+Expanded:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Noto Sans";--md-code-font:"Encode Sans Expanded"}</style>
<link rel="stylesheet" href="../../../stylesheets/extra.css">
<link rel="stylesheet" href="../../../stylesheets/github-permalink-style.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>
<script id="__analytics">function __md_analytics(){function n(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],n("js",new Date),n("config","G-ZZKM4MPQXL"),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){this.value&&n("event","search",{search_term:this.value})}),document$.subscribe(function(){var a=document.forms.feedback;if(void 0!==a)for(var e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");n("event","feedback",{page:t,data:e}),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}),location$.subscribe(function(e){n("config","G-ZZKM4MPQXL",{page_path:e.pathname})})});var e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id=G-ZZKM4MPQXL",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script>
<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
<link href="../../../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
html.glightbox-open { overflow: initial; height: 100%; }
.gslide-title { margin-top: 0px; user-select: text; }
.gslide-desc { color: #666; user-select: text; }
.gslide-image img { background: white; }
.gscrollbar-fixer { padding-right: 15px; }
.gdesc-inner { font-size: 0.75rem; }
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}
</style> <script src="../../../assets/javascripts/glightbox.min.js"></script></head>
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="blue">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<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="#docker" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../../.." title="TRaSH Guides" class="md-header__button md-logo" aria-label="TRaSH Guides" 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 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></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">
TRaSH Guides
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Docker
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="blue" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3Z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="blue" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>
</label>
</form>
<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.516 6.516 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 5Z"/></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.516 6.516 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 5Z"/></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 11h12Z"/></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 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" 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>
<div class="md-header__source">
<a href="https://github.com/TRaSH-/Guides" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.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 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
TRaSH-/Guides
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../../.." class="md-tabs__link">
Home
</a>
</li>
<li class="md-tabs__item">
<a href="../../../Radarr/" class="md-tabs__link">
Radarr
</a>
</li>
<li class="md-tabs__item">
<a href="../../../Sonarr/" class="md-tabs__link">
Sonarr
</a>
</li>
<li class="md-tabs__item">
<a href="../../../Prowlarr/" class="md-tabs__link">
Prowlarr
</a>
</li>
<li class="md-tabs__item">
<a href="../../../Bazarr/" class="md-tabs__link">
Bazarr
</a>
</li>
<li class="md-tabs__item">
<a href="../../../Downloaders/" class="md-tabs__link">
Downloaders
</a>
</li>
<li class="md-tabs__item">
<a href="../../../Plex/" class="md-tabs__link">
Plex
</a>
</li>
<li class="md-tabs__item">
<a href="../../../Guide-Sync/" class="md-tabs__link">
Guide Sync
</a>
</li>
<li class="md-tabs__item">
<a href="../../../Misc/" class="md-tabs__link">
Misc
</a>
</li>
<li class="md-tabs__item">
<a href="../../Hardlinks-and-Instant-Moves/" class="md-tabs__link md-tabs__link--active">
Hardlinks
</a>
</li>
<li class="md-tabs__item">
<a href=".." class="md-tabs__link">
How-to-setup-for
</a>
</li>
</ul>
</div>
</nav>
<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 md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../../.." title="TRaSH Guides" class="md-nav__button md-logo" aria-label="TRaSH Guides" data-md-component="logo">
<img src="../../../img/logo.png" alt="logo">
</a>
TRaSH Guides
</label>
<div class="md-nav__source">
<a href="https://github.com/TRaSH-/Guides" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.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 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
TRaSH-/Guides
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../.." class="md-nav__link">
Home
</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">
Radarr
<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>
Radarr
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Radarr/" class="md-nav__link">
Home
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Radarr-Quality-Settings-File-Size/" class="md-nav__link">
Quality Settings (File Size)
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Radarr-recommended-naming-scheme/" class="md-nav__link">
Recommended naming scheme
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Radarr-import-custom-formats/" class="md-nav__link">
How to import Custom Formats
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Radarr-how-to-update-custom-formats/" class="md-nav__link">
How to Update Custom Formats
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/radarr-setup-quality-profiles/" class="md-nav__link">
How to setup Quality Profiles
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/radarr-setup-quality-profiles-anime/" class="md-nav__link">
How to setup Quality Profiles (Anime)
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/radarr-setup-quality-profiles-french-en/" class="md-nav__link">
How to setup Quality Profiles (French)
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Radarr-collection-of-custom-formats/" class="md-nav__link">
Collection of Custom Formats
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Radarr-remote-path-mapping/" class="md-nav__link">
Remote Path Mappings explained
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" >
<label class="md-nav__link" for="__nav_2_11" id="__nav_2_11_label" tabindex="0">
Tips
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_11">
<span class="md-nav__icon md-icon"></span>
Tips
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Radarr/Tips/How-to-setup-language-custom-formats/" class="md-nav__link">
How to setup Language Custom Formats
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Tips/Merge-quality/" class="md-nav__link">
How to Merge Quality
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Tips/Radarr-rename-your-folders/" class="md-nav__link">
How to rename your folders
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Tips/Radarr-show-unknown-movie-items/" class="md-nav__link">
Show Unknown Movie Items
</a>
</li>
<li class="md-nav__item">
<a href="../../../Radarr/Tips/Sync-2-radarr-sonarr/" class="md-nav__link">
How to Sync 2 Radarr or Sonarr with each other
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
Sonarr
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Sonarr
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Sonarr/" class="md-nav__link">
Home
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/Sonarr-Quality-Settings-File-Size/" class="md-nav__link">
Quality Settings (File Size)
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/Sonarr-recommended-naming-scheme/" class="md-nav__link">
Recommended naming scheme
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/Sonarr-Release-Profile-RegEx/" class="md-nav__link">
Release Profile RegEx (WEB-DL)
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/Sonarr-Release-Profile-RegEx-Anime/" class="md-nav__link">
Release Profile RegEx (Anime)
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/Sonarr-remote-path-mapping/" class="md-nav__link">
Remote Path Mappings explained
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_7" >
<label class="md-nav__link" for="__nav_3_7" id="__nav_3_7_label" tabindex="0">
Sonarr v4 Beta
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_7">
<span class="md-nav__icon md-icon"></span>
Sonarr v4 Beta
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Sonarr/sonarr-import-custom-formats/" class="md-nav__link">
How to import Custom Formats
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/sonarr-how-to-update-custom-formats/" class="md-nav__link">
How to Update Custom Formats
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/sonarr-setup-quality-profiles/" class="md-nav__link">
How to setup Quality Profiles
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/sonarr-setup-quality-profiles-anime/" class="md-nav__link">
How to setup Quality Profiles (Anime)
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/sonarr-setup-quality-profiles-french-en/" class="md-nav__link">
How to setup Quality Profiles (French)
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/sonarr-collection-of-custom-formats/" class="md-nav__link">
Collection of Custom Formats
</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_3_8" >
<label class="md-nav__link" for="__nav_3_8" id="__nav_3_8_label" tabindex="0">
Tips
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_8">
<span class="md-nav__icon md-icon"></span>
Tips
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Sonarr/Tips/How-to-setup-language-custom-formats/" class="md-nav__link">
How to setup language custom formats
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/Tips/Merge-quality/" class="md-nav__link">
Merge quality
</a>
</li>
<li class="md-nav__item">
<a href="../../../Sonarr/Tips/Sync-2-radarr-sonarr/" class="md-nav__link">
Sync 2 radarr sonarr
</a>
</li>
</ul>
</nav>
</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">
Prowlarr
<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>
Prowlarr
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Prowlarr/" class="md-nav__link">
Home
</a>
</li>
<li class="md-nav__item">
<a href="../../../Prowlarr/prowlarr-setup-proxy/" class="md-nav__link">
How to setup proxy for certain indexers
</a>
</li>
<li class="md-nav__item">
<a href="../../../Prowlarr/prowlarr-setup-flaresolverr/" class="md-nav__link">
How to setup FlareSolverr
</a>
</li>
<li class="md-nav__item">
<a href="../../../Prowlarr/prowlarr-setup-limited-api/" class="md-nav__link">
How to setup indexers with limited API
</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">
Bazarr
<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>
Bazarr
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Bazarr/" class="md-nav__link">
Home
</a>
</li>
<li class="md-nav__item">
<a href="../../../Bazarr/Setup-Guide/" class="md-nav__link">
Basic-Guide
</a>
</li>
<li class="md-nav__item">
<a href="../../../Bazarr/After-install-configuration/" class="md-nav__link">
After Install Configuration
</a>
</li>
<li class="md-nav__item">
<a href="/Bazarr/scripts/" class="md-nav__link">
Scripts
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_5" >
<label class="md-nav__link" for="__nav_5_5" id="__nav_5_5_label" tabindex="0">
Tips
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_5">
<span class="md-nav__icon md-icon"></span>
Tips
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Bazarr/Tips/Bazarr-suggested-scoring/" class="md-nav__link">
Suggested Scoring
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
Downloaders
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Downloaders
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Downloaders/" class="md-nav__link">
Home
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
<label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
NZBGet
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_2">
<span class="md-nav__icon md-icon"></span>
NZBGet
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Downloaders/NZBGet/Basic-Setup/" class="md-nav__link">
Basic-Setup
</a>
</li>
<li class="md-nav__item">
<a href="../../../Downloaders/NZBGet/Paths-and-Categories/" class="md-nav__link">
Path and Categories
</a>
</li>
<li class="md-nav__item">
<a href="/Downloaders/NZBGet/scripts/" class="md-nav__link">
Scripts
</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_6_3" >
<label class="md-nav__link" for="__nav_6_3" id="__nav_6_3_label" tabindex="0">
SABnzbd
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_3">
<span class="md-nav__icon md-icon"></span>
SABnzbd
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Downloaders/SABnzbd/Basic-Setup/" class="md-nav__link">
Basic-Setup
</a>
</li>
<li class="md-nav__item">
<a href="../../../Downloaders/SABnzbd/Paths-and-Categories/" class="md-nav__link">
Path and Categories
</a>
</li>
<li class="md-nav__item">
<a href="/Downloaders/SABnzbd/scripts/" class="md-nav__link">
Scripts
</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_6_4" >
<label class="md-nav__link" for="__nav_6_4" id="__nav_6_4_label" tabindex="0">
qBittorrent
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_4">
<span class="md-nav__icon md-icon"></span>
qBittorrent
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Downloaders/qBittorrent/Basic-Setup/" class="md-nav__link">
Basic-Setup
</a>
</li>
<li class="md-nav__item">
<a href="../../../Downloaders/qBittorrent/Paths/" class="md-nav__link">
Paths
</a>
</li>
<li class="md-nav__item">
<a href="../../../Downloaders/qBittorrent/How-to-add-categories/" class="md-nav__link">
How to add Categories
</a>
</li>
<li class="md-nav__item">
<a href="../../../Downloaders/qBittorrent/Port-forwarding/" class="md-nav__link">
Port forwarding
</a>
</li>
<li class="md-nav__item">
<a href="../../../Downloaders/qBittorrent/3rd-party-tools/" class="md-nav__link">
3rd Party tools
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4_6" >
<label class="md-nav__link" for="__nav_6_4_6" id="__nav_6_4_6_label" tabindex="0">
Tips
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_4_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_4_6">
<span class="md-nav__icon md-icon"></span>
Tips
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Downloaders/qBittorrent/Tips/How-to-run-the-unRaid-mover-for-qBittorrent/" class="md-nav__link">
How to run the unRaid mover for qBittorent seeding torrents
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_5" >
<label class="md-nav__link" for="__nav_6_5" id="__nav_6_5_label" tabindex="0">
Deluge
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_5">
<span class="md-nav__icon md-icon"></span>
Deluge
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Downloaders/Deluge/" class="md-nav__link">
Deluge Placeholder
</a>
</li>
<li class="md-nav__item">
<a href="../../../Downloaders/Deluge/Deluge-Basic-Setup/" class="md-nav__link">
Deluge - Basic Setup
</a>
</li>
<li class="md-nav__item">
<a href="../../../Downloaders/Deluge/Deluge-how-to-add-labels/" class="md-nav__link">
Deluge - How to add labels
</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_6_6" >
<label class="md-nav__link" for="__nav_6_6" id="__nav_6_6_label" tabindex="0">
ruTorrent
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_6">
<span class="md-nav__icon md-icon"></span>
ruTorrent
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Downloaders/ruTorrent/" class="md-nav__link">
ruTorrent Placeholder
</a>
</li>
<li class="md-nav__item">
<a href="../../../Downloaders/ruTorrent/ruTorrent-Basic-Setup/" class="md-nav__link">
ruTorrent - Basic Setup
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
Plex
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Plex
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Plex/" class="md-nav__link">
Home
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_2" >
<label class="md-nav__link" for="__nav_7_2" id="__nav_7_2_label" tabindex="0">
Tips
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_7_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7_2">
<span class="md-nav__icon md-icon"></span>
Tips
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Plex/Tips/Plex-media-server/" class="md-nav__link">
Suggested Plex Media Server Settings
</a>
</li>
<li class="md-nav__item">
<a href="../../../Plex/Tips/Optimal-plex-client-settings/" class="md-nav__link">
Optimal Plex Client Settings
</a>
</li>
<li class="md-nav__item">
<a href="../../../Plex/Tips/4k-transcoding/" class="md-nav__link">
JBOPS 4K Transcode Stopping with Tautulli
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="/Plex/profiles/" class="md-nav__link">
Profiles
</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_8" >
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
Guide Sync
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Guide Sync
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Guide-Sync/" class="md-nav__link">
Home
</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_9" >
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
Misc
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
Misc
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../Misc/" class="md-nav__link">
Home
</a>
</li>
<li class="md-nav__item">
<a href="../../../Misc/how-to-provide-a-docker-compose/" class="md-nav__link">
How to provide a docker compose
</a>
</li>
<li class="md-nav__item">
<a href="../../../Misc/How-to-setup-Torguard-for-port-forwarding/" class="md-nav__link">
Setup TorGuard for port forwarding
</a>
</li>
<li class="md-nav__item">
<a href="../../../Misc/x265-4k/" class="md-nav__link">
x265-4k and Golden Rule
</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_10" checked>
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
Hardlinks
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon"></span>
Hardlinks
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Hardlinks-and-Instant-Moves/" class="md-nav__link">
Hardlinks - Atomic Moves
</a>
</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_10_2" checked>
<label class="md-nav__link" for="__nav_10_2" id="__nav_10_2_label" tabindex="0">
How to setup for
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_10_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_10_2">
<span class="md-nav__icon md-icon"></span>
How to setup for
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../" class="md-nav__link">
How to setup for
</a>
</li>
<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">
Docker
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Docker
</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="#folder-structure" class="md-nav__link">
Folder Structure
</a>
<nav class="md-nav" aria-label="Folder Structure">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#bad-path-suggestion" class="md-nav__link">
Bad path suggestion
</a>
</li>
<li class="md-nav__item">
<a href="#breakdown-of-the-folder-structure" class="md-nav__link">
Breakdown of the Folder Structure
</a>
<nav class="md-nav" aria-label="Breakdown of the Folder Structure">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#torrent-clients" class="md-nav__link">
Torrent clients
</a>
</li>
<li class="md-nav__item">
<a href="#usenet-clients" class="md-nav__link">
Usenet clients
</a>
</li>
<li class="md-nav__item">
<a href="#the-starr-apps" class="md-nav__link">
The Starr Apps
</a>
</li>
<li class="md-nav__item">
<a href="#media-server" class="md-nav__link">
Media Server
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#permissions" class="md-nav__link">
Permissions
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#docker-compose-example" class="md-nav__link">
Docker-compose Example
</a>
<nav class="md-nav" aria-label="Docker-compose Example">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#docker-compose-commands" class="md-nav__link">
Docker-Compose Commands
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../Dockstarter/" class="md-nav__link">
Dockstarter
</a>
</li>
<li class="md-nav__item">
<a href="../Native/" class="md-nav__link">
Native
</a>
</li>
<li class="md-nav__item">
<a href="../Synology/" class="md-nav__link">
Synology
</a>
</li>
<li class="md-nav__item">
<a href="../TrueNAS-Core/" class="md-nav__link">
TrueNAS Core
</a>
</li>
<li class="md-nav__item">
<a href="../Unraid/" class="md-nav__link">
Unraid
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../Examples/" class="md-nav__link">
Examples
</a>
</li>
<li class="md-nav__item">
<a href="../../Check-if-hardlinks-are-working/" class="md-nav__link">
Check if hardlinks are working
</a>
</li>
<li class="md-nav__item">
<a href="../../Replace-copies-with-hardlinks/" class="md-nav__link">
Replace copies with hardlinks
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href=".." class="md-nav__link">
How-to-setup-for
</a>
</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="#folder-structure" class="md-nav__link">
Folder Structure
</a>
<nav class="md-nav" aria-label="Folder Structure">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#bad-path-suggestion" class="md-nav__link">
Bad path suggestion
</a>
</li>
<li class="md-nav__item">
<a href="#breakdown-of-the-folder-structure" class="md-nav__link">
Breakdown of the Folder Structure
</a>
<nav class="md-nav" aria-label="Breakdown of the Folder Structure">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#torrent-clients" class="md-nav__link">
Torrent clients
</a>
</li>
<li class="md-nav__item">
<a href="#usenet-clients" class="md-nav__link">
Usenet clients
</a>
</li>
<li class="md-nav__item">
<a href="#the-starr-apps" class="md-nav__link">
The Starr Apps
</a>
</li>
<li class="md-nav__item">
<a href="#media-server" class="md-nav__link">
Media Server
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#permissions" class="md-nav__link">
Permissions
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#docker-compose-example" class="md-nav__link">
Docker-compose Example
</a>
<nav class="md-nav" aria-label="Docker-compose Example">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#docker-compose-commands" class="md-nav__link">
Docker-Compose Commands
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/TRaSH-/Guides/edit/master/docs/Hardlinks/How-to-setup-for/Docker.md" title="Edit this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg>
</a>
<a href="https://github.com/TRaSH-/Guides/raw/master/docs/Hardlinks/How-to-setup-for/Docker.md" title="View source of this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg>
</a>
<h1 id="docker">Docker<a class="headerlink" href="#docker" title="Permanent link"></a></h1>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>If you're new to dockers and want a easy setup I suggest to take a look at <a href="https://dockstarter.com/" rel="noopener noreferrer" target="_blank">DockSTARTer</a>.
I've also created a short guide <a href="/Hardlinks/How-to-setup-for/Dockstarter/">HERE</a> where I explain the settings for the most used applications.</p>
<p>The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker.
You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations.</p>
<p><em>DockSTARTer was actually my first steps in to the world of dockers.</em></p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend.</p>
<p>The paths mentioned below refer to internal paths (or <code>Container Path</code>) for the containers!</p>
<p>External paths (or <code>Host Path</code>) depends where you mounted your share or your drives.</p>
<p>For example <code>/&lt;path_to_data&gt;/data</code>, or even <code>/data</code>.</p>
</div>
<!-- BEGIN INCLUDE ../../../includes/hardlinks/folder-structure.md -->
<h2 id="folder-structure">Folder Structure<a class="headerlink" href="#folder-structure" title="Permanent link"></a></h2>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>It doesn't really matter which path you use for your media and appdata,</p>
<p>the only thing you should avoid is <code>/home</code>.</p>
<p>Because user folders in <code>/home</code> are expected to have some restrictive permissions.</p>
<p>It just could end up creating a permissions mess, so it's better to just avoid entirely.</p>
</div>
<p>For this example we're going to make use of a share called <code>data</code>.</p>
<p>The <code>data</code> folder has sub-folders for <code>torrents</code> and <code>usenet</code> and each of these have sub-folders for <code>tv</code>, <code>movie</code>, <code>books</code> and <code>music</code> downloads to keep things neat. The <code>media</code> folder has nicely named <code>TV</code>, <code>Movies</code>, <code>Books</code> and <code>Music</code> sub-folders, this is your library and what youd pass to Plex, Emby or JellyFin.</p>
<p><em>In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive.</em></p>
<!-- BEGIN INCLUDE docker-tree-full.md -->
<div class="highlight"><pre><span></span><code>data
├── torrents
│ ├── books
│ ├── movies
│ ├── music
│ └── tv
├── usenet
│ ├── incomplete
│ └── complete
│ ├── books
│ ├── movies
│ ├── music
│ └── tv
└── media
├── books
├── movies
├── music
└── tv
</code></pre></div>
<!-- END INCLUDE -->
<!-- END INCLUDE -->
<!-- --8<-- "includes/hardlinks/folder-structure.md" -->
<!-- BEGIN INCLUDE ../../../includes/hardlinks/bad-path-suggestion.md -->
<h3 id="bad-path-suggestion">Bad path suggestion<a class="headerlink" href="#bad-path-suggestion" title="Permanent link"></a></h3>
<div class="admonition warning">
<p class="admonition-title">The default path setup suggested by some docker developers that encourages people to use mounts like <code>/movies</code>, <code>/tv</code>, <code>/books</code> or <code>/downloads</code> is very suboptimal and it makes them look like two or three file systems, even if they arent (<em>Because of how Dockers volumes work</em>). It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used.</p>
</div>
<!-- END INCLUDE -->
<!-- --8<-- "includes/hardlinks/bad-path-suggestion.md" -->
<!-- BEGIN INCLUDE ../../../includes/hardlinks/breakdown-folder-structure-docker.md -->
<h3 id="breakdown-of-the-folder-structure">Breakdown of the Folder Structure<a class="headerlink" href="#breakdown-of-the-folder-structure" title="Permanent link"></a></h3>
<h4 id="torrent-clients">Torrent clients<a class="headerlink" href="#torrent-clients" title="Permanent link"></a></h4>
<p>qBittorrent, Deluge, ruTorrent</p>
<p>The reason why we use <code>/data/torrents</code> for the torrent client is because it only needs access to the torrent files. In the torrent software settings, youll need to reconfigure paths and you can sort into sub-folders like <code>/data/torrents/{tv|movies|music}</code>.</p>
<!-- BEGIN INCLUDE docker-tree-torrents.md -->
<div class="highlight"><pre><span></span><code>data
└── torrents
├── books
├── movies
├── music
└── tv
</code></pre></div>
<!-- END INCLUDE -->
<p><code>Container Path:</code> =&gt; <code>/data/torrents/</code></p>
<p><code>Host Path:</code> =&gt; <code>/&lt;path_to_data&gt;/data/torrents/</code></p>
<h4 id="usenet-clients">Usenet clients<a class="headerlink" href="#usenet-clients" title="Permanent link"></a></h4>
<p>NZBGet or SABnzbd</p>
<p>The reason why we use <code>/data/usenet</code> for the usenet client is because it only needs access to the usenet files. In the usenet software settings, youll need to reconfigure paths and you can sort into sub-folders like <code>/data/usenet/complete/{tv|movies|music}</code>.</p>
<!-- BEGIN INCLUDE docker-tree-usenet.md -->
<div class="highlight"><pre><span></span><code>data
└── usenet
├── incomplete
└── complete
├── books
├── movies
├── music
└── tv
</code></pre></div>
<!-- END INCLUDE -->
<p><code>Container Path:</code> =&gt; <code>/data/usenet/</code></p>
<p><code>Host Path:</code> =&gt; <code>/&lt;path_to_data&gt;/data/usenet/</code></p>
<h4 id="the-starr-apps">The Starr Apps<a class="headerlink" href="#the-starr-apps" title="Permanent link"></a></h4>
<p>Sonarr, Radarr, Readarr and Lidarr</p>
<p>Sonarr, Radarr, Readarr and Lidarr gets access to everything using <code>/data</code> because the download folder(s) and media folder will look like and be one file system. Hardlinks will work and moves will be atomic, instead of copy + delete.</p>
<!-- BEGIN INCLUDE docker-tree-full.md -->
<div class="highlight"><pre><span></span><code>data
├── torrents
│ ├── books
│ ├── movies
│ ├── music
│ └── tv
├── usenet
│ ├── incomplete
│ └── complete
│ ├── books
│ ├── movies
│ ├── music
│ └── tv
└── media
├── books
├── movies
├── music
└── tv
</code></pre></div>
<!-- END INCLUDE -->
<p><code>Container Path:</code> =&gt; <code>/data</code></p>
<p><code>Host Path:</code> =&gt; <code>/&lt;path_to_data&gt;/data/</code></p>
<h4 id="media-server">Media Server<a class="headerlink" href="#media-server" title="Permanent link"></a></h4>
<p>Plex, Emby, JellyFin and Bazarr</p>
<p>Plex, Emby, JellyFin and Bazarr only needs access to your media library using <code>/data/media</code>, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders.</p>
<!-- BEGIN INCLUDE docker-tree-media.md -->
<div class="highlight"><pre><span></span><code>data
└── media
├── movies
├── music
├── books
└── tv
</code></pre></div>
<!-- END INCLUDE -->
<p><code>Container Path:</code> =&gt; <code>/data/media</code></p>
<p><code>Host Path:</code> =&gt; <code>/&lt;path_to_data&gt;/data/media/</code></p>
<hr />
<p><strong>Don't forget to look at the <a href="/Hardlinks/Examples/">Examples</a> how to setup the paths inside the applications.</strong></p>
<!-- END INCLUDE -->
<!-- --8<-- "includes/hardlinks/breakdown-folder-structure.md" -->
<!-- BEGIN INCLUDE ../../../includes/hardlinks/permissions.md -->
<h3 id="permissions">Permissions<a class="headerlink" href="#permissions" title="Permanent link"></a></h3>
<p>Recursively chown user and group and Recursively chmod to 775/664</p>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>chown<span class="w"> </span>-R<span class="w"> </span><span class="nv">$USER</span>:<span class="nv">$USER</span><span class="w"> </span>/data
sudo<span class="w"> </span>chmod<span class="w"> </span>-R<span class="w"> </span><span class="nv">a</span><span class="o">=</span>,a+rX,u+w,g+w<span class="w"> </span>/data
</code></pre></div>
<!-- END INCLUDE -->
<!-- --8<-- "includes/hardlinks/permissions.md" -->
<h2 id="docker-compose-example">Docker-compose Example<a class="headerlink" href="#docker-compose-example" title="Permanent link"></a></h2>
<div class="admonition example">
<p>This is a docker-compose example based on a default Ubuntu install.</p>
<p>The storage location used for the host is actually the same as in the container to make it easier to understand in this case <code>/data</code>.</p>
<p>The appdata (<code>/config</code>) will be stored on the host in the <code>/docker/appdata/{appname}</code></p>
</div>
<details class="example">
<summary>docker-compose - [CLICK TO EXPAND]</summary>
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;3.2&quot;</span>
<span class="nt">services</span><span class="p">:</span>
<span class="w"> </span><span class="nt">radarr</span><span class="p">:</span>
<span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">radarr</span>
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cr.hotio.dev/hotio/radarr:latest</span>
<span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
<span class="w"> </span><span class="nt">logging</span><span class="p">:</span>
<span class="w"> </span><span class="nt">driver</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">json-file</span>
<span class="w"> </span><span class="nt">ports</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">7878:7878</span>
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PUID=1000</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PGID=1000</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TZ=Europe/Amsterdam</span>
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/localtime:/etc/localtime:ro</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/docker/appdata/radarr:/config</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/data:/data</span>
<span class="w"> </span><span class="nt">sonarr</span><span class="p">:</span>
<span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">sonarr</span>
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cr.hotio.dev/hotio/sonarr:latest</span>
<span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
<span class="w"> </span><span class="nt">logging</span><span class="p">:</span>
<span class="w"> </span><span class="nt">driver</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">json-file</span>
<span class="w"> </span><span class="nt">ports</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">8989:8989</span>
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PUID=1000</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PGID=1000</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TZ=Europe/Amsterdam</span>
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/localtime:/etc/localtime:ro</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/docker/appdata/sonarr:/config</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/data:/data</span>
<span class="w"> </span><span class="nt">bazarr</span><span class="p">:</span>
<span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">bazarr</span>
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cr.hotio.dev/hotio/bazarr:latest</span>
<span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
<span class="w"> </span><span class="nt">logging</span><span class="p">:</span>
<span class="w"> </span><span class="nt">driver</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">json-file</span>
<span class="w"> </span><span class="nt">ports</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6767:6767</span>
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PUID=1000</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PGID=1000</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TZ=Europe/Amsterdam</span>
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/localtime:/etc/localtime:ro</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/docker/appdata/bazarr:/config</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/data/media:/data/media</span>
<span class="w"> </span><span class="nt">sabnzbd</span><span class="p">:</span>
<span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">sabnzbd</span>
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cr.hotio.dev/hotio/sabnzbd:latest</span>
<span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
<span class="w"> </span><span class="nt">logging</span><span class="p">:</span>
<span class="w"> </span><span class="nt">driver</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">json-file</span>
<span class="w"> </span><span class="nt">ports</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">8080:8080</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">9090:9090</span>
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PUID=1000</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">PGID=1000</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TZ=Europe/Amsterdam</span>
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/localtime:/etc/localtime:ro</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/docker/appdata/sabnzbd:/config</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/data/usenet:/data/usenet:rw</span>
</code></pre></div>
</details>
<!-- BEGIN INCLUDE ../../../includes/hardlinks/docker-compose-commands.md -->
<h3 id="docker-compose-commands">Docker-Compose Commands<a class="headerlink" href="#docker-compose-commands" title="Permanent link"></a></h3>
<details class="tip">
<summary>docker-compose commands - [CLICK TO EXPAND]</summary>
<ul>
<li><code>sudo docker-compose up -d</code> (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.)</li>
<li><code>sudo docker-compose pull</code> (Pulls an image associated with a service defined in a docker-compose.yml)</li>
<li><code>sudo docker-compose down</code> (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesnt just stop the containers, it also removes them.)</li>
<li><code>sudo docker system prune -a --volumes --force</code> (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.)</li>
</ul>
</details>
<!-- END INCLUDE -->
<!-- --8<-- "includes/hardlinks/docker-compose-commands.md" -->
<!-- BEGIN INCLUDE ../../../includes/support.md -->
<hr />
<div class="admonition question">
<p class="admonition-title">Questions or Suggestions?</p>
<p>If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.</p>
<p><a href="https://trash-guides.info/discord" rel="noopener noreferrer" target="_blank"><img alt="Discord chat" class="off-glb" src="https://img.shields.io/discord/492590071455940612?style=for-the-badge&amp;color=4051B5&amp;logo=discord" /></a></p>
</div>
<!-- END INCLUDE -->
<!-- --8<-- "includes/support.md" -->
<hr>
<div class="md-source-file">
<small>
Last update:
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">April 15, 2023 10:24:13</span>
</small>
</div>
<footer class="sponsorship">
<hr>
<a href="https://github.com/sponsors/TRaSH-" title="Buy me a Coffee"><img src="/img/buy-me-a-coffee.png" alt="Buy me a coffee" width="137" height="39">
</a>
<hr>
</footer>
</article>
</div>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
Back to top
</button>
</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; 2022 TRaSH
</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://trash-guides.info/discord" target="_blank" rel="noopener" title="trash-guides.info" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Free 6.4.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 2023 Fonticons, Inc.--><path d="M524.531 69.836a1.5 1.5 0 0 0-.764-.7A485.065 485.065 0 0 0 404.081 32.03a1.816 1.816 0 0 0-1.923.91 337.461 337.461 0 0 0-14.9 30.6 447.848 447.848 0 0 0-134.426 0 309.541 309.541 0 0 0-15.135-30.6 1.89 1.89 0 0 0-1.924-.91 483.689 483.689 0 0 0-119.688 37.107 1.712 1.712 0 0 0-.788.676C39.068 183.651 18.186 294.69 28.43 404.354a2.016 2.016 0 0 0 .765 1.375 487.666 487.666 0 0 0 146.825 74.189 1.9 1.9 0 0 0 2.063-.676A348.2 348.2 0 0 0 208.12 430.4a1.86 1.86 0 0 0-1.019-2.588 321.173 321.173 0 0 1-45.868-21.853 1.885 1.885 0 0 1-.185-3.126 251.047 251.047 0 0 0 9.109-7.137 1.819 1.819 0 0 1 1.9-.256c96.229 43.917 200.41 43.917 295.5 0a1.812 1.812 0 0 1 1.924.233 234.533 234.533 0 0 0 9.132 7.16 1.884 1.884 0 0 1-.162 3.126 301.407 301.407 0 0 1-45.89 21.83 1.875 1.875 0 0 0-1 2.611 391.055 391.055 0 0 0 30.014 48.815 1.864 1.864 0 0 0 2.063.7A486.048 486.048 0 0 0 610.7 405.729a1.882 1.882 0 0 0 .765-1.352c12.264-126.783-20.532-236.912-86.934-334.541ZM222.491 337.58c-28.972 0-52.844-26.587-52.844-59.239s23.409-59.241 52.844-59.241c29.665 0 53.306 26.82 52.843 59.239 0 32.654-23.41 59.241-52.843 59.241Zm195.38 0c-28.971 0-52.843-26.587-52.843-59.239s23.409-59.241 52.843-59.241c29.667 0 53.307 26.82 52.844 59.239 0 32.654-23.177 59.241-52.844 59.241Z"/></svg>
</a>
<a href="https://github.com/TRaSH-/Guides" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.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 2023 Fonticons, Inc.--><path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z"/></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": ["navigation.instant", "navigation.tabs", "navigation.top", "content.code.copy", "content.action.edit", "content.action.view"], "search": "../../../assets/javascripts/workers/search.208ed371.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.fac441b0.min.js"></script>
<script>document$.subscribe(() => {const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});})</script></body>
</html>