docker-documentation/general/docker-compose/index.html

79 wiersze
93 KiB
HTML
Czysty Wina Historia

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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="Welcome to the home of the LinuxServer.io documentation!"><meta name=author content=LinuxServer.io><link href=https://docs.linuxserver.io/general/docker-compose/ rel=canonical><link href=../container-customization/ rel=prev><link href=../understanding-puid-and-pgid/ rel=next><link rel=icon href=../../assets/favicon.ico><meta name=generator content="mkdocs-1.5.3, mkdocs-material-9.5.13"><title>Docker Compose - LinuxServer.io</title><link rel=stylesheet href=../../assets/stylesheets/main.7e359304.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.06af60db.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=purple data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#docker-compose 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=LinuxServer.io class="md-header__button md-logo" aria-label=LinuxServer.io data-md-component=logo> <img src=../../assets/icon.svg 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> LinuxServer.io </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Docker Compose </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=purple data-md-color-accent=indigo aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <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="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=purple data-md-color-accent=indigo 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_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.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> <a href=javascript:void(0) class="md-search__icon md-icon" title=Share aria-label=Share data-clipboard data-clipboard-text data-md-component=search-share tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7 0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91 1.61 0 2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08Z"/></svg> </a> <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> <div class=md-search__suggest data-md-component=search-suggest></div> </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/linuxserver/docker-documentation 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.5.1 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> linuxserver/docker-documentation </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> Introduction </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../container-execution/ class=md-tabs__link> How to </a> </li> <li class=md-tabs__item> <a href=../../images/docker-adguardhome-sync/ class=md-tabs__link> Container Images </a> </li> <li class=md-tabs__item> <a href=../../FAQ/ class=md-tabs__link> Frequently Asked Questions </a> </li> <li class=md-tabs__item> <a href=../../misc/awesome-lsio/ class=md-tabs__link> Misc </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=LinuxServer.io class="md-nav__button md-logo" aria-label=LinuxServer.io data-md-component=logo> <img src=../../assets/icon.svg alt=logo> </a> LinuxServer.io </label> <div class=md-nav__source> <a href=https://github.com/linuxserver/docker-documentation 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.5.1 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> linuxserver/docker-documentation </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Introduction </span> </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex> <span class=md-ellipsis> How to </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> How to </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../container-execution/ class=md-nav__link> <span class=md-ellipsis> Container Execution </span> </a> </li> <li class=md-nav__item> <a href=../containers-101/ class=md-nav__link> <span class=md-ellipsis> Docker Containers: 101 </span> </a> </li> <li class=md-nav__item> <a href=../running-our-containers/ class=md-nav__link> <span class=md-ellipsis> Running LinuxServer Containers </span> </a> </li> <li class=md-nav__item> <a href=../container-customization/ class=md-nav__link> <span class=md-ellipsis> Customizing LinuxServer Containers </span> </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> <span class=md-ellipsis> Docker Compose </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Docker Compose </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#intro class=md-nav__link> <span class=md-ellipsis> Intro </span> </a> </li> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> <nav class=md-nav aria-label=Installation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#official-repos class=md-nav__link> <span class=md-ellipsis> Official Repos </span> </a> </li> <li class=md-nav__item> <a href=#manual-package class=md-nav__link> <span class=md-ellipsis> Manual Package </span> </a> <nav class=md-nav aria-label="Manual Package"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#v1x-compatibility class=md-nav__link> <span class=md-ellipsis> v1.x compatibility </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#single-service-usage class=md-nav__link> <span class=md-ellipsis> Single service Usage </span> </a> </li> <li class=md-nav__item> <a href=#multiple-service-usage class=md-nav__link> <span class=md-ellipsis> Multiple Service Usage </span> </a> </li> <li class=md-nav__item> <a href=#updates class=md-nav__link> <span class=md-ellipsis> Updates </span> </a> </li> <li class=md-nav__item> <a href=#support-requests class=md-nav__link> <span class=md-ellipsis> Support Requests </span> </a> </li> <li class=md-nav__item> <a href=#common-gotchas class=md-nav__link> <span class=md-ellipsis> Common Gotchas </span> </a> <nav class=md-nav aria-label="Common Gotchas"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#quoting-variables class=md-nav__link> <span class=md-ellipsis> Quoting variables </span> </a> </li> <li class=md-nav__item> <a href=#escaping-signs class=md-nav__link> <span class=md-ellipsis> Escaping $ signs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#tips-tricks class=md-nav__link> <span class=md-ellipsis> Tips &amp; Tricks </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../understanding-puid-and-pgid/ class=md-nav__link> <span class=md-ellipsis> Understanding PUID and PGID </span> </a> </li> <li class=md-nav__item> <a href=../updating-our-containers/ class=md-nav__link> <span class=md-ellipsis> Updating our containers </span> </a> </li> <li class=md-nav__item> <a href=../volumes/ class=md-nav__link> <span class=md-ellipsis> Volumes </span> </a> </li> <li class=md-nav__item> <a href=../fleet/ class=md-nav__link> <span class=md-ellipsis> Fleet </span> </a> </li> <li class=md-nav__item> <a href=../swag/ class=md-nav__link> <span class=md-ellipsis> SWAG </span> </a> </li> <li class=md-nav__item> <a href=../how-to-get-support/ class=md-nav__link> <span class=md-ellipsis> How to get support </span> </a> </li> <li class=md-nav__item> <a href=../split-dns/ class=md-nav__link> <span class=md-ellipsis> Split dns </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Container Images </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Container Images </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> Images </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> Images </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../images/docker-adguardhome-sync/ class=md-nav__link> <span class=md-ellipsis> adguardhome-sync </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-airsonic-advanced/ class=md-nav__link> <span class=md-ellipsis> airsonic-advanced </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-altus/ class=md-nav__link> <span class=md-ellipsis> altus </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-apprise-api/ class=md-nav__link> <span class=md-ellipsis> apprise-api </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-ardour/ class=md-nav__link> <span class=md-ellipsis> ardour </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-audacity/ class=md-nav__link> <span class=md-ellipsis> audacity </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-babybuddy/ class=md-nav__link> <span class=md-ellipsis> babybuddy </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-bambustudio/ class=md-nav__link> <span class=md-ellipsis> bambustudio </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-bazarr/ class=md-nav__link> <span class=md-ellipsis> bazarr </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-beets/ class=md-nav__link> <span class=md-ellipsis> beets </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-blender/ class=md-nav__link> <span class=md-ellipsis> blender </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-boinc/ class=md-nav__link> <span class=md-ellipsis> boinc </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-booksonic-air/ class=md-nav__link> <span class=md-ellipsis> booksonic-air </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-bookstack/ class=md-nav__link> <span class=md-ellipsis> bookstack </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-budge/ class=md-nav__link> <span class=md-ellipsis> budge </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-calibre-web/ class=md-nav__link> <span class=md-ellipsis> calibre-web </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-calibre/ class=md-nav__link> <span class=md-ellipsis> calibre </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-calligra/ class=md-nav__link> <span class=md-ellipsis> calligra </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-changedetection.io/ class=md-nav__link> <span class=md-ellipsis> changedetection.io </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-chromium/ class=md-nav__link> <span class=md-ellipsis> chromium </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-code-server/ class=md-nav__link> <span class=md-ellipsis> code-server </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-cops/ class=md-nav__link> <span class=md-ellipsis> cops </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-cura/ class=md-nav__link> <span class=md-ellipsis> cura </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-daapd/ class=md-nav__link> <span class=md-ellipsis> daapd </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-darktable/ class=md-nav__link> <span class=md-ellipsis> darktable </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-davos/ class=md-nav__link> <span class=md-ellipsis> davos </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-ddclient/ class=md-nav__link> <span class=md-ellipsis> ddclient </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-deluge/ class=md-nav__link> <span class=md-ellipsis> deluge </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-digikam/ class=md-nav__link> <span class=md-ellipsis> digikam </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-dillinger/ class=md-nav__link> <span class=md-ellipsis> dillinger </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-diskover/ class=md-nav__link> <span class=md-ellipsis> diskover </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-dokuwiki/ class=md-nav__link> <span class=md-ellipsis> dokuwiki </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-domoticz/ class=md-nav__link> <span class=md-ellipsis> domoticz </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-doplarr/ class=md-nav__link> <span class=md-ellipsis> doplarr </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-doublecommander/ class=md-nav__link> <span class=md-ellipsis> doublecommander </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-duckdns/ class=md-nav__link> <span class=md-ellipsis> duckdns </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-duplicati/ class=md-nav__link> <span class=md-ellipsis> duplicati </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-emby/ class=md-nav__link> <span class=md-ellipsis> emby </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-embystat/ class=md-nav__link> <span class=md-ellipsis> embystat </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-emulatorjs/ class=md-nav__link> <span class=md-ellipsis> emulatorjs </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-endlessh/ class=md-nav__link> <span class=md-ellipsis> endlessh </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-fail2ban/ class=md-nav__link> <span class=md-ellipsis> fail2ban </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-faster-whisper/ class=md-nav__link> <span class=md-ellipsis> faster-whisper </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-feed2toot/ class=md-nav__link> <span class=md-ellipsis> feed2toot </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-ferdium/ class=md-nav__link> <span class=md-ellipsis> ferdium </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-ffmpeg/ class=md-nav__link> <span class=md-ellipsis> ffmpeg </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-filezilla/ class=md-nav__link> <span class=md-ellipsis> filezilla </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-firefox/ class=md-nav__link> <span class=md-ellipsis> firefox </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-fleet/ class=md-nav__link> <span class=md-ellipsis> fleet </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-flexget/ class=md-nav__link> <span class=md-ellipsis> flexget </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-foldingathome/ class=md-nav__link> <span class=md-ellipsis> foldingathome </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-freecad/ class=md-nav__link> <span class=md-ellipsis> freecad </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-freetube/ class=md-nav__link> <span class=md-ellipsis> freetube </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-freshrss/ class=md-nav__link> <span class=md-ellipsis> freshrss </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-gimp/ class=md-nav__link> <span class=md-ellipsis> gimp </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-github-desktop/ class=md-nav__link> <span class=md-ellipsis> github-desktop </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-gitqlient/ class=md-nav__link> <span class=md-ellipsis> gitqlient </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-grav/ class=md-nav__link> <span class=md-ellipsis> grav </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-grocy/ class=md-nav__link> <span class=md-ellipsis> grocy </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-habridge/ class=md-nav__link> <span class=md-ellipsis> habridge </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-headphones/ class=md-nav__link> <span class=md-ellipsis> headphones </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-healthchecks/ class=md-nav__link> <span class=md-ellipsis> healthchecks </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-hedgedoc/ class=md-nav__link> <span class=md-ellipsis> hedgedoc </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-heimdall/ class=md-nav__link> <span class=md-ellipsis> heimdall </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-hishtory-server/ class=md-nav__link> <span class=md-ellipsis> hishtory-server </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-homeassistant/ class=md-nav__link> <span class=md-ellipsis> homeassistant </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-htpcmanager/ class=md-nav__link> <span class=md-ellipsis> htpcmanager </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-inkscape/ class=md-nav__link> <span class=md-ellipsis> inkscape </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-jackett/ class=md-nav__link> <span class=md-ellipsis> jackett </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-jellyfin/ class=md-nav__link> <span class=md-ellipsis> jellyfin </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-kasm/ class=md-nav__link> <span class=md-ellipsis> kasm </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-kavita/ class=md-nav__link> <span class=md-ellipsis> kavita </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-kdenlive/ class=md-nav__link> <span class=md-ellipsis> kdenlive </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-keepassxc/ class=md-nav__link> <span class=md-ellipsis> keepassxc </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-kicad/ class=md-nav__link> <span class=md-ellipsis> kicad </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-kimai/ class=md-nav__link> <span class=md-ellipsis> kimai </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-krita/ class=md-nav__link> <span class=md-ellipsis> krita </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-lazylibrarian/ class=md-nav__link> <span class=md-ellipsis> lazylibrarian </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-ldap-auth/ class=md-nav__link> <span class=md-ellipsis> ldap-auth </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-libreoffice/ class=md-nav__link> <span class=md-ellipsis> libreoffice </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-librespeed/ class=md-nav__link> <span class=md-ellipsis> librespeed </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-librewolf/ class=md-nav__link> <span class=md-ellipsis> librewolf </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-lidarr/ class=md-nav__link> <span class=md-ellipsis> lidarr </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-limnoria/ class=md-nav__link> <span class=md-ellipsis> limnoria </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-lollypop/ class=md-nav__link> <span class=md-ellipsis> lollypop </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-lychee/ class=md-nav__link> <span class=md-ellipsis> lychee </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-mariadb/ class=md-nav__link> <span class=md-ellipsis> mariadb </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-mastodon/ class=md-nav__link> <span class=md-ellipsis> mastodon </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-mediaelch/ class=md-nav__link> <span class=md-ellipsis> mediaelch </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-medusa/ class=md-nav__link> <span class=md-ellipsis> medusa </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-minetest/ class=md-nav__link> <span class=md-ellipsis> minetest </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-minisatip/ class=md-nav__link> <span class=md-ellipsis> minisatip </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-monica/ class=md-nav__link> <span class=md-ellipsis> monica </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-mstream/ class=md-nav__link> <span class=md-ellipsis> mstream </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-mullvad-browser/ class=md-nav__link> <span class=md-ellipsis> mullvad-browser </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-mylar3/ class=md-nav__link> <span class=md-ellipsis> mylar3 </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-mysql-workbench/ class=md-nav__link> <span class=md-ellipsis> mysql-workbench </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-nano-wallet/ class=md-nav__link> <span class=md-ellipsis> nano-wallet </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-nano/ class=md-nav__link> <span class=md-ellipsis> nano </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-netbootxyz/ class=md-nav__link> <span class=md-ellipsis> netbootxyz </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-netbox/ class=md-nav__link> <span class=md-ellipsis> netbox </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-nextcloud/ class=md-nav__link> <span class=md-ellipsis> nextcloud </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-nginx/ class=md-nav__link> <span class=md-ellipsis> nginx </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-ngircd/ class=md-nav__link> <span class=md-ellipsis> ngircd </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-nzbhydra2/ class=md-nav__link> <span class=md-ellipsis> nzbhydra2 </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-obsidian/ class=md-nav__link> <span class=md-ellipsis> obsidian </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-ombi/ class=md-nav__link> <span class=md-ellipsis> ombi </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-openssh-server/ class=md-nav__link> <span class=md-ellipsis> openssh-server </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-openvscode-server/ class=md-nav__link> <span class=md-ellipsis> openvscode-server </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-opera/ class=md-nav__link> <span class=md-ellipsis> opera </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-orcaslicer/ class=md-nav__link> <span class=md-ellipsis> orcaslicer </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-oscam/ class=md-nav__link> <span class=md-ellipsis> oscam </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-overseerr/ class=md-nav__link> <span class=md-ellipsis> overseerr </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-pairdrop/ class=md-nav__link> <span class=md-ellipsis> pairdrop </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-phpmyadmin/ class=md-nav__link> <span class=md-ellipsis> phpmyadmin </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-pidgin/ class=md-nav__link> <span class=md-ellipsis> pidgin </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-piper/ class=md-nav__link> <span class=md-ellipsis> piper </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-piwigo/ class=md-nav__link> <span class=md-ellipsis> piwigo </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-plex-meta-manager/ class=md-nav__link> <span class=md-ellipsis> plex-meta-manager </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-plex/ class=md-nav__link> <span class=md-ellipsis> plex </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-projectsend/ class=md-nav__link> <span class=md-ellipsis> projectsend </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-prowlarr/ class=md-nav__link> <span class=md-ellipsis> prowlarr </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-pwndrop/ class=md-nav__link> <span class=md-ellipsis> pwndrop </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-pydio-cells/ class=md-nav__link> <span class=md-ellipsis> pydio-cells </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-pyload-ng/ class=md-nav__link> <span class=md-ellipsis> pyload-ng </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-pylon/ class=md-nav__link> <span class=md-ellipsis> pylon </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-python/ class=md-nav__link> <span class=md-ellipsis> python </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-qbittorrent/ class=md-nav__link> <span class=md-ellipsis> qbittorrent </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-qdirstat/ class=md-nav__link> <span class=md-ellipsis> qdirstat </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-quassel-core/ class=md-nav__link> <span class=md-ellipsis> quassel-core </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-quassel-web/ class=md-nav__link> <span class=md-ellipsis> quassel-web </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-radarr/ class=md-nav__link> <span class=md-ellipsis> radarr </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-raneto/ class=md-nav__link> <span class=md-ellipsis> raneto </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-rdesktop/ class=md-nav__link> <span class=md-ellipsis> rdesktop </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-readarr/ class=md-nav__link> <span class=md-ellipsis> readarr </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-remmina/ class=md-nav__link> <span class=md-ellipsis> remmina </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-resilio-sync/ class=md-nav__link> <span class=md-ellipsis> resilio-sync </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-rsnapshot/ class=md-nav__link> <span class=md-ellipsis> rsnapshot </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-sabnzbd/ class=md-nav__link> <span class=md-ellipsis> sabnzbd </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-series-troxide/ class=md-nav__link> <span class=md-ellipsis> series-troxide </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-shotcut/ class=md-nav__link> <span class=md-ellipsis> shotcut </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-sickchill/ class=md-nav__link> <span class=md-ellipsis> sickchill </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-sickgear/ class=md-nav__link> <span class=md-ellipsis> sickgear </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-smokeping/ class=md-nav__link> <span class=md-ellipsis> smokeping </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-snapdrop/ class=md-nav__link> <span class=md-ellipsis> snapdrop </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-snipe-it/ class=md-nav__link> <span class=md-ellipsis> snipe-it </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-socket-proxy/ class=md-nav__link> <span class=md-ellipsis> socket-proxy </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-sonarr/ class=md-nav__link> <span class=md-ellipsis> sonarr </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-speedtest-tracker/ class=md-nav__link> <span class=md-ellipsis> speedtest-tracker </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-sqlitebrowser/ class=md-nav__link> <span class=md-ellipsis> sqlitebrowser </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-steamos/ class=md-nav__link> <span class=md-ellipsis> steamos </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-swag/ class=md-nav__link> <span class=md-ellipsis> swag </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-synclounge/ class=md-nav__link> <span class=md-ellipsis> synclounge </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-syncthing/ class=md-nav__link> <span class=md-ellipsis> syncthing </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-syslog-ng/ class=md-nav__link> <span class=md-ellipsis> syslog-ng </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-tautulli/ class=md-nav__link> <span class=md-ellipsis> tautulli </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-thelounge/ class=md-nav__link> <span class=md-ellipsis> thelounge </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-transmission/ class=md-nav__link> <span class=md-ellipsis> transmission </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-tvheadend/ class=md-nav__link> <span class=md-ellipsis> tvheadend </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-ubooquity/ class=md-nav__link> <span class=md-ellipsis> ubooquity </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-unifi-network-application/ class=md-nav__link> <span class=md-ellipsis> unifi-network-application </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-vscodium/ class=md-nav__link> <span class=md-ellipsis> vscodium </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-webcord/ class=md-nav__link> <span class=md-ellipsis> webcord </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-webgrabplus/ class=md-nav__link> <span class=md-ellipsis> webgrabplus </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-webtop/ class=md-nav__link> <span class=md-ellipsis> webtop </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-wikijs/ class=md-nav__link> <span class=md-ellipsis> wikijs </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-wireguard/ class=md-nav__link> <span class=md-ellipsis> wireguard </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-wireshark/ class=md-nav__link> <span class=md-ellipsis> wireshark </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-wps-office/ class=md-nav__link> <span class=md-ellipsis> wps-office </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-xbackbone/ class=md-nav__link> <span class=md-ellipsis> xbackbone </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-your_spotify/ class=md-nav__link> <span class=md-ellipsis> your_spotify </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-znc/ class=md-nav__link> <span class=md-ellipsis> znc </span> </a> </li> <li class=md-nav__item> <a href=../../images/docker-zotero/ class=md-nav__link> <span class=md-ellipsis> zotero </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_2> <label class=md-nav__link for=__nav_3_2 id=__nav_3_2_label tabindex=0> <span class=md-ellipsis> Deprecated Images </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_2_label aria-expanded=false> <label class=md-nav__title for=__nav_3_2> <span class="md-nav__icon md-icon"></span> Deprecated Images </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../deprecated_images/docker-airsonic/ class=md-nav__link> <span class=md-ellipsis> airsonic </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-baseimage-alpine-python/ class=md-nav__link> <span class=md-ellipsis> baseimage-alpine-python </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-baseimage-cloud9/ class=md-nav__link> <span class=md-ellipsis> baseimage-cloud9 </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-baseimage-guacgui/ class=md-nav__link> <span class=md-ellipsis> baseimage-guacgui </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-baseimage-gui/ class=md-nav__link> <span class=md-ellipsis> baseimage-gui </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-baseimage-mono/ class=md-nav__link> <span class=md-ellipsis> baseimage-mono </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-baseimage-rdesktop-web/ class=md-nav__link> <span class=md-ellipsis> baseimage-rdesktop-web </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-baseimage-rdesktop/ class=md-nav__link> <span class=md-ellipsis> baseimage-rdesktop </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-booksonic/ class=md-nav__link> <span class=md-ellipsis> booksonic </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-cardigann/ class=md-nav__link> <span class=md-ellipsis> cardigann </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-chevereto/ class=md-nav__link> <span class=md-ellipsis> chevereto </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-clarkson/ class=md-nav__link> <span class=md-ellipsis> clarkson </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-cloud9/ class=md-nav__link> <span class=md-ellipsis> cloud9 </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-codiad/ class=md-nav__link> <span class=md-ellipsis> codiad </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-codimd/ class=md-nav__link> <span class=md-ellipsis> codimd </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-couchpotato/ class=md-nav__link> <span class=md-ellipsis> couchpotato </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-dillinger/ class=md-nav__link> <span class=md-ellipsis> dillinger </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-docker-compose/ class=md-nav__link> <span class=md-ellipsis> docker-compose </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-endlessh/ class=md-nav__link> <span class=md-ellipsis> endlessh </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-gazee/ class=md-nav__link> <span class=md-ellipsis> gazee </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-gmail-order-bot/ class=md-nav__link> <span class=md-ellipsis> gmail-order-bot </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-guacd/ class=md-nav__link> <span class=md-ellipsis> guacd </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-hydra/ class=md-nav__link> <span class=md-ellipsis> hydra </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-hydra2/ class=md-nav__link> <span class=md-ellipsis> hydra2 </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-ipfs/ class=md-nav__link> <span class=md-ellipsis> ipfs </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-kanzi/ class=md-nav__link> <span class=md-ellipsis> kanzi </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-letsencrypt/ class=md-nav__link> <span class=md-ellipsis> letsencrypt </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-libresonic/ class=md-nav__link> <span class=md-ellipsis> libresonic </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-musicbrainz/ class=md-nav__link> <span class=md-ellipsis> musicbrainz </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-muximux/ class=md-nav__link> <span class=md-ellipsis> muximux </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-mylar/ class=md-nav__link> <span class=md-ellipsis> mylar </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-nano-discord-bot/ class=md-nav__link> <span class=md-ellipsis> nano-discord-bot </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-nntp2nntp/ class=md-nav__link> <span class=md-ellipsis> nntp2nntp </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-nzbget/ class=md-nav__link> <span class=md-ellipsis> nzbget </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-openvpn-as/ class=md-nav__link> <span class=md-ellipsis> openvpn-as </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-organizr/ class=md-nav__link> <span class=md-ellipsis> organizr </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-paperless-ng/ class=md-nav__link> <span class=md-ellipsis> paperless-ng </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-paperless-ngx/ class=md-nav__link> <span class=md-ellipsis> paperless-ngx </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-papermerge/ class=md-nav__link> <span class=md-ellipsis> papermerge </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-photoshow/ class=md-nav__link> <span class=md-ellipsis> photoshow </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-pixapop/ class=md-nav__link> <span class=md-ellipsis> pixapop </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-pydio/ class=md-nav__link> <span class=md-ellipsis> pydio </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-pyload/ class=md-nav__link> <span class=md-ellipsis> pyload </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-readme-sync/ class=md-nav__link> <span class=md-ellipsis> readme-sync </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-requestrr/ class=md-nav__link> <span class=md-ellipsis> requestrr </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-rutorrent/ class=md-nav__link> <span class=md-ellipsis> rutorrent </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-scrutiny/ class=md-nav__link> <span class=md-ellipsis> scrutiny </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-shout-irc/ class=md-nav__link> <span class=md-ellipsis> shout-irc </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-sickrage/ class=md-nav__link> <span class=md-ellipsis> sickrage </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-taisun/ class=md-nav__link> <span class=md-ellipsis> taisun </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-tester/ class=md-nav__link> <span class=md-ellipsis> tester </span> </a> </li> <li class=md-nav__item> <a href=../../deprecated_images/docker-unifi-controller/ class=md-nav__link> <span class=md-ellipsis> unifi-controller </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../FAQ/ class=md-nav__link> <span class=md-ellipsis> Frequently Asked Questions </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Misc </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Misc </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../misc/awesome-lsio/ class=md-nav__link> <span class=md-ellipsis> Awesome LSIO </span> </a> </li> <li class=md-nav__item> <a href=../../misc/finances/ class=md-nav__link> <span class=md-ellipsis> Finances </span> </a> </li> <li class=md-nav__item> <a href=../../misc/support-policy/ class=md-nav__link> <span class=md-ellipsis> LinuxServer Support Policy </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#intro class=md-nav__link> <span class=md-ellipsis> Intro </span> </a> </li> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> <nav class=md-nav aria-label=Installation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#official-repos class=md-nav__link> <span class=md-ellipsis> Official Repos </span> </a> </li> <li class=md-nav__item> <a href=#manual-package class=md-nav__link> <span class=md-ellipsis> Manual Package </span> </a> <nav class=md-nav aria-label="Manual Package"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#v1x-compatibility class=md-nav__link> <span class=md-ellipsis> v1.x compatibility </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#single-service-usage class=md-nav__link> <span class=md-ellipsis> Single service Usage </span> </a> </li> <li class=md-nav__item> <a href=#multiple-service-usage class=md-nav__link> <span class=md-ellipsis> Multiple Service Usage </span> </a> </li> <li class=md-nav__item> <a href=#updates class=md-nav__link> <span class=md-ellipsis> Updates </span> </a> </li> <li class=md-nav__item> <a href=#support-requests class=md-nav__link> <span class=md-ellipsis> Support Requests </span> </a> </li> <li class=md-nav__item> <a href=#common-gotchas class=md-nav__link> <span class=md-ellipsis> Common Gotchas </span> </a> <nav class=md-nav aria-label="Common Gotchas"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#quoting-variables class=md-nav__link> <span class=md-ellipsis> Quoting variables </span> </a> </li> <li class=md-nav__item> <a href=#escaping-signs class=md-nav__link> <span class=md-ellipsis> Escaping $ signs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#tips-tricks class=md-nav__link> <span class=md-ellipsis> Tips &amp; Tricks </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=docker-compose>Docker Compose<a class=headerlink href=#docker-compose title="Permanent link">&para;</a></h1> <h2 id=intro>Intro<a class=headerlink href=#intro title="Permanent link">&para;</a></h2> <p>Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your applications services. Then, with a single command, you create and start all the services from your configuration.</p> <p>Note that when inputting data for variables, you must follow standard YAML rules. In the case of passwords with special characters this can mean escaping them properly ($ is the escape character) or properly quoting the variable. The best course of action if you do not know how to do this or are unwilling to research, is to stick to alphanumeric characters only.</p> <h2 id=installation>Installation<a class=headerlink href=#installation title="Permanent link">&para;</a></h2> <h3 id=official-repos>Official Repos<a class=headerlink href=#official-repos title="Permanent link">&para;</a></h3> <p>Starting with version 2, Docker started publishing <code>docker compose</code> as a go based plugin for docker (rather than a python based standalone binary). They publish this plugin for multiple arches as opposed to the x86_64 only binaries for v1.x.</p> <p>Install docker from the official repos as described <a href=https://docs.docker.com/engine/install/ >here</a>, making sure that you install the <code>docker-compose-plugin</code> package as part of the process.</p> <h3 id=manual-package>Manual Package<a class=headerlink href=#manual-package title="Permanent link">&para;</a></h3> <p>You can install <code>docker compose</code> manually via the following commands:</p> <div class="language-shell highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>mkdir<span class=w> </span>-p<span class=w> </span><span class=s2>&quot;</span><span class=nv>$HOME</span><span class=s2>/.docker/cli-plugins&quot;</span><span class=w> </span><span class=o>&amp;&amp;</span><span class=w> </span><span class=se>\</span>
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>curl<span class=w> </span>-sL<span class=w> </span><span class=s2>&quot;https://github.com/docker/compose/releases/latest/download/docker-compose-</span><span class=k>$(</span>uname<span class=w> </span>-s<span class=k>)</span><span class=s2>-</span><span class=k>$(</span>uname<span class=w> </span>-m<span class=k>)</span><span class=s2>&quot;</span><span class=w> </span>-o<span class=w> </span><span class=s2>&quot;</span><span class=nv>$HOME</span><span class=s2>/.docker/cli-plugins/docker-compose&quot;</span><span class=w> </span><span class=o>&amp;&amp;</span><span class=w> </span><span class=se>\</span>
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>chmod<span class=w> </span>+x<span class=w> </span><span class=nv>$HOME</span>/.docker/cli-plugins/docker-compose
</span></code></pre></div> <p>If you prefer to install it system-wide you can use <code>/usr/local/lib/docker/cli-plugins</code> instead of <code>$HOME/.docker/cli-plugins</code></p> <p>Assuming you already have docker (or at the very least docker-cli) installed, preferably from the official docker repos, running <code>docker compose version</code> should display the compose version.</p> <h4 id=v1x-compatibility>v1.x compatibility<a class=headerlink href=#v1x-compatibility title="Permanent link">&para;</a></h4> <p>As v2 runs as a plugin instead of a standalone binary, it is invoked by <code>docker compose args</code> instead of <code>docker-compose args</code>. To make migration easier, Docker released a replacement binary for <code>docker-compose</code> on x86_64 and aarch64 platforms. More info on that can be found at the <a href=https://github.com/docker/compose-switch>upstream repo</a>.</p> <h2 id=single-service-usage>Single service Usage<a class=headerlink href=#single-service-usage title="Permanent link">&para;</a></h2> <p>Here's a basic example for deploying a Linuxserver container with docker compose:</p> <div class="language-yaml highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=nt>version</span><span class=p>:</span><span class=w> </span><span class=s>&quot;2.1&quot;</span>
</span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a><span class=nt>services</span><span class=p>:</span>
</span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><span class=w> </span><span class=nt>heimdall</span><span class=p>:</span>
</span><span id=__span-1-4><a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a><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">linuxserver/heimdall</span>
</span><span id=__span-1-5><a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a><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">heimdall</span>
</span><span id=__span-1-6><a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a><span class=w> </span><span class=nt>volumes</span><span class=p>:</span>
</span><span id=__span-1-7><a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">/home/user/appdata/heimdall:/config</span>
</span><span id=__span-1-8><a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a><span class=w> </span><span class=nt>environment</span><span class=p>:</span>
</span><span id=__span-1-9><a id=__codelineno-1-9 name=__codelineno-1-9 href=#__codelineno-1-9></a><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><span id=__span-1-10><a id=__codelineno-1-10 name=__codelineno-1-10 href=#__codelineno-1-10></a><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><span id=__span-1-11><a id=__codelineno-1-11 name=__codelineno-1-11 href=#__codelineno-1-11></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">TZ=Europe/London</span>
</span><span id=__span-1-12><a id=__codelineno-1-12 name=__codelineno-1-12 href=#__codelineno-1-12></a><span class=w> </span><span class=nt>ports</span><span class=p>:</span>
</span><span id=__span-1-13><a id=__codelineno-1-13 name=__codelineno-1-13 href=#__codelineno-1-13></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">80:80</span>
</span><span id=__span-1-14><a id=__codelineno-1-14 name=__codelineno-1-14 href=#__codelineno-1-14></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">443:443</span>
</span><span id=__span-1-15><a id=__codelineno-1-15 name=__codelineno-1-15 href=#__codelineno-1-15></a><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></code></pre></div> <p>If you save the above snippet in a file named <code>compose.yml</code>, you can simply run <code>docker compose up -d</code> from within the same folder and the heimdall image will be automatically pulled, and a container will be created and started. <code>up</code> means bring the services up, and <code>-d</code> means do it in the background.</p> <p>If you want to do it from a different folder or if you named the yaml file differently, ie. <code>heimdall.yml</code>, then you can define it in the command with <code>-f</code>: <code>docker compose -f /path/to/heimdall.yml up -d</code></p> <p>To bring down the services, simply do <code>docker compose down</code> or <code>docker compose -f /path/to/heimdall.yml down</code> and all containers defined by the yml will be stopped and destroyed.</p> <h2 id=multiple-service-usage>Multiple Service Usage<a class=headerlink href=#multiple-service-usage title="Permanent link">&para;</a></h2> <p>You can have multiple services managed by a single compose yaml. Copy the contents below the <code>services:</code> line in any of our readme yaml samples into the same yaml file and the <code>docker compose up/down</code> commands will apply to all services at once.</p> <p>Let's say you have the following in a yaml file named <code>compose.yml</code>:</p> <div class="language-yaml highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=nt>version</span><span class=p>:</span><span class=w> </span><span class=s>&quot;2.1&quot;</span>
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a><span class=nt>services</span><span class=p>:</span>
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=w> </span><span class=nt>heimdall</span><span class=p>:</span>
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a><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">linuxserver/heimdall</span>
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a><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">heimdall</span>
</span><span id=__span-2-6><a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a><span class=w> </span><span class=nt>volumes</span><span class=p>:</span>
</span><span id=__span-2-7><a id=__codelineno-2-7 name=__codelineno-2-7 href=#__codelineno-2-7></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">/home/user/appdata/heimdall:/config</span>
</span><span id=__span-2-8><a id=__codelineno-2-8 name=__codelineno-2-8 href=#__codelineno-2-8></a><span class=w> </span><span class=nt>environment</span><span class=p>:</span>
</span><span id=__span-2-9><a id=__codelineno-2-9 name=__codelineno-2-9 href=#__codelineno-2-9></a><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><span id=__span-2-10><a id=__codelineno-2-10 name=__codelineno-2-10 href=#__codelineno-2-10></a><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><span id=__span-2-11><a id=__codelineno-2-11 name=__codelineno-2-11 href=#__codelineno-2-11></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">TZ=Europe/London</span>
</span><span id=__span-2-12><a id=__codelineno-2-12 name=__codelineno-2-12 href=#__codelineno-2-12></a><span class=w> </span><span class=nt>ports</span><span class=p>:</span>
</span><span id=__span-2-13><a id=__codelineno-2-13 name=__codelineno-2-13 href=#__codelineno-2-13></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">80:80</span>
</span><span id=__span-2-14><a id=__codelineno-2-14 name=__codelineno-2-14 href=#__codelineno-2-14></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">443:443</span>
</span><span id=__span-2-15><a id=__codelineno-2-15 name=__codelineno-2-15 href=#__codelineno-2-15></a><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><span id=__span-2-16><a id=__codelineno-2-16 name=__codelineno-2-16 href=#__codelineno-2-16></a>
</span><span id=__span-2-17><a id=__codelineno-2-17 name=__codelineno-2-17 href=#__codelineno-2-17></a><span class=w> </span><span class=nt>nginx</span><span class=p>:</span>
</span><span id=__span-2-18><a id=__codelineno-2-18 name=__codelineno-2-18 href=#__codelineno-2-18></a><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">linuxserver/nginx</span>
</span><span id=__span-2-19><a id=__codelineno-2-19 name=__codelineno-2-19 href=#__codelineno-2-19></a><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">nginx</span>
</span><span id=__span-2-20><a id=__codelineno-2-20 name=__codelineno-2-20 href=#__codelineno-2-20></a><span class=w> </span><span class=nt>environment</span><span class=p>:</span>
</span><span id=__span-2-21><a id=__codelineno-2-21 name=__codelineno-2-21 href=#__codelineno-2-21></a><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><span id=__span-2-22><a id=__codelineno-2-22 name=__codelineno-2-22 href=#__codelineno-2-22></a><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><span id=__span-2-23><a id=__codelineno-2-23 name=__codelineno-2-23 href=#__codelineno-2-23></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">TZ=Europe/London</span>
</span><span id=__span-2-24><a id=__codelineno-2-24 name=__codelineno-2-24 href=#__codelineno-2-24></a><span class=w> </span><span class=nt>volumes</span><span class=p>:</span>
</span><span id=__span-2-25><a id=__codelineno-2-25 name=__codelineno-2-25 href=#__codelineno-2-25></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">/home/user/appdata/nginx:/config</span>
</span><span id=__span-2-26><a id=__codelineno-2-26 name=__codelineno-2-26 href=#__codelineno-2-26></a><span class=w> </span><span class=nt>ports</span><span class=p>:</span>
</span><span id=__span-2-27><a id=__codelineno-2-27 name=__codelineno-2-27 href=#__codelineno-2-27></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">81:80</span>
</span><span id=__span-2-28><a id=__codelineno-2-28 name=__codelineno-2-28 href=#__codelineno-2-28></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">444:443</span>
</span><span id=__span-2-29><a id=__codelineno-2-29 name=__codelineno-2-29 href=#__codelineno-2-29></a><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><span id=__span-2-30><a id=__codelineno-2-30 name=__codelineno-2-30 href=#__codelineno-2-30></a>
</span><span id=__span-2-31><a id=__codelineno-2-31 name=__codelineno-2-31 href=#__codelineno-2-31></a><span class=w> </span><span class=nt>mariadb</span><span class=p>:</span>
</span><span id=__span-2-32><a id=__codelineno-2-32 name=__codelineno-2-32 href=#__codelineno-2-32></a><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">linuxserver/mariadb</span>
</span><span id=__span-2-33><a id=__codelineno-2-33 name=__codelineno-2-33 href=#__codelineno-2-33></a><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">mariadb</span>
</span><span id=__span-2-34><a id=__codelineno-2-34 name=__codelineno-2-34 href=#__codelineno-2-34></a><span class=w> </span><span class=nt>environment</span><span class=p>:</span>
</span><span id=__span-2-35><a id=__codelineno-2-35 name=__codelineno-2-35 href=#__codelineno-2-35></a><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><span id=__span-2-36><a id=__codelineno-2-36 name=__codelineno-2-36 href=#__codelineno-2-36></a><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><span id=__span-2-37><a id=__codelineno-2-37 name=__codelineno-2-37 href=#__codelineno-2-37></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD</span>
</span><span id=__span-2-38><a id=__codelineno-2-38 name=__codelineno-2-38 href=#__codelineno-2-38></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">TZ=Europe/London</span>
</span><span id=__span-2-39><a id=__codelineno-2-39 name=__codelineno-2-39 href=#__codelineno-2-39></a><span class=w> </span><span class=nt>volumes</span><span class=p>:</span>
</span><span id=__span-2-40><a id=__codelineno-2-40 name=__codelineno-2-40 href=#__codelineno-2-40></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">/home/user/appdata/mariadb:/config</span>
</span><span id=__span-2-41><a id=__codelineno-2-41 name=__codelineno-2-41 href=#__codelineno-2-41></a><span class=w> </span><span class=nt>ports</span><span class=p>:</span>
</span><span id=__span-2-42><a id=__codelineno-2-42 name=__codelineno-2-42 href=#__codelineno-2-42></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">3306:3306</span>
</span><span id=__span-2-43><a id=__codelineno-2-43 name=__codelineno-2-43 href=#__codelineno-2-43></a><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></code></pre></div> <p>You now have 3 services defined in there: <code>heimdall</code>, <code>nginx</code> and <code>mariadb</code>. When you do a <code>docker compose up -d</code>, it will first download the images for all three if they don't exist (if they exist, they are not updated) and it will create all three containers and start them. <code>docker compose down</code> will bring all three services down and destroy the containers (persistent data will remain).</p> <h2 id=updates>Updates<a class=headerlink href=#updates title="Permanent link">&para;</a></h2> <p>If you want to update the images and recreate the containers with the same vars, it's extremely easy with docker compose. First we tell it to update all images via <code>docker compose pull</code>. Then we issue <code>docker compose up -d</code> and it will automatically recreate the containers (as necessary) based on the updated images. If a container's image is already the latest and there was no update, it remains untouched.</p> <p>Similarly, if you edit the contents of the yaml file and re-issue <code>docker compose up -d</code>, only the containers affected by the changes to the yaml file will be recreated, others will be untouched.</p> <p>Defining the containers running on your server as code is a core tenet of a "Devops" approach to the world. Constructing elaborate <code>docker run</code> commands and then forgetting which variables you passed is a thing of the past when using <code>docker compose</code>.</p> <h2 id=support-requests>Support Requests<a class=headerlink href=#support-requests title="Permanent link">&para;</a></h2> <p>If you would like to request support, you can do so on <a href=https://discord.gg/linuxserver>our discord server</a> or <a href=https://discourse.linuxserver.io/ >our forum</a>. When you do so, please provide all the necessary information like the server and platform info, docker container log and the compose yaml.</p> <p>If your compose yaml makes use of .env files, please post an output of <code>docker compose config</code> or <code>docker compose config -f /path/to/compose.yml</code> for the entire yaml, or <code>docker compose config &lt;service name&gt;</code> for a single service, as it will automatically replace the environment variables with their actual values.</p> <p>There are multiple ways to see the logs of your containers. In some instances, using <code>docker logs</code> is preferable to <code>docker compose logs</code>. By default <code>docker logs</code> will not run unless you define which service the logs are coming from. The <code>docker compose logs</code> will pull all of the logs for the services defined in the <code>compose.yml</code> file.</p> <p>When asking for help, you should post your logs or be ready to provide logs if someone requests it. If you are running multiple containers in your <code>compose.yml</code> file, it is not helpful to submit <strong>all</strong> of the logs. If you are experiencing issues with a single service, say Heimdall, then you would want to get your logs using <code>docker logs heimdall</code> or <code>docker compose logs heimdall</code>. The bash_alias for <code>dclogs</code> can be used if you define your service after you've typed the alias. Likewise, the bash_alias <code>detail</code> will not run without defining the service after it.</p> <h2 id=common-gotchas>Common Gotchas<a class=headerlink href=#common-gotchas title="Permanent link">&para;</a></h2> <h3 id=quoting-variables>Quoting variables<a class=headerlink href=#quoting-variables title="Permanent link">&para;</a></h3> <p>In compose yamls, the environment variables can be defined in a couple of different styles. For the style we use in our readme samples, wrapping the variables in quotes is not required unless the variables contain spaces. When it's necessary, you can wrap them in quotes as described below.</p> <ul> <li>Style 1 (our readme recommended style):</li> </ul> <div class="language-yaml highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a><span class=nt>environment</span><span class=p>:</span>
</span><span id=__span-3-2><a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=s>&#39;key=value&#39;</span>
</span></code></pre></div> <p>This method requires the entire line wrapped in quotes, including the key and the value.</p> <ul> <li>Style 2:</li> </ul> <div class="language-yaml highlight"><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a><span class=nt>environment</span><span class=p>:</span>
</span><span id=__span-4-2><a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a><span class=w> </span><span class=nt>key</span><span class=p>:</span><span class=w> </span><span class=s>&#39;value&#39;</span>
</span></code></pre></div> <p>With this method, you can wrap just the value in quotes.</p> <h3 id=escaping-signs>Escaping $ signs<a class=headerlink href=#escaping-signs title="Permanent link">&para;</a></h3> <p>Docker compose interprets values that follow a <code>$</code> as a variable and it will <a href=https://docs.docker.com/compose/compose-file/12-interpolation/ >interpolate at runtime</a>. If your environment variables contain the <code>$</code> character as part of the value and it needs to be treated literally, you need to escape it with another <code>$</code> sign.</p> <p>For example, if you want the variable <code>key</code> to have the value <code>real$value</code> exactly, you need to set <code>- 'key=real$$value'</code> in the compose yaml.</p> <h2 id=tips-tricks>Tips &amp; Tricks<a class=headerlink href=#tips-tricks title="Permanent link">&para;</a></h2> <p><code>docker compose</code> expects a <code>compose.yml</code> file in the current directory and if one isn't present it will complain. In order to improve your quality of life we suggest the use of bash aliases. The file path for the aliases below assumes that the <code>compose.yml</code> file is being kept in the folder <code>/opt</code>. If your compose file is kept somewhere else, like in a home directory, then the path will need to be changed.</p> <p>Create or open the file <code>~/.bash_aliases</code> and populate with the following content:</p> <div class="language-shell highlight"><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a><span class=nb>alias</span><span class=w> </span><span class=nv>dcup</span><span class=o>=</span><span class=s1>&#39;docker compose -f /opt/compose.yml up -d&#39;</span><span class=w> </span><span class=c1>#brings up all containers if one is not defined after dcup</span>
</span><span id=__span-5-2><a id=__codelineno-5-2 name=__codelineno-5-2 href=#__codelineno-5-2></a><span class=nb>alias</span><span class=w> </span><span class=nv>dcdown</span><span class=o>=</span><span class=s1>&#39;docker compose -f /opt/compose.yml stop&#39;</span><span class=w> </span><span class=c1>#brings down all containers if one is not defined after dcdown</span>
</span><span id=__span-5-3><a id=__codelineno-5-3 name=__codelineno-5-3 href=#__codelineno-5-3></a><span class=nb>alias</span><span class=w> </span><span class=nv>dcpull</span><span class=o>=</span><span class=s1>&#39;docker compose -f /opt/compose.yml pull&#39;</span><span class=w> </span><span class=c1>#pulls all new images is specified after dcpull</span>
</span><span id=__span-5-4><a id=__codelineno-5-4 name=__codelineno-5-4 href=#__codelineno-5-4></a><span class=nb>alias</span><span class=w> </span><span class=nv>dclogs</span><span class=o>=</span><span class=s1>&#39;docker compose -f /opt/compose.yml logs -tf --tail=&quot;50&quot; &#39;</span>
</span><span id=__span-5-5><a id=__codelineno-5-5 name=__codelineno-5-5 href=#__codelineno-5-5></a><span class=nb>alias</span><span class=w> </span><span class=nv>dtail</span><span class=o>=</span><span class=s1>&#39;docker logs -tf --tail=&quot;50&quot; &quot;$@&quot;&#39;</span>
</span></code></pre></div> <p>If the <code>compose.yml</code> file is in a home directory, the following can be put in the <code>~/.bash_aliases</code> file.</p> <div class="language-shell highlight"><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a><span class=nb>alias</span><span class=w> </span><span class=nv>dcup</span><span class=o>=</span><span class=s1>&#39;docker compose -f ~/compose.yml up -d&#39;</span><span class=w> </span><span class=c1>#brings up all containers if one is not defined after dcup</span>
</span><span id=__span-6-2><a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a><span class=nb>alias</span><span class=w> </span><span class=nv>dcdown</span><span class=o>=</span><span class=s1>&#39;docker compose -f ~/compose.yml stop&#39;</span><span class=w> </span><span class=c1>#brings down all containers if one is not defined after dcdown</span>
</span><span id=__span-6-3><a id=__codelineno-6-3 name=__codelineno-6-3 href=#__codelineno-6-3></a><span class=nb>alias</span><span class=w> </span><span class=nv>dcpull</span><span class=o>=</span><span class=s1>&#39;docker compose -f ~/compose.yml pull&#39;</span><span class=w> </span><span class=c1>#pulls all new images unless one is specified</span>
</span><span id=__span-6-4><a id=__codelineno-6-4 name=__codelineno-6-4 href=#__codelineno-6-4></a><span class=nb>alias</span><span class=w> </span><span class=nv>dclogs</span><span class=o>=</span><span class=s1>&#39;docker compose -f ~/compose.yml logs -tf --tail=&quot;50&quot; &#39;</span>
</span><span id=__span-6-5><a id=__codelineno-6-5 name=__codelineno-6-5 href=#__codelineno-6-5></a><span class=nb>alias</span><span class=w> </span><span class=nv>dtail</span><span class=o>=</span><span class=s1>&#39;docker logs -tf --tail=&quot;50&quot; &quot;$@&quot;&#39;</span>
</span></code></pre></div> <p>Some distributions, like Ubuntu, already have the code snippet below in the <code>~/.bashrc</code> file. If it is not included, you'll need to add the following to your <code>~/.bashrc</code> file in order for the aliases file to be picked up:</p> <div class="language-shell highlight"><pre><span></span><code><span id=__span-7-1><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a><span class=k>if</span><span class=w> </span><span class=o>[</span><span class=w> </span>-f<span class=w> </span>~/.bash_aliases<span class=w> </span><span class=o>]</span><span class=p>;</span><span class=w> </span><span class=k>then</span>
</span><span id=__span-7-2><a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a><span class=w> </span>.<span class=w> </span>~/.bash_aliases
</span><span id=__span-7-3><a id=__codelineno-7-3 name=__codelineno-7-3 href=#__codelineno-7-3></a><span class=k>fi</span>
</span></code></pre></div> <p>Once configured, you can run <code>source ~/.bashrc</code> or log out and the log in again. Now you can type <code>dcpull</code> or <code>dcup</code> to manage your entire fleet of containers at once. It's like magic.</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1-2.1-2M12.5 7v5.2l4 2.4-1 1L11 13V7h1.5M11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2v1.8Z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">November 9, 2023</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3h-2Z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">January 24, 2019</span> </span> </aside> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </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> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../container-customization/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Customizing LinuxServer Containers"> <div class="md-footer__button md-icon"> <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> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Customizing LinuxServer Containers </div> </div> </a> <a href=../understanding-puid-and-pgid/ class="md-footer__link md-footer__link--next" aria-label="Next: Understanding PUID and PGID"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Understanding PUID and PGID </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright &copy; 2024 LinuxServer.io </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://linuxserver.io target=_blank rel=noopener title=linuxserver.io class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 640 512"><!-- Font Awesome Free 6.5.1 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="m181.5 197.1 12.9 6.4c5.9 3 12.4 4.5 19.1 4.5 23.5 0 42.6-19.1 42.6-42.6V144c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v21.4c0 23.5 19.1 42.6 42.6 42.6 6.6 0 13.1-1.5 19.1-4.5l12.9-6.4 8.4-4.2-11.9-7.9c-4.5-3-7.1-8-7.1-13.3V168c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v3.7c0 5.3-2.7 10.3-7.1 13.3l-11.8 7.9 8.4 4.2zm-8.6 49.4L160 240l-12.9 6.4c-12.6 6.3-26.5 9.6-40.5 9.6-3.6 0-7.1-.2-10.6-.6v.6c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32h160v-64c0-23.7 12.9-44.4 32-55.4 9.4-5.4 20.3-8.6 32-8.6v-16c0-26.5 21.5-48 48-48 8.8 0 16 7.2 16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16v-99.7c0-48.2-30.8-91-76.6-106.3l-8.5-2.8c-8-2.7-12.6-11.1-10.4-19.3s10.3-13.2 18.6-11.6l19.9 4c89 17.8 153 95.9 153 186.6v1.1c0 123.7-100.3 224-224 224H255.4C132 480 32 380 32 256.6V216.8c-10.1-14.6-16-32.3-16-51.4V142.6C6.7 139.3 0 130.5 0 120c0-13.3 10.7-24 24-24h2.8c18-37.8 56.5-64 101.2-64h64c44.7 0 83.2 26.2 101.2 64h2.8c13.3 0 24 10.7 24 24 0 10.5-6.7 19.3-16 22.6V165.4c0 1.4 0 2.8-.1 4.3 12-6.2 25.7-9.6 40.1-9.6h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-13.3 0-24 10.7-24 24v8h56.4c-15.2 17-24.4 39.4-24.4 64h-32c-42.3 0-78.2-27.4-91-65.3-5.1.9-10.3 1.3-15.6 1.3-14.1 0-27.9-3.3-40.5-9.6zM96 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 16a16 16 0 1 1 32 0 16 16 0 1 1-32 0z"/></svg> </a> <a href=https://discord.gg/YWrKVTn target=_blank rel=noopener title=discord.gg class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 640 512"><!-- Font Awesome Free 6.5.1 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://discourse.linuxserver.io target=_blank rel=noopener title=discourse.linuxserver.io class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.5.1 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="M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z"/></svg> </a> <a href=https://github.com/linuxserver target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.1 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="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://gitlab.com/linuxserver.io target=_blank rel=noopener title=gitlab.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.5.1 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="m503.5 204.6-.7-1.8-69.7-181.78c-1.4-3.57-3.9-6.59-7.2-8.64-2.4-1.55-5.1-2.515-8-2.81-2.9-.295-5.7.083-8.4 1.11-2.7 1.02-5.1 2.66-7.1 4.78-1.9 2.12-3.3 4.67-4.1 7.44l-47 144H160.8l-47.1-144c-.8-2.77-2.2-5.31-4.1-7.43-2-2.12-4.4-3.75-7.1-4.77a18.1 18.1 0 0 0-8.38-1.113 18.4 18.4 0 0 0-8.04 2.793 18.09 18.09 0 0 0-7.16 8.64L9.267 202.8l-.724 1.8a129.57 129.57 0 0 0-3.52 82c7.747 26.9 24.047 50.7 46.447 67.6l.27.2.59.4 105.97 79.5 52.6 39.7 32 24.2c3.7 1.9 8.3 4.3 13 4.3 4.7 0 9.3-2.4 13-4.3l32-24.2 52.6-39.7 106.7-79.9.3-.3c22.4-16.9 38.7-40.6 45.6-67.5 8.6-27 7.4-55.8-2.6-82z"/></svg> </a> <a href=https://www.facebook.com/linuxserver.io target=_blank rel=noopener title=www.facebook.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.5.1 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="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 120 82.7 220.8 194.2 248.5V334.2h-52.8V256h52.8v-33.7c0-87.1 39.4-127.5 125-127.5 16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287v175.9C413.8 494.8 512 386.9 512 256z"/></svg> </a> <a href=https://mastodon.linuxserver.io/@linuxserver target=_blank rel="noopener me" title=mastodon.linuxserver.io class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.5.1 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="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/linuxserverio target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.5.1 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="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></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": ["content.code.copy", "navigation.footer", "navigation.instant", "navigation.tabs", "navigation.top", "navigation.tracking", "search.highlight", "search.share", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.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.c8d2eff1.min.js></script> <script src=https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js></script> <script src=../../javascripts/tablesort.js></script> </body> </html>