From 7b63b6a26bb7703647ab9091b6f75b1af71a6e9b Mon Sep 17 00:00:00 2001 From: anarion80 Date: Sun, 26 May 2024 15:46:47 +0000 Subject: [PATCH] deploy: 34cb571012bf2b3fa45a973cb51304275b7763b5 --- 404.html | 4 ++-- assets/js/26317213.5713a142.js | 1 + assets/js/26317213.c91bb2a4.js | 1 - assets/js/264b7715.f13f821d.js | 1 + assets/js/935f2afb.3779da4f.js | 1 - assets/js/935f2afb.a16a1737.js | 1 + assets/js/e563856b.0c5e2aba.js | 1 - assets/js/e563856b.f7c7c0e8.js | 1 + assets/js/main.479a7565.js | 2 -- assets/js/main.73ad16ca.js | 2 ++ ...ICENSE.txt => main.73ad16ca.js.LICENSE.txt} | 0 assets/js/runtime~main.5939a936.js | 1 + assets/js/runtime~main.ba7334ab.js | 1 - blog/archive/index.html | 4 ++-- blog/index.html | 4 ++-- blog/tags/ansible-nas/index.html | 4 ++-- blog/tags/index.html | 4 ++-- blog/tags/website/index.html | 4 ++-- blog/welcome/index.html | 4 ++-- .../content-management/affine/index.html | 4 ++-- .../content-management/dokuwiki/index.html | 4 ++-- .../content-management/evershop/index.html | 4 ++-- .../content-management/flatnotes/index.html | 4 ++-- .../content-management/ghost/index.html | 4 ++-- .../content-management/huly/index.html | 4 ++-- .../content-management/huntly/index.html | 4 ++-- .../content-management/joomla/index.html | 4 ++-- .../content-management/memos/index.html | 4 ++-- .../content-management/obsidian/index.html | 4 ++-- .../content-management/outline/index.html | 4 ++-- .../content-management/ryot/index.html | 4 ++-- .../content-management/servas/index.html | 4 ++-- .../content-management/siyuan/index.html | 4 ++-- .../standardnotes/index.html | 4 ++-- .../content-management/tiddlywiki/index.html | 4 ++-- .../content-management/trilium/index.html | 4 ++-- .../content-management/twenty/index.html | 4 ++-- docs/applications/dashboards/dashy/index.html | 4 ++-- docs/applications/dashboards/flame/index.html | 4 ++-- .../dashboards/heimdall/index.html | 4 ++-- docs/applications/dashboards/homarr/index.html | 4 ++-- .../dashboards/homepage/index.html | 4 ++-- .../dashboards/organizr/index.html | 4 ++-- .../development-tools/budibase/index.html | 4 ++-- .../development-tools/code-server/index.html | 4 ++-- .../development-tools/drone_ci/index.html | 4 ++-- .../development-tools/gitea/index.html | 4 ++-- .../development-tools/gitlab/index.html | 4 ++-- .../development-tools/leantime/index.html | 4 ++-- .../development-tools/nomad/index.html | 4 ++-- .../development-tools/tooljet/index.html | 4 ++-- .../development-tools/woodpecker_ci/index.html | 4 ++-- .../download-tools/bazarr/index.html | 4 ++-- .../download-tools/couchpotato/index.html | 4 ++-- .../download-tools/deluge/index.html | 4 ++-- .../download-tools/get_iplayer/index.html | 4 ++-- .../download-tools/jackett/index.html | 4 ++-- .../download-tools/lazylibrarian/index.html | 4 ++-- .../download-tools/lidarr/index.html | 4 ++-- .../download-tools/metube/index.html | 4 ++-- .../download-tools/mylar/index.html | 4 ++-- .../download-tools/nzbget/index.html | 4 ++-- .../download-tools/nzbhydra2/index.html | 4 ++-- .../download-tools/ombi/index.html | 4 ++-- .../download-tools/overseerr/index.html | 4 ++-- .../download-tools/prowlarr/index.html | 4 ++-- .../download-tools/pyload/index.html | 4 ++-- .../download-tools/radarr/index.html | 4 ++-- .../download-tools/sabnzbd/index.html | 4 ++-- .../download-tools/sonarr/index.html | 4 ++-- .../download-tools/transmission/index.html | 4 ++-- .../download-tools/utorrent/index.html | 4 ++-- .../youtubedlmaterial/index.html | 4 ++-- .../gaming/minecraft-bedrock-server/index.html | 4 ++-- .../gaming/minecraft-server/index.html | 4 ++-- .../gaming/minetest-server/index.html | 4 ++-- .../home-automation/ebusd/index.html | 4 ++-- .../home-automation/esphome/index.html | 4 ++-- .../home-automation/frigate/index.html | 4 ++-- .../home-automation/hafusion/index.html | 4 ++-- .../home-automation/homeassistant/index.html | 4 ++-- .../home-automation/homebridge/index.html | 4 ++-- .../home-automation/icbinv/index.html | 4 ++-- .../home-automation/mosquitto/index.html | 4 ++-- .../home-automation/n8n/index.html | 4 ++-- .../home-automation/nodered/index.html | 4 ++-- .../home-automation/openhab/index.html | 4 ++-- .../media-serving/airsonic/index.html | 4 ++-- .../media-serving/booksonic/index.html | 4 ++-- .../media-serving/calibre-web/index.html | 4 ++-- .../media-serving/calibre/index.html | 4 ++-- .../applications/media-serving/emby/index.html | 4 ++-- .../applications/media-serving/gaps/index.html | 4 ++-- .../media-serving/invidious/index.html | 4 ++-- .../media-serving/jellyfin/index.html | 4 ++-- .../media-serving/kavita/index.html | 4 ++-- .../media-serving/komga/index.html | 4 ++-- .../media-serving/minidlna/index.html | 4 ++-- .../media-serving/moviematch/index.html | 4 ++-- .../media-serving/mymediaforalexa/index.html | 4 ++-- .../media-serving/navidrome/index.html | 4 ++-- .../applications/media-serving/plex/index.html | 4 ++-- .../media-serving/pytivo/index.html | 4 ++-- .../applications/media-serving/romm/index.html | 4 ++-- .../media-serving/tautulli/index.html | 4 ++-- .../media-serving/threadfin/index.html | 4 ++-- .../media-serving/ubooquity/index.html | 4 ++-- .../applications/monitoring/glances/index.html | 4 ++-- .../applications/monitoring/graylog/index.html | 4 ++-- .../monitoring/librespeed/index.html | 4 ++-- .../monitoring/speedtest/index.html | 4 ++-- docs/applications/monitoring/stats/index.html | 4 ++-- .../monitoring/wireshark/index.html | 4 ++-- docs/applications/news/commafeed/index.html | 4 ++-- docs/applications/news/freshrss/index.html | 4 ++-- docs/applications/news/libreddit/index.html | 4 ++-- docs/applications/news/miniflux/index.html | 4 ++-- docs/applications/news/rssbridge/index.html | 4 ++-- docs/applications/news/ttrss/index.html | 4 ++-- .../observability/grafana/index.html | 4 ++-- .../applications/other/activepieces/index.html | 4 ++-- docs/applications/other/admidio/index.html | 4 ++-- docs/applications/other/authelia/index.html | 4 ++-- docs/applications/other/authentik/index.html | 4 ++-- .../applications/other/barcodebuddy/index.html | 4 ++-- docs/applications/other/beets/index.html | 4 ++-- docs/applications/other/blaze/index.html | 4 ++-- .../other/changedetection/index.html | 4 ++-- docs/applications/other/chatpad/index.html | 4 ++-- docs/applications/other/chatwoot/index.html | 4 ++-- docs/applications/other/claper/index.html | 4 ++-- docs/applications/other/dufs/index.html | 4 ++-- docs/applications/other/exaclidraw/index.html | 4 ++-- docs/applications/other/firefly/index.html | 4 ++-- docs/applications/other/flarum/index.html | 4 ++-- docs/applications/other/formbricks/index.html | 4 ++-- docs/applications/other/formio/index.html | 4 ++-- docs/applications/other/gotify/index.html | 4 ++-- docs/applications/other/grocy/index.html | 4 ++-- docs/applications/other/guacamole/index.html | 4 ++-- docs/applications/other/hello_world/index.html | 4 ++-- docs/applications/other/heyform/index.html | 4 ++-- docs/applications/other/homepage/index.html | 4 ++-- docs/applications/other/huginn/index.html | 4 ++-- docs/applications/other/immich/index.html | 4 ++-- docs/applications/other/input/index.html | 4 ++-- docs/applications/other/keycloak/index.html | 4 ++-- docs/applications/other/librephotos/index.html | 4 ++-- .../other/libretranslate/index.html | 4 ++-- docs/applications/other/linkding/index.html | 4 ++-- docs/applications/other/linkwarden/index.html | 4 ++-- docs/applications/other/listmonk/index.html | 4 ++-- docs/applications/other/littlelink/index.html | 4 ++-- .../other/livehelperchat/index.html | 4 ++-- docs/applications/other/lubelogger/index.html | 4 ++-- docs/applications/other/mantium/index.html | 4 ++-- docs/applications/other/mattermost/index.html | 4 ++-- docs/applications/other/mealie/index.html | 4 ++-- docs/applications/other/miniserve/index.html | 4 ++-- docs/applications/other/mumble/index.html | 4 ++-- docs/applications/other/neko/index.html | 4 ++-- docs/applications/other/nextcloud/index.html | 4 ++-- docs/applications/other/octoprint/index.html | 4 ++-- docs/applications/other/olivetin/index.html | 4 ++-- docs/applications/other/openbooks/index.html | 4 ++-- docs/applications/other/openresume/index.html | 4 ++-- docs/applications/other/overleaf/index.html | 4 ++-- .../applications/other/paperless_ng/index.html | 4 ++-- docs/applications/other/photofield/index.html | 4 ++-- docs/applications/other/photoprism/index.html | 4 ++-- .../other/photostructure/index.html | 4 ++-- docs/applications/other/piwigo/index.html | 4 ++-- docs/applications/other/rallly/index.html | 4 ++-- docs/applications/other/readeck/index.html | 4 ++-- docs/applications/other/releasebell/index.html | 4 ++-- docs/applications/other/seafile/index.html | 4 ++-- docs/applications/other/searxng/index.html | 4 ++-- docs/applications/other/shaarli/index.html | 4 ++-- .../applications/other/silverbullet/index.html | 4 ++-- docs/applications/other/stirlingpdf/index.html | 4 ++-- docs/applications/other/thelounge/index.html | 4 ++-- docs/applications/other/traefik/index.html | 4 ++-- docs/applications/other/vaultwarden/index.html | 4 ++-- .../other/virtual_desktop/index.html | 4 ++-- docs/applications/other/wallabag/index.html | 4 ++-- docs/applications/other/wallos/index.html | 4 ++-- docs/applications/other/wanderer/index.html | 4 ++-- docs/applications/other/webtrees/index.html | 4 ++-- docs/applications/other/wger/index.html | 4 ++-- docs/applications/other/whoogle/index.html | 4 ++-- docs/applications/other/wishthis/index.html | 4 ++-- docs/applications/stacks/logging/index.html | 4 ++-- .../system-tools/blocky/index.html | 8 ++++---- .../system-tools/casdoor/index.html | 18 ++++++++++++++++++ .../system-tools/cloudcmd/index.html | 8 ++++---- .../system-tools/cloudflare_ddns/index.html | 6 +++--- .../system-tools/ddns_updater/index.html | 6 +++--- .../system-tools/dockge/index.html | 6 +++--- .../system-tools/duplicacy/index.html | 6 +++--- .../system-tools/duplicati/index.html | 6 +++--- .../system-tools/healthchecks.io/index.html | 6 +++--- .../system-tools/krusader/index.html | 6 +++--- .../applications/system-tools/lldap/index.html | 6 +++--- docs/applications/system-tools/loki/index.html | 6 +++--- .../system-tools/mergerfs/index.html | 6 +++--- .../applications/system-tools/minio/index.html | 6 +++--- .../applications/system-tools/mysql/index.html | 6 +++--- .../system-tools/netbootxyz/index.html | 6 +++--- .../system-tools/netbox/index.html | 6 +++--- .../system-tools/openldap/index.html | 6 +++--- .../system-tools/phpmyadmin/index.html | 6 +++--- .../system-tools/portainer/index.html | 6 +++--- .../system-tools/promtail/index.html | 6 +++--- .../system-tools/rclone/index.html | 6 +++--- .../system-tools/restic/index.html | 6 +++--- .../system-tools/route53_ddns/index.html | 6 +++--- .../system-tools/snipeit/index.html | 6 +++--- .../system-tools/syncthing/index.html | 6 +++--- .../system-tools/timemachine/index.html | 6 +++--- .../system-tools/watchtower/index.html | 6 +++--- .../system-tools/whatsupdocker/index.html | 6 +++--- docs/category/applications/index.html | 6 +++--- docs/category/content-management/index.html | 4 ++-- docs/category/contributing/index.html | 4 ++-- docs/category/dashboards/index.html | 4 ++-- docs/category/development-tools/index.html | 4 ++-- docs/category/download-tools/index.html | 4 ++-- docs/category/further-configuration/index.html | 4 ++-- docs/category/gaming/index.html | 4 ++-- docs/category/getting-started/index.html | 4 ++-- docs/category/home-automation/index.html | 4 ++-- docs/category/media-serving/index.html | 4 ++-- docs/category/monitoring/index.html | 4 ++-- docs/category/news/index.html | 4 ++-- docs/category/observability/index.html | 4 ++-- docs/category/other/index.html | 4 ++-- docs/category/stacks/index.html | 4 ++-- docs/category/system-tools/index.html | 6 +++--- .../contributing/add-an-application/index.html | 4 ++-- .../development-environment/index.html | 4 ++-- docs/further-configuration/hardware/index.html | 4 ++-- .../migrating-from-freenas/index.html | 4 ++-- .../nfs-exports/index.html | 4 ++-- .../samba-shares/index.html | 4 ++-- .../configure-dashboard/index.html | 4 ++-- .../enabling-applications/index.html | 4 ++-- .../getting-started/external-access/index.html | 4 ++-- docs/getting-started/installation/index.html | 4 ++-- docs/index.html | 4 ++-- docs/support/index.html | 4 ++-- docs/upgrading/index.html | 4 ++-- index.html | 4 ++-- sitemap.xml | 2 +- 253 files changed, 536 insertions(+), 517 deletions(-) create mode 100644 assets/js/26317213.5713a142.js delete mode 100644 assets/js/26317213.c91bb2a4.js create mode 100644 assets/js/264b7715.f13f821d.js delete mode 100644 assets/js/935f2afb.3779da4f.js create mode 100644 assets/js/935f2afb.a16a1737.js delete mode 100644 assets/js/e563856b.0c5e2aba.js create mode 100644 assets/js/e563856b.f7c7c0e8.js delete mode 100644 assets/js/main.479a7565.js create mode 100644 assets/js/main.73ad16ca.js rename assets/js/{main.479a7565.js.LICENSE.txt => main.73ad16ca.js.LICENSE.txt} (100%) create mode 100644 assets/js/runtime~main.5939a936.js delete mode 100644 assets/js/runtime~main.ba7334ab.js create mode 100644 docs/applications/system-tools/casdoor/index.html diff --git a/404.html b/404.html index bd10613c88..f03daf020e 100644 --- a/404.html +++ b/404.html @@ -5,8 +5,8 @@ Page Not Found | Ansible-NAS - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/js/26317213.5713a142.js b/assets/js/26317213.5713a142.js new file mode 100644 index 0000000000..da3a11c1c4 --- /dev/null +++ b/assets/js/26317213.5713a142.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkansible_nas=self.webpackChunkansible_nas||[]).push([[7346],{665:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=o(5893),n=o(1151);const i={title:"Blocky",description:"Fast and lightweight DNS proxy as ad-blocker"},a=void 0,r={id:"applications/system-tools/blocky",title:"Blocky",description:"Fast and lightweight DNS proxy as ad-blocker",source:"@site/docs/applications/system-tools/blocky.md",sourceDirName:"applications/system-tools",slug:"/applications/system-tools/blocky",permalink:"/ansible-nas/docs/applications/system-tools/blocky",draft:!1,unlisted:!1,editUrl:"https://github.com/anarion80/ansible-nas/tree/main/website/docs/applications/system-tools/blocky.md",tags:[],version:"current",frontMatter:{title:"Blocky",description:"Fast and lightweight DNS proxy as ad-blocker"},sidebar:"tutorialSidebar",previous:{title:"System Tools",permalink:"/ansible-nas/docs/category/system-tools"},next:{title:"Casdoor",permalink:"/ansible-nas/docs/applications/system-tools/casdoor"}},c={},l=[{value:"Usage",id:"usage",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",p:"p",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Fast and lightweight DNS proxy as ad-blocker for local network with many features"}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsxs)(t.p,{children:["Set ",(0,s.jsx)(t.code,{children:"blocky_enabled: true"})," in your ",(0,s.jsx)(t.code,{children:"inventories//group_vars/nas.yml"})," file. Edit the config file ",(0,s.jsx)(t.code,{children:"files/config.yml"})," according to ",(0,s.jsx)(t.a,{href:"https://0xerr0r.github.io/blocky/v0.22/configuration/",children:"Blocky configuration"}),". Run the playbook."]}),"\n",(0,s.jsxs)(t.p,{children:["Blocky web interface can be found at ",(0,s.jsx)(t.a,{href:"http://ansible_nas_host_or_ip:8004",children:"http://ansible_nas_host_or_ip:8004"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var s=o(7294);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/26317213.c91bb2a4.js b/assets/js/26317213.c91bb2a4.js deleted file mode 100644 index ad7fabfdaa..0000000000 --- a/assets/js/26317213.c91bb2a4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkansible_nas=self.webpackChunkansible_nas||[]).push([[7346],{665:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>r});var s=o(5893),n=o(1151);const i={title:"Blocky",description:"Fast and lightweight DNS proxy as ad-blocker"},a=void 0,l={id:"applications/system-tools/blocky",title:"Blocky",description:"Fast and lightweight DNS proxy as ad-blocker",source:"@site/docs/applications/system-tools/blocky.md",sourceDirName:"applications/system-tools",slug:"/applications/system-tools/blocky",permalink:"/ansible-nas/docs/applications/system-tools/blocky",draft:!1,unlisted:!1,editUrl:"https://github.com/anarion80/ansible-nas/tree/main/website/docs/applications/system-tools/blocky.md",tags:[],version:"current",frontMatter:{title:"Blocky",description:"Fast and lightweight DNS proxy as ad-blocker"},sidebar:"tutorialSidebar",previous:{title:"System Tools",permalink:"/ansible-nas/docs/category/system-tools"},next:{title:"Cloud Commander",permalink:"/ansible-nas/docs/applications/system-tools/cloudcmd"}},c={},r=[{value:"Usage",id:"usage",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",p:"p",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"Fast and lightweight DNS proxy as ad-blocker for local network with many features"}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsxs)(t.p,{children:["Set ",(0,s.jsx)(t.code,{children:"blocky_enabled: true"})," in your ",(0,s.jsx)(t.code,{children:"inventories//group_vars/nas.yml"})," file. Edit the config file ",(0,s.jsx)(t.code,{children:"files/config.yml"})," according to ",(0,s.jsx)(t.a,{href:"https://0xerr0r.github.io/blocky/v0.22/configuration/",children:"Blocky configuration"}),". Run the playbook."]}),"\n",(0,s.jsxs)(t.p,{children:["Blocky web interface can be found at ",(0,s.jsx)(t.a,{href:"http://ansible_nas_host_or_ip:8004",children:"http://ansible_nas_host_or_ip:8004"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1151:(e,t,o)=>{o.d(t,{Z:()=>l,a:()=>a});var s=o(7294);const n={},i=s.createContext(n);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/264b7715.f13f821d.js b/assets/js/264b7715.f13f821d.js new file mode 100644 index 0000000000..3ac352de2c --- /dev/null +++ b/assets/js/264b7715.f13f821d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkansible_nas=self.webpackChunkansible_nas||[]).push([[9606],{4732:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>d});var t=s(5893),o=s(1151);const a={title:"Casdoor",description:"An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform"},i=void 0,r={id:"applications/system-tools/casdoor",title:"Casdoor",description:"An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform",source:"@site/docs/applications/system-tools/casdoor.md",sourceDirName:"applications/system-tools",slug:"/applications/system-tools/casdoor",permalink:"/ansible-nas/docs/applications/system-tools/casdoor",draft:!1,unlisted:!1,editUrl:"https://github.com/anarion80/ansible-nas/tree/main/website/docs/applications/system-tools/casdoor.md",tags:[],version:"current",frontMatter:{title:"Casdoor",description:"An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform"},sidebar:"tutorialSidebar",previous:{title:"Blocky",permalink:"/ansible-nas/docs/applications/system-tools/blocky"},next:{title:"Cloud Commander",permalink:"/ansible-nas/docs/applications/system-tools/cloudcmd"}},c={},d=[{value:"Usage",id:"usage",level:2}];function l(e){const n={a:"a",code:"code",h2:"h2",p:"p",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["Homepage: ",(0,t.jsx)(n.a,{href:"https://github.com/casdoor/casdoor",children:"https://github.com/casdoor/casdoor"})]}),"\n",(0,t.jsx)(n.p,{children:"An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, Face ID, RADIUS, Google Workspace, Active Directory and Kerberos"}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsxs)(n.p,{children:["Set ",(0,t.jsx)(n.code,{children:"casdoor_enabled: true"})," in your ",(0,t.jsx)(n.code,{children:"inventories//group_vars/nas.yml"}),". Run the playbook."]}),"\n",(0,t.jsxs)(n.p,{children:["Casdoor web interface can be found at ",(0,t.jsx)(n.a,{href:"http://ansible_nas_host_or_ip:8006",children:"http://ansible_nas_host_or_ip:8006"}),". Login with user ",(0,t.jsx)(n.code,{children:"admin"})," and password ",(0,t.jsx)(n.code,{children:"123"}),"."]})]})}function p(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>i});var t=s(7294);const o={},a=t.createContext(o);function i(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.3779da4f.js b/assets/js/935f2afb.3779da4f.js deleted file mode 100644 index 178b43ba03..0000000000 --- a/assets/js/935f2afb.3779da4f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkansible_nas=self.webpackChunkansible_nas||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/ansible-nas/docs/","docId":"index","unlisted":false},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/ansible-nas/docs/getting-started/installation","docId":"getting-started/installation","unlisted":false},{"type":"link","label":"Enabling Applications","href":"/ansible-nas/docs/getting-started/enabling-applications","docId":"getting-started/enabling-applications","unlisted":false},{"type":"link","label":"Configure A Dashboard","href":"/ansible-nas/docs/getting-started/configure-dashboard","docId":"getting-started/configure-dashboard","unlisted":false},{"type":"link","label":"External Access","href":"/ansible-nas/docs/getting-started/external-access","docId":"getting-started/external-access","unlisted":false}],"href":"/ansible-nas/docs/category/getting-started"},{"type":"category","label":"Applications","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Content Management","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Affine","href":"/ansible-nas/docs/applications/content-management/affine","docId":"applications/content-management/affine","unlisted":false},{"type":"link","label":"Dokuwiki","href":"/ansible-nas/docs/applications/content-management/dokuwiki","docId":"applications/content-management/dokuwiki","unlisted":false},{"type":"link","label":"Evershop","href":"/ansible-nas/docs/applications/content-management/evershop","docId":"applications/content-management/evershop","unlisted":false},{"type":"link","label":"Flatnotes","href":"/ansible-nas/docs/applications/content-management/flatnotes","docId":"applications/content-management/flatnotes","unlisted":false},{"type":"link","label":"Ghost","href":"/ansible-nas/docs/applications/content-management/ghost","docId":"applications/content-management/ghost","unlisted":false},{"type":"link","label":"Huly Platform","href":"/ansible-nas/docs/applications/content-management/huly","docId":"applications/content-management/huly","unlisted":false},{"type":"link","label":"Huntly","href":"/ansible-nas/docs/applications/content-management/huntly","docId":"applications/content-management/huntly","unlisted":false},{"type":"link","label":"Joomla","href":"/ansible-nas/docs/applications/content-management/joomla","docId":"applications/content-management/joomla","unlisted":false},{"type":"link","label":"Memos","href":"/ansible-nas/docs/applications/content-management/memos","docId":"applications/content-management/memos","unlisted":false},{"type":"link","label":"Obsidian","href":"/ansible-nas/docs/applications/content-management/obsidian","docId":"applications/content-management/obsidian","unlisted":false},{"type":"link","label":"Outline","href":"/ansible-nas/docs/applications/content-management/outline","docId":"applications/content-management/outline","unlisted":false},{"type":"link","label":"Ryot","href":"/ansible-nas/docs/applications/content-management/ryot","docId":"applications/content-management/ryot","unlisted":false},{"type":"link","label":"Servas","href":"/ansible-nas/docs/applications/content-management/servas","docId":"applications/content-management/servas","unlisted":false},{"type":"link","label":"Siyuan","href":"/ansible-nas/docs/applications/content-management/siyuan","docId":"applications/content-management/siyuan","unlisted":false},{"type":"link","label":"Standard Notes","href":"/ansible-nas/docs/applications/content-management/standardnotes","docId":"applications/content-management/standardnotes","unlisted":false},{"type":"link","label":"TiddlyWiki","href":"/ansible-nas/docs/applications/content-management/tiddlywiki","docId":"applications/content-management/tiddlywiki","unlisted":false},{"type":"link","label":"Trilium","href":"/ansible-nas/docs/applications/content-management/trilium","docId":"applications/content-management/trilium","unlisted":false},{"type":"link","label":"Twenty CMS","href":"/ansible-nas/docs/applications/content-management/twenty","docId":"applications/content-management/twenty","unlisted":false}],"href":"/ansible-nas/docs/category/content-management"},{"type":"category","label":"Dashboards","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Dashy","href":"/ansible-nas/docs/applications/dashboards/dashy","docId":"applications/dashboards/dashy","unlisted":false},{"type":"link","label":"Flame","href":"/ansible-nas/docs/applications/dashboards/flame","docId":"applications/dashboards/flame","unlisted":false},{"type":"link","label":"Heimdall","href":"/ansible-nas/docs/applications/dashboards/heimdall","docId":"applications/dashboards/heimdall","unlisted":false},{"type":"link","label":"Homarr","href":"/ansible-nas/docs/applications/dashboards/homarr","docId":"applications/dashboards/homarr","unlisted":false},{"type":"link","label":"Homepage","href":"/ansible-nas/docs/applications/dashboards/homepage","docId":"applications/dashboards/homepage","unlisted":false},{"type":"link","label":"Organizr","href":"/ansible-nas/docs/applications/dashboards/organizr","docId":"applications/dashboards/organizr","unlisted":false}],"href":"/ansible-nas/docs/category/dashboards"},{"type":"category","label":"Development Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Budibase","href":"/ansible-nas/docs/applications/development-tools/budibase","docId":"applications/development-tools/budibase","unlisted":false},{"type":"link","label":"Code Server","href":"/ansible-nas/docs/applications/development-tools/code-server","docId":"applications/development-tools/code-server","unlisted":false},{"type":"link","label":"Drone CI","href":"/ansible-nas/docs/applications/development-tools/drone_ci","docId":"applications/development-tools/drone_ci","unlisted":false},{"type":"link","label":"Gitea","href":"/ansible-nas/docs/applications/development-tools/gitea","docId":"applications/development-tools/gitea","unlisted":false},{"type":"link","label":"GitLab","href":"/ansible-nas/docs/applications/development-tools/gitlab","docId":"applications/development-tools/gitlab","unlisted":false},{"type":"link","label":"Leantiome","href":"/ansible-nas/docs/applications/development-tools/leantime","docId":"applications/development-tools/leantime","unlisted":false},{"type":"link","label":"Nomad","href":"/ansible-nas/docs/applications/development-tools/nomad","docId":"applications/development-tools/nomad","unlisted":false},{"type":"link","label":"ToolJet","href":"/ansible-nas/docs/applications/development-tools/tooljet","docId":"applications/development-tools/tooljet","unlisted":false},{"type":"link","label":"Woodpecker CI","href":"/ansible-nas/docs/applications/development-tools/woodpecker_ci","docId":"applications/development-tools/woodpecker_ci","unlisted":false}],"href":"/ansible-nas/docs/category/development-tools"},{"type":"category","label":"Download Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Bazarr","href":"/ansible-nas/docs/applications/download-tools/bazarr","docId":"applications/download-tools/bazarr","unlisted":false},{"type":"link","label":"Couchpotato","href":"/ansible-nas/docs/applications/download-tools/couchpotato","docId":"applications/download-tools/couchpotato","unlisted":false},{"type":"link","label":"Deluge","href":"/ansible-nas/docs/applications/download-tools/deluge","docId":"applications/download-tools/deluge","unlisted":false},{"type":"link","label":"Get_iPlayer","href":"/ansible-nas/docs/applications/download-tools/get_iplayer","docId":"applications/download-tools/get_iplayer","unlisted":false},{"type":"link","label":"Jackett","href":"/ansible-nas/docs/applications/download-tools/jackett","docId":"applications/download-tools/jackett","unlisted":false},{"type":"link","label":"LazyLibrarian","href":"/ansible-nas/docs/applications/download-tools/lazylibrarian","docId":"applications/download-tools/lazylibrarian","unlisted":false},{"type":"link","label":"Lidarr","href":"/ansible-nas/docs/applications/download-tools/lidarr","docId":"applications/download-tools/lidarr","unlisted":false},{"type":"link","label":"MeTube","href":"/ansible-nas/docs/applications/download-tools/metube","docId":"applications/download-tools/metube","unlisted":false},{"type":"link","label":"Mylar","href":"/ansible-nas/docs/applications/download-tools/mylar","docId":"applications/download-tools/mylar","unlisted":false},{"type":"link","label":"NZBGet","href":"/ansible-nas/docs/applications/download-tools/nzbget","docId":"applications/download-tools/nzbget","unlisted":false},{"type":"link","label":"Nzbhydra2","href":"/ansible-nas/docs/applications/download-tools/nzbhydra2","docId":"applications/download-tools/nzbhydra2","unlisted":false},{"type":"link","label":"Ombi","href":"/ansible-nas/docs/applications/download-tools/ombi","docId":"applications/download-tools/ombi","unlisted":false},{"type":"link","label":"Overseerr","href":"/ansible-nas/docs/applications/download-tools/overseerr","docId":"applications/download-tools/overseerr","unlisted":false},{"type":"link","label":"Prowlarr","href":"/ansible-nas/docs/applications/download-tools/prowlarr","docId":"applications/download-tools/prowlarr","unlisted":false},{"type":"link","label":"pyLoad","href":"/ansible-nas/docs/applications/download-tools/pyload","docId":"applications/download-tools/pyload","unlisted":false},{"type":"link","label":"Radarr","href":"/ansible-nas/docs/applications/download-tools/radarr","docId":"applications/download-tools/radarr","unlisted":false},{"type":"link","label":"Sabnzbd","href":"/ansible-nas/docs/applications/download-tools/sabnzbd","docId":"applications/download-tools/sabnzbd","unlisted":false},{"type":"link","label":"Sonarr","href":"/ansible-nas/docs/applications/download-tools/sonarr","docId":"applications/download-tools/sonarr","unlisted":false},{"type":"link","label":"Transmission","href":"/ansible-nas/docs/applications/download-tools/transmission","docId":"applications/download-tools/transmission","unlisted":false},{"type":"link","label":"uTorrent","href":"/ansible-nas/docs/applications/download-tools/utorrent","docId":"applications/download-tools/utorrent","unlisted":false},{"type":"link","label":"YouTubeDL-Material","href":"/ansible-nas/docs/applications/download-tools/youtubedlmaterial","docId":"applications/download-tools/youtubedlmaterial","unlisted":false}],"href":"/ansible-nas/docs/category/download-tools"},{"type":"category","label":"Gaming","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Minecraft Bedrock Server","href":"/ansible-nas/docs/applications/gaming/minecraft-bedrock-server","docId":"applications/gaming/minecraft-bedrock-server","unlisted":false},{"type":"link","label":"Minecraft Server","href":"/ansible-nas/docs/applications/gaming/minecraft-server","docId":"applications/gaming/minecraft-server","unlisted":false},{"type":"link","label":"Minetest Server","href":"/ansible-nas/docs/applications/gaming/minetest-server","docId":"applications/gaming/minetest-server","unlisted":false}],"href":"/ansible-nas/docs/category/gaming"},{"type":"category","label":"Home Automation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ebusd","href":"/ansible-nas/docs/applications/home-automation/ebusd","docId":"applications/home-automation/ebusd","unlisted":false},{"type":"link","label":"ESPHome","href":"/ansible-nas/docs/applications/home-automation/esphome","docId":"applications/home-automation/esphome","unlisted":false},{"type":"link","label":"Frigate","href":"/ansible-nas/docs/applications/home-automation/frigate","docId":"applications/home-automation/frigate","unlisted":false},{"type":"link","label":"HA Fusion","href":"/ansible-nas/docs/applications/home-automation/hafusion","docId":"applications/home-automation/hafusion","unlisted":false},{"type":"link","label":"Home Assistant","href":"/ansible-nas/docs/applications/home-automation/homeassistant","docId":"applications/home-automation/homeassistant","unlisted":false},{"type":"link","label":"Homebridge","href":"/ansible-nas/docs/applications/home-automation/homebridge","docId":"applications/home-automation/homebridge","unlisted":false},{"type":"link","label":"I Can\'t Believe It\'s Not Valetudo","href":"/ansible-nas/docs/applications/home-automation/icbinv","docId":"applications/home-automation/icbinv","unlisted":false},{"type":"link","label":"Mosquitto","href":"/ansible-nas/docs/applications/home-automation/mosquitto","docId":"applications/home-automation/mosquitto","unlisted":false},{"type":"link","label":"Nodemation (n8n)","href":"/ansible-nas/docs/applications/home-automation/n8n","docId":"applications/home-automation/n8n","unlisted":false},{"type":"link","label":"Huginn","href":"/ansible-nas/docs/applications/home-automation/nodered","docId":"applications/home-automation/nodered","unlisted":false},{"type":"link","label":"openHAB","href":"/ansible-nas/docs/applications/home-automation/openhab","docId":"applications/home-automation/openhab","unlisted":false}],"href":"/ansible-nas/docs/category/home-automation"},{"type":"category","label":"Media Serving","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Airsonic","href":"/ansible-nas/docs/applications/media-serving/airsonic","docId":"applications/media-serving/airsonic","unlisted":false},{"type":"link","label":"Booksonic","href":"/ansible-nas/docs/applications/media-serving/booksonic","docId":"applications/media-serving/booksonic","unlisted":false},{"type":"link","label":"Calibre-web","href":"/ansible-nas/docs/applications/media-serving/calibre-web","docId":"applications/media-serving/calibre-web","unlisted":false},{"type":"link","label":"calibre","href":"/ansible-nas/docs/applications/media-serving/calibre","docId":"applications/media-serving/calibre","unlisted":false},{"type":"link","label":"Emby","href":"/ansible-nas/docs/applications/media-serving/emby","docId":"applications/media-serving/emby","unlisted":false},{"type":"link","label":"Gaps","href":"/ansible-nas/docs/applications/media-serving/gaps","docId":"applications/media-serving/gaps","unlisted":false},{"type":"link","label":"Invidious","href":"/ansible-nas/docs/applications/media-serving/invidious","docId":"applications/media-serving/invidious","unlisted":false},{"type":"link","label":"Jellyfin","href":"/ansible-nas/docs/applications/media-serving/jellyfin","docId":"applications/media-serving/jellyfin","unlisted":false},{"type":"link","label":"Kavita","href":"/ansible-nas/docs/applications/media-serving/kavita","docId":"applications/media-serving/kavita","unlisted":false},{"type":"link","label":"Komga","href":"/ansible-nas/docs/applications/media-serving/komga","docId":"applications/media-serving/komga","unlisted":false},{"type":"link","label":"MiniDLNA","href":"/ansible-nas/docs/applications/media-serving/minidlna","docId":"applications/media-serving/minidlna","unlisted":false},{"type":"link","label":"Moviematch","href":"/ansible-nas/docs/applications/media-serving/moviematch","docId":"applications/media-serving/moviematch","unlisted":false},{"type":"link","label":"My Media for Alexa","href":"/ansible-nas/docs/applications/media-serving/mymediaforalexa","docId":"applications/media-serving/mymediaforalexa","unlisted":false},{"type":"link","label":"Navidrome","href":"/ansible-nas/docs/applications/media-serving/navidrome","docId":"applications/media-serving/navidrome","unlisted":false},{"type":"link","label":"Plex","href":"/ansible-nas/docs/applications/media-serving/plex","docId":"applications/media-serving/plex","unlisted":false},{"type":"link","label":"PyTivo","href":"/ansible-nas/docs/applications/media-serving/pytivo","docId":"applications/media-serving/pytivo","unlisted":false},{"type":"link","label":"Romm","href":"/ansible-nas/docs/applications/media-serving/romm","docId":"applications/media-serving/romm","unlisted":false},{"type":"link","label":"Tautulli","href":"/ansible-nas/docs/applications/media-serving/tautulli","docId":"applications/media-serving/tautulli","unlisted":false},{"type":"link","label":"Threadfin","href":"/ansible-nas/docs/applications/media-serving/threadfin","docId":"applications/media-serving/threadfin","unlisted":false},{"type":"link","label":"Ubooquity","href":"/ansible-nas/docs/applications/media-serving/ubooquity","docId":"applications/media-serving/ubooquity","unlisted":false}],"href":"/ansible-nas/docs/category/media-serving"},{"type":"category","label":"Monitoring","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Glances","href":"/ansible-nas/docs/applications/monitoring/glances","docId":"applications/monitoring/glances","unlisted":false},{"type":"link","label":"Graylog","href":"/ansible-nas/docs/applications/monitoring/graylog","docId":"applications/monitoring/graylog","unlisted":false},{"type":"link","label":"Librespeed","href":"/ansible-nas/docs/applications/monitoring/librespeed","docId":"applications/monitoring/librespeed","unlisted":false},{"type":"link","label":"Speedtest-Tracker","href":"/ansible-nas/docs/applications/monitoring/speedtest","docId":"applications/monitoring/speedtest","unlisted":false},{"type":"link","label":"Stats","href":"/ansible-nas/docs/applications/monitoring/stats","docId":"applications/monitoring/stats","unlisted":false},{"type":"link","label":"Wireshark","href":"/ansible-nas/docs/applications/monitoring/wireshark","docId":"applications/monitoring/wireshark","unlisted":false}],"href":"/ansible-nas/docs/category/monitoring"},{"type":"category","label":"News","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"CommaFeed","href":"/ansible-nas/docs/applications/news/commafeed","docId":"applications/news/commafeed","unlisted":false},{"type":"link","label":"FreshRSS","href":"/ansible-nas/docs/applications/news/freshrss","docId":"applications/news/freshrss","unlisted":false},{"type":"link","label":"Libreddit","href":"/ansible-nas/docs/applications/news/libreddit","docId":"applications/news/libreddit","unlisted":false},{"type":"link","label":"Miniflux","href":"/ansible-nas/docs/applications/news/miniflux","docId":"applications/news/miniflux","unlisted":false},{"type":"link","label":"RSS-Bridge","href":"/ansible-nas/docs/applications/news/rssbridge","docId":"applications/news/rssbridge","unlisted":false},{"type":"link","label":"Tt-rss","href":"/ansible-nas/docs/applications/news/ttrss","docId":"applications/news/ttrss","unlisted":false}],"href":"/ansible-nas/docs/category/news"},{"type":"category","label":"Observability","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Grafana","href":"/ansible-nas/docs/applications/observability/grafana","docId":"applications/observability/grafana","unlisted":false}],"href":"/ansible-nas/docs/category/observability"},{"type":"category","label":"Other","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Activepieces","href":"/ansible-nas/docs/applications/other/activepieces","docId":"applications/other/activepieces","unlisted":false},{"type":"link","label":"Admidio","href":"/ansible-nas/docs/applications/other/admidio","docId":"applications/other/admidio","unlisted":false},{"type":"link","label":"Authelia","href":"/ansible-nas/docs/applications/other/authelia","docId":"applications/other/authelia","unlisted":false},{"type":"link","label":"Authentik","href":"/ansible-nas/docs/applications/other/authentik","docId":"applications/other/authentik","unlisted":false},{"type":"link","label":"Barcode Buddy","href":"/ansible-nas/docs/applications/other/barcodebuddy","docId":"applications/other/barcodebuddy","unlisted":false},{"type":"link","label":"Beets","href":"/ansible-nas/docs/applications/other/beets","docId":"applications/other/beets","unlisted":false},{"type":"link","label":"Blaze","href":"/ansible-nas/docs/applications/other/blaze","docId":"applications/other/blaze","unlisted":false},{"type":"link","label":"Changedetection.io","href":"/ansible-nas/docs/applications/other/changedetection","docId":"applications/other/changedetection","unlisted":false},{"type":"link","label":"Chatpad","href":"/ansible-nas/docs/applications/other/chatpad","docId":"applications/other/chatpad","unlisted":false},{"type":"link","label":"Chatwoot","href":"/ansible-nas/docs/applications/other/chatwoot","docId":"applications/other/chatwoot","unlisted":false},{"type":"link","label":"Claper","href":"/ansible-nas/docs/applications/other/claper","docId":"applications/other/claper","unlisted":false},{"type":"link","label":"Dufs","href":"/ansible-nas/docs/applications/other/dufs","docId":"applications/other/dufs","unlisted":false},{"type":"link","label":"Excalidraw","href":"/ansible-nas/docs/applications/other/exaclidraw","docId":"applications/other/exaclidraw","unlisted":false},{"type":"link","label":"Firefly III","href":"/ansible-nas/docs/applications/other/firefly","docId":"applications/other/firefly","unlisted":false},{"type":"link","label":"Flarum","href":"/ansible-nas/docs/applications/other/flarum","docId":"applications/other/flarum","unlisted":false},{"type":"link","label":"Formbricks","href":"/ansible-nas/docs/applications/other/formbricks","docId":"applications/other/formbricks","unlisted":false},{"type":"link","label":"FormIO","href":"/ansible-nas/docs/applications/other/formio","docId":"applications/other/formio","unlisted":false},{"type":"link","label":"Gotify","href":"/ansible-nas/docs/applications/other/gotify","docId":"applications/other/gotify","unlisted":false},{"type":"link","label":"Grocy","href":"/ansible-nas/docs/applications/other/grocy","docId":"applications/other/grocy","unlisted":false},{"type":"link","label":"Guacamole","href":"/ansible-nas/docs/applications/other/guacamole","docId":"applications/other/guacamole","unlisted":false},{"type":"link","label":"Hello World","href":"/ansible-nas/docs/applications/other/hello_world","docId":"applications/other/hello_world","unlisted":false},{"type":"link","label":"Heyform","href":"/ansible-nas/docs/applications/other/heyform","docId":"applications/other/heyform","unlisted":false},{"type":"link","label":"Homepage","href":"/ansible-nas/docs/applications/other/homepage","docId":"applications/other/homepage","unlisted":false},{"type":"link","label":"Huginn","href":"/ansible-nas/docs/applications/other/huginn","docId":"applications/other/huginn","unlisted":false},{"type":"link","label":"Immich","href":"/ansible-nas/docs/applications/other/immich","docId":"applications/other/immich","unlisted":false},{"type":"link","label":"Input","href":"/ansible-nas/docs/applications/other/input","docId":"applications/other/input","unlisted":false},{"type":"link","label":"Keycloak","href":"/ansible-nas/docs/applications/other/keycloak","docId":"applications/other/keycloak","unlisted":false},{"type":"link","label":"Librephotos","href":"/ansible-nas/docs/applications/other/librephotos","docId":"applications/other/librephotos","unlisted":false},{"type":"link","label":"LibreTranslate","href":"/ansible-nas/docs/applications/other/libretranslate","docId":"applications/other/libretranslate","unlisted":false},{"type":"link","label":"Linkding","href":"/ansible-nas/docs/applications/other/linkding","docId":"applications/other/linkding","unlisted":false},{"type":"link","label":"Linkwarden","href":"/ansible-nas/docs/applications/other/linkwarden","docId":"applications/other/linkwarden","unlisted":false},{"type":"link","label":"Listmonk","href":"/ansible-nas/docs/applications/other/listmonk","docId":"applications/other/listmonk","unlisted":false},{"type":"link","label":"Littlelink-server","href":"/ansible-nas/docs/applications/other/littlelink","docId":"applications/other/littlelink","unlisted":false},{"type":"link","label":"LiveHelperChat","href":"/ansible-nas/docs/applications/other/livehelperchat","docId":"applications/other/livehelperchat","unlisted":false},{"type":"link","label":"LubeLogger","href":"/ansible-nas/docs/applications/other/lubelogger","docId":"applications/other/lubelogger","unlisted":false},{"type":"link","label":"Mantium","href":"/ansible-nas/docs/applications/other/mantium","docId":"applications/other/mantium","unlisted":false},{"type":"link","label":"Mattermost","href":"/ansible-nas/docs/applications/other/mattermost","docId":"applications/other/mattermost","unlisted":false},{"type":"link","label":"Mealie","href":"/ansible-nas/docs/applications/other/mealie","docId":"applications/other/mealie","unlisted":false},{"type":"link","label":"Miniserve","href":"/ansible-nas/docs/applications/other/miniserve","docId":"applications/other/miniserve","unlisted":false},{"type":"link","label":"Mumble","href":"/ansible-nas/docs/applications/other/mumble","docId":"applications/other/mumble","unlisted":false},{"type":"link","label":"n.eko","href":"/ansible-nas/docs/applications/other/neko","docId":"applications/other/neko","unlisted":false},{"type":"link","label":"Nextcloud","href":"/ansible-nas/docs/applications/other/nextcloud","docId":"applications/other/nextcloud","unlisted":false},{"type":"link","label":"Octoprint","href":"/ansible-nas/docs/applications/other/octoprint","docId":"applications/other/octoprint","unlisted":false},{"type":"link","label":"OliveTin","href":"/ansible-nas/docs/applications/other/olivetin","docId":"applications/other/olivetin","unlisted":false},{"type":"link","label":"Openbooks","href":"/ansible-nas/docs/applications/other/openbooks","docId":"applications/other/openbooks","unlisted":false},{"type":"link","label":"Open-resume","href":"/ansible-nas/docs/applications/other/openresume","docId":"applications/other/openresume","unlisted":false},{"type":"link","label":"Overleaf","href":"/ansible-nas/docs/applications/other/overleaf","docId":"applications/other/overleaf","unlisted":false},{"type":"link","label":"Paperless-ng","href":"/ansible-nas/docs/applications/other/paperless_ng","docId":"applications/other/paperless_ng","unlisted":false},{"type":"link","label":"Photofield","href":"/ansible-nas/docs/applications/other/photofield","docId":"applications/other/photofield","unlisted":false},{"type":"link","label":"Photoprism","href":"/ansible-nas/docs/applications/other/photoprism","docId":"applications/other/photoprism","unlisted":false},{"type":"link","label":"PhotoStructure","href":"/ansible-nas/docs/applications/other/photostructure","docId":"applications/other/photostructure","unlisted":false},{"type":"link","label":"Piwigo","href":"/ansible-nas/docs/applications/other/piwigo","docId":"applications/other/piwigo","unlisted":false},{"type":"link","label":"Rallly","href":"/ansible-nas/docs/applications/other/rallly","docId":"applications/other/rallly","unlisted":false},{"type":"link","label":"Readeck","href":"/ansible-nas/docs/applications/other/readeck","docId":"applications/other/readeck","unlisted":false},{"type":"link","label":"Releasebell","href":"/ansible-nas/docs/applications/other/releasebell","docId":"applications/other/releasebell","unlisted":false},{"type":"link","label":"Restic","href":"/ansible-nas/docs/applications/other/seafile","docId":"applications/other/seafile","unlisted":false},{"type":"link","label":"SearxNG","href":"/ansible-nas/docs/applications/other/searxng","docId":"applications/other/searxng","unlisted":false},{"type":"link","label":"Shaarli","href":"/ansible-nas/docs/applications/other/shaarli","docId":"applications/other/shaarli","unlisted":false},{"type":"link","label":"Silverbullet","href":"/ansible-nas/docs/applications/other/silverbullet","docId":"applications/other/silverbullet","unlisted":false},{"type":"link","label":"Stirling-PDF","href":"/ansible-nas/docs/applications/other/stirlingpdf","docId":"applications/other/stirlingpdf","unlisted":false},{"type":"link","label":"The Lounge","href":"/ansible-nas/docs/applications/other/thelounge","docId":"applications/other/thelounge","unlisted":false},{"type":"link","label":"Traefik","href":"/ansible-nas/docs/applications/other/traefik","docId":"applications/other/traefik","unlisted":false},{"type":"link","label":"Vaultwarden","href":"/ansible-nas/docs/applications/other/vaultwarden","docId":"applications/other/vaultwarden","unlisted":false},{"type":"link","label":"Virtual Desktop","href":"/ansible-nas/docs/applications/other/virtual_desktop","docId":"applications/other/virtual_desktop","unlisted":false},{"type":"link","label":"Wallabag","href":"/ansible-nas/docs/applications/other/wallabag","docId":"applications/other/wallabag","unlisted":false},{"type":"link","label":"Wallos","href":"/ansible-nas/docs/applications/other/wallos","docId":"applications/other/wallos","unlisted":false},{"type":"link","label":"Wanderer","href":"/ansible-nas/docs/applications/other/wanderer","docId":"applications/other/wanderer","unlisted":false},{"type":"link","label":"Webtres","href":"/ansible-nas/docs/applications/other/webtrees","docId":"applications/other/webtrees","unlisted":false},{"type":"link","label":"Wger","href":"/ansible-nas/docs/applications/other/wger","docId":"applications/other/wger","unlisted":false},{"type":"link","label":"Whoogle","href":"/ansible-nas/docs/applications/other/whoogle","docId":"applications/other/whoogle","unlisted":false},{"type":"link","label":"Wishthis","href":"/ansible-nas/docs/applications/other/wishthis","docId":"applications/other/wishthis","unlisted":false}],"href":"/ansible-nas/docs/category/other"},{"type":"category","label":"Stacks","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Logging","href":"/ansible-nas/docs/applications/stacks/logging","docId":"applications/stacks/logging","unlisted":false}],"href":"/ansible-nas/docs/category/stacks"},{"type":"category","label":"System Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Blocky","href":"/ansible-nas/docs/applications/system-tools/blocky","docId":"applications/system-tools/blocky","unlisted":false},{"type":"link","label":"Cloud Commander","href":"/ansible-nas/docs/applications/system-tools/cloudcmd","docId":"applications/system-tools/cloudcmd","unlisted":false},{"type":"link","label":"Cloudflare DDNS","href":"/ansible-nas/docs/applications/system-tools/cloudflare_ddns","docId":"applications/system-tools/cloudflare_ddns","unlisted":false},{"type":"link","label":"DDNS Updater","href":"/ansible-nas/docs/applications/system-tools/ddns_updater","docId":"applications/system-tools/ddns_updater","unlisted":false},{"type":"link","label":"Dockge","href":"/ansible-nas/docs/applications/system-tools/dockge","docId":"applications/system-tools/dockge","unlisted":false},{"type":"link","label":"Duplicacy","href":"/ansible-nas/docs/applications/system-tools/duplicacy","docId":"applications/system-tools/duplicacy","unlisted":false},{"type":"link","label":"Duplicati","href":"/ansible-nas/docs/applications/system-tools/duplicati","docId":"applications/system-tools/duplicati","unlisted":false},{"type":"link","label":"Healthchecks.io","href":"/ansible-nas/docs/applications/system-tools/healthchecks.io","docId":"applications/system-tools/healthchecks.io","unlisted":false},{"type":"link","label":"Krusader","href":"/ansible-nas/docs/applications/system-tools/krusader","docId":"applications/system-tools/krusader","unlisted":false},{"type":"link","label":"Light LDAP","href":"/ansible-nas/docs/applications/system-tools/lldap","docId":"applications/system-tools/lldap","unlisted":false},{"type":"link","label":"Loki","href":"/ansible-nas/docs/applications/system-tools/loki","docId":"applications/system-tools/loki","unlisted":false},{"type":"link","label":"Mergerfs","href":"/ansible-nas/docs/applications/system-tools/mergerfs","docId":"applications/system-tools/mergerfs","unlisted":false},{"type":"link","label":"Minio","href":"/ansible-nas/docs/applications/system-tools/minio","docId":"applications/system-tools/minio","unlisted":false},{"type":"link","label":"MySql","href":"/ansible-nas/docs/applications/system-tools/mysql","docId":"applications/system-tools/mysql","unlisted":false},{"type":"link","label":"netboot.xyz","href":"/ansible-nas/docs/applications/system-tools/netbootxyz","docId":"applications/system-tools/netbootxyz","unlisted":false},{"type":"link","label":"NetBox","href":"/ansible-nas/docs/applications/system-tools/netbox","docId":"applications/system-tools/netbox","unlisted":false},{"type":"link","label":"OpenLDAP","href":"/ansible-nas/docs/applications/system-tools/openldap","docId":"applications/system-tools/openldap","unlisted":false},{"type":"link","label":"phpMyAdmin","href":"/ansible-nas/docs/applications/system-tools/phpmyadmin","docId":"applications/system-tools/phpmyadmin","unlisted":false},{"type":"link","label":"Portainer","href":"/ansible-nas/docs/applications/system-tools/portainer","docId":"applications/system-tools/portainer","unlisted":false},{"type":"link","label":"Promtail","href":"/ansible-nas/docs/applications/system-tools/promtail","docId":"applications/system-tools/promtail","unlisted":false},{"type":"link","label":"Rclone","href":"/ansible-nas/docs/applications/system-tools/rclone","docId":"applications/system-tools/rclone","unlisted":false},{"type":"link","label":"Restic","href":"/ansible-nas/docs/applications/system-tools/restic","docId":"applications/system-tools/restic","unlisted":false},{"type":"link","label":"AWS Route53 Dynamic DNS Updater","href":"/ansible-nas/docs/applications/system-tools/route53_ddns","docId":"applications/system-tools/route53_ddns","unlisted":false},{"type":"link","label":"Snipe-IT","href":"/ansible-nas/docs/applications/system-tools/snipeit","docId":"applications/system-tools/snipeit","unlisted":false},{"type":"link","label":"Syncthing","href":"/ansible-nas/docs/applications/system-tools/syncthing","docId":"applications/system-tools/syncthing","unlisted":false},{"type":"link","label":"Time Machine","href":"/ansible-nas/docs/applications/system-tools/timemachine","docId":"applications/system-tools/timemachine","unlisted":false},{"type":"link","label":"Watchtower","href":"/ansible-nas/docs/applications/system-tools/watchtower","docId":"applications/system-tools/watchtower","unlisted":false},{"type":"link","label":"Whats-up-Docker","href":"/ansible-nas/docs/applications/system-tools/whatsupdocker","docId":"applications/system-tools/whatsupdocker","unlisted":false}],"href":"/ansible-nas/docs/category/system-tools"}],"href":"/ansible-nas/docs/category/applications"},{"type":"category","label":"Further Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Hardware","href":"/ansible-nas/docs/further-configuration/hardware","docId":"further-configuration/hardware","unlisted":false},{"type":"link","label":"Migrating from FreeNAS","href":"/ansible-nas/docs/further-configuration/migrating-from-freenas","docId":"further-configuration/migrating-from-freenas","unlisted":false},{"type":"link","label":"NFS Exports","href":"/ansible-nas/docs/further-configuration/nfs-exports","docId":"further-configuration/nfs-exports","unlisted":false},{"type":"link","label":"Samba Shares","href":"/ansible-nas/docs/further-configuration/samba-shares","docId":"further-configuration/samba-shares","unlisted":false}],"href":"/ansible-nas/docs/category/further-configuration"},{"type":"category","label":"Contributing","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Development Environment","href":"/ansible-nas/docs/contributing/development-environment","docId":"contributing/development-environment","unlisted":false},{"type":"link","label":"Add An Application","href":"/ansible-nas/docs/contributing/add-an-application","docId":"contributing/add-an-application","unlisted":false}],"href":"/ansible-nas/docs/category/contributing"},{"type":"link","label":"Support","href":"/ansible-nas/docs/support","docId":"support","unlisted":false},{"type":"link","label":"Upgrading","href":"/ansible-nas/docs/upgrading","docId":"upgrading","unlisted":false}]},"docs":{"applications/content-management/affine":{"id":"applications/content-management/affine","title":"Affine","description":"A next-gen knowledge base that brings planning, sorting and creating all together","sidebar":"tutorialSidebar"},"applications/content-management/dokuwiki":{"id":"applications/content-management/dokuwiki","title":"Dokuwiki","description":"Open source wiki software that doesn\'t require a database","sidebar":"tutorialSidebar"},"applications/content-management/evershop":{"id":"applications/content-management/evershop","title":"Evershop","description":"NodeJS E-commerce Platform","sidebar":"tutorialSidebar"},"applications/content-management/flatnotes":{"id":"applications/content-management/flatnotes","title":"Flatnotes","description":"Self-hosted, database-less note taking web app","sidebar":"tutorialSidebar"},"applications/content-management/ghost":{"id":"applications/content-management/ghost","title":"Ghost","description":"A powerful app for new-media creators to publish, share, and grow a business around their content","sidebar":"tutorialSidebar"},"applications/content-management/huly":{"id":"applications/content-management/huly","title":"Huly Platform","description":"Huly \u2014 All-in-One Project Management Platform (alternative to Linear, Jira, Slack, Notion, Motion)","sidebar":"tutorialSidebar"},"applications/content-management/huntly":{"id":"applications/content-management/huntly","title":"Huntly","description":"Self-hosted information management tool","sidebar":"tutorialSidebar"},"applications/content-management/joomla":{"id":"applications/content-management/joomla","title":"Joomla","description":"An award-winning content management system","sidebar":"tutorialSidebar"},"applications/content-management/memos":{"id":"applications/content-management/memos","title":"Memos","description":"An open-source, self-hosted memo hub with knowledge management and social networking","sidebar":"tutorialSidebar"},"applications/content-management/obsidian":{"id":"applications/content-management/obsidian","title":"Obsidian","description":"Obsidian is the private and flexible writing app that adapts to the way you think.","sidebar":"tutorialSidebar"},"applications/content-management/outline":{"id":"applications/content-management/outline","title":"Outline","description":"The fastest knowledge base for growing teams. Beautiful, realtime collaborative, feature packed, and markdown compatible","sidebar":"tutorialSidebar"},"applications/content-management/ryot":{"id":"applications/content-management/ryot","title":"Ryot","description":"A self hosted platform for tracking various facets of your life - media, fitness etc.","sidebar":"tutorialSidebar"},"applications/content-management/servas":{"id":"applications/content-management/servas","title":"Servas","description":"A self-hosted bookmark management tool","sidebar":"tutorialSidebar"},"applications/content-management/siyuan":{"id":"applications/content-management/siyuan","title":"Siyuan","description":"A privacy-first, self-hosted, fully open source personal knowledge management software","sidebar":"tutorialSidebar"},"applications/content-management/standardnotes":{"id":"applications/content-management/standardnotes","title":"Standard Notes","description":"A free, secure note-taking app with powerful end-to-end encryption","sidebar":"tutorialSidebar"},"applications/content-management/tiddlywiki":{"id":"applications/content-management/tiddlywiki","title":"TiddlyWiki","description":"A notebook for capturing, organizing, and sharing information","sidebar":"tutorialSidebar"},"applications/content-management/trilium":{"id":"applications/content-management/trilium","title":"Trilium","description":"Build your personal knowledge base with Trilium Notes","sidebar":"tutorialSidebar"},"applications/content-management/twenty":{"id":"applications/content-management/twenty","title":"Twenty CMS","description":"The #1 Open-Source CRM. Modern, powerful, affordable platform to manage your customer relationships","sidebar":"tutorialSidebar"},"applications/dashboards/dashy":{"id":"applications/dashboards/dashy","title":"Dashy","description":"Homepage//dashy.to","sidebar":"tutorialSidebar"},"applications/dashboards/flame":{"id":"applications/dashboards/flame","title":"Flame","description":"Homepage//github.com/pawelmalak/flame","sidebar":"tutorialSidebar"},"applications/dashboards/heimdall":{"id":"applications/dashboards/heimdall","title":"Heimdall","description":"Homepage//heimdall.site","sidebar":"tutorialSidebar"},"applications/dashboards/homarr":{"id":"applications/dashboards/homarr","title":"Homarr","description":"Customizable browser\'s home page to interact with your homeserver\'s Docker containers (e.g. Sonarr/Radarr)","sidebar":"tutorialSidebar"},"applications/dashboards/homepage":{"id":"applications/dashboards/homepage","title":"Homepage","description":"Homepage//gethomepage.dev","sidebar":"tutorialSidebar"},"applications/dashboards/organizr":{"id":"applications/dashboards/organizr","title":"Organizr","description":"Homepage//organizr.app","sidebar":"tutorialSidebar"},"applications/development-tools/budibase":{"id":"applications/development-tools/budibase","title":"Budibase","description":"Low code platform for building business apps and workflows in minutes","sidebar":"tutorialSidebar"},"applications/development-tools/code-server":{"id":"applications/development-tools/code-server","title":"Code Server","description":"Homepage//code.visualstudio.com/","sidebar":"tutorialSidebar"},"applications/development-tools/drone_ci":{"id":"applications/development-tools/drone_ci","title":"Drone CI","description":"Drone is a self-service Continuous Integration platform for busy development teams.","sidebar":"tutorialSidebar"},"applications/development-tools/gitea":{"id":"applications/development-tools/gitea","title":"Gitea","description":"Homepage//gitea.io/","sidebar":"tutorialSidebar"},"applications/development-tools/gitlab":{"id":"applications/development-tools/gitlab","title":"GitLab","description":"Homepage//docs.gitlab.com/omnibus/docker/","sidebar":"tutorialSidebar"},"applications/development-tools/leantime":{"id":"applications/development-tools/leantime","title":"Leantiome","description":"Free and open source log management","sidebar":"tutorialSidebar"},"applications/development-tools/nomad":{"id":"applications/development-tools/nomad","title":"Nomad","description":"Homepage//www.nomadproject.io/","sidebar":"tutorialSidebar"},"applications/development-tools/tooljet":{"id":"applications/development-tools/tooljet","title":"ToolJet","description":"Low-code platform for building business applications.","sidebar":"tutorialSidebar"},"applications/development-tools/woodpecker_ci":{"id":"applications/development-tools/woodpecker_ci","title":"Woodpecker CI","description":"Woodpecker is a simple CI engine with great extensibility.","sidebar":"tutorialSidebar"},"applications/download-tools/bazarr":{"id":"applications/download-tools/bazarr","title":"Bazarr","description":"Homepage//github.com/morpheus65535/bazarr","sidebar":"tutorialSidebar"},"applications/download-tools/couchpotato":{"id":"applications/download-tools/couchpotato","title":"Couchpotato","description":"Homepage//couchpota.to/","sidebar":"tutorialSidebar"},"applications/download-tools/deluge":{"id":"applications/download-tools/deluge","title":"Deluge","description":"Homepage//deluge-torrent.org/","sidebar":"tutorialSidebar"},"applications/download-tools/get_iplayer":{"id":"applications/download-tools/get_iplayer","title":"Get_iPlayer","description":"Homepage//github.com/get-iplayer/getiplayer","sidebar":"tutorialSidebar"},"applications/download-tools/jackett":{"id":"applications/download-tools/jackett","title":"Jackett","description":"Homepage//github.com/Jackett/Jackett","sidebar":"tutorialSidebar"},"applications/download-tools/lazylibrarian":{"id":"applications/download-tools/lazylibrarian","title":"LazyLibrarian","description":"LazyLibrarian is a program to follow authors and grab metadata for all your digital reading needs","sidebar":"tutorialSidebar"},"applications/download-tools/lidarr":{"id":"applications/download-tools/lidarr","title":"Lidarr","description":"Homepage//lidarr.audio/","sidebar":"tutorialSidebar"},"applications/download-tools/metube":{"id":"applications/download-tools/metube","title":"MeTube","description":"Self-hosted YouTube downloader (web UI for youtube-dl / yt-dlp)","sidebar":"tutorialSidebar"},"applications/download-tools/mylar":{"id":"applications/download-tools/mylar","title":"Mylar","description":"Homepage//github.com/evilhero/mylar","sidebar":"tutorialSidebar"},"applications/download-tools/nzbget":{"id":"applications/download-tools/nzbget","title":"NZBGet","description":"Homepage//nzbget.net/","sidebar":"tutorialSidebar"},"applications/download-tools/nzbhydra2":{"id":"applications/download-tools/nzbhydra2","title":"Nzbhydra2","description":"NZBHydra 2 is a meta search for newznab indexers and torznab trackers","sidebar":"tutorialSidebar"},"applications/download-tools/ombi":{"id":"applications/download-tools/ombi","title":"Ombi","description":"Homepage//ombi.io/","sidebar":"tutorialSidebar"},"applications/download-tools/overseerr":{"id":"applications/download-tools/overseerr","title":"Overseerr","description":"Homepage//docs.overseerr.dev","sidebar":"tutorialSidebar"},"applications/download-tools/prowlarr":{"id":"applications/download-tools/prowlarr","title":"Prowlarr","description":"Homepages: prowlarr","sidebar":"tutorialSidebar"},"applications/download-tools/pyload":{"id":"applications/download-tools/pyload","title":"pyLoad","description":"Homepage//pyload.net/","sidebar":"tutorialSidebar"},"applications/download-tools/radarr":{"id":"applications/download-tools/radarr","title":"Radarr","description":"Homepage: radarr","sidebar":"tutorialSidebar"},"applications/download-tools/sabnzbd":{"id":"applications/download-tools/sabnzbd","title":"Sabnzbd","description":"Homepage//sabnzbd.org/","sidebar":"tutorialSidebar"},"applications/download-tools/sonarr":{"id":"applications/download-tools/sonarr","title":"Sonarr","description":"Homepage//sonarr.tv/","sidebar":"tutorialSidebar"},"applications/download-tools/transmission":{"id":"applications/download-tools/transmission","title":"Transmission","description":"Homepage//transmissionbt.com/","sidebar":"tutorialSidebar"},"applications/download-tools/utorrent":{"id":"applications/download-tools/utorrent","title":"uTorrent","description":"Homepage//www.utorrent.com/","sidebar":"tutorialSidebar"},"applications/download-tools/youtubedlmaterial":{"id":"applications/download-tools/youtubedlmaterial","title":"YouTubeDL-Material","description":"Homepage//github.com/Tzahi12345/YoutubeDL-Material","sidebar":"tutorialSidebar"},"applications/gaming/minecraft-bedrock-server":{"id":"applications/gaming/minecraft-bedrock-server","title":"Minecraft Bedrock Server","description":"Homepage//www.minecraft.net/","sidebar":"tutorialSidebar"},"applications/gaming/minecraft-server":{"id":"applications/gaming/minecraft-server","title":"Minecraft Server","description":"Homepage//www.minecraft.net/","sidebar":"tutorialSidebar"},"applications/gaming/minetest-server":{"id":"applications/gaming/minetest-server","title":"Minetest Server","description":"An open source voxel game engine","sidebar":"tutorialSidebar"},"applications/home-automation/ebusd":{"id":"applications/home-automation/ebusd","title":"ebusd","description":"daemon for communication with eBUS heating systems ","sidebar":"tutorialSidebar"},"applications/home-automation/esphome":{"id":"applications/home-automation/esphome","title":"ESPHome","description":"Homepage: esphome.io","sidebar":"tutorialSidebar"},"applications/home-automation/frigate":{"id":"applications/home-automation/frigate","title":"Frigate","description":"Homepage//frigate.video/","sidebar":"tutorialSidebar"},"applications/home-automation/hafusion":{"id":"applications/home-automation/hafusion","title":"HA Fusion","description":"A modern, easy-to-use and performant custom Home Assistant dashboard","sidebar":"tutorialSidebar"},"applications/home-automation/homeassistant":{"id":"applications/home-automation/homeassistant","title":"Home Assistant","description":"Homepage//www.home-assistant.io/","sidebar":"tutorialSidebar"},"applications/home-automation/homebridge":{"id":"applications/home-automation/homebridge","title":"Homebridge","description":"Homepage//github.com/nfarina/homebridge","sidebar":"tutorialSidebar"},"applications/home-automation/icbinv":{"id":"applications/home-automation/icbinv","title":"I Can\'t Believe It\'s Not Valetudo","description":"Homepage//icbinv.video/","sidebar":"tutorialSidebar"},"applications/home-automation/mosquitto":{"id":"applications/home-automation/mosquitto","title":"Mosquitto","description":"Homepage//mosquitto.org","sidebar":"tutorialSidebar"},"applications/home-automation/n8n":{"id":"applications/home-automation/n8n","title":"Nodemation (n8n)","description":"Homepage//n8n.io","sidebar":"tutorialSidebar"},"applications/home-automation/nodered":{"id":"applications/home-automation/nodered","title":"Huginn","description":"A system for building agents that perform automated tasks for you online","sidebar":"tutorialSidebar"},"applications/home-automation/openhab":{"id":"applications/home-automation/openhab","title":"openHAB","description":"Homepage//www.openhab.org/","sidebar":"tutorialSidebar"},"applications/media-serving/airsonic":{"id":"applications/media-serving/airsonic","title":"Airsonic","description":"Homepage//airsonic.github.io/","sidebar":"tutorialSidebar"},"applications/media-serving/booksonic":{"id":"applications/media-serving/booksonic","title":"Booksonic","description":"Homepage//booksonic.org/","sidebar":"tutorialSidebar"},"applications/media-serving/calibre":{"id":"applications/media-serving/calibre","title":"calibre","description":"Homepage//calibre-ebook.com","sidebar":"tutorialSidebar"},"applications/media-serving/calibre-web":{"id":"applications/media-serving/calibre-web","title":"Calibre-web","description":"Homepage//github.com/janeczku/calibre-web","sidebar":"tutorialSidebar"},"applications/media-serving/emby":{"id":"applications/media-serving/emby","title":"Emby","description":"Homepage//emby.media/","sidebar":"tutorialSidebar"},"applications/media-serving/gaps":{"id":"applications/media-serving/gaps","title":"Gaps","description":"Homepage//github.com/JasonHHouse/gaps","sidebar":"tutorialSidebar"},"applications/media-serving/invidious":{"id":"applications/media-serving/invidious","title":"Invidious","description":"an alternative front-end to YouTube ","sidebar":"tutorialSidebar"},"applications/media-serving/jellyfin":{"id":"applications/media-serving/jellyfin","title":"Jellyfin","description":"Homepage//jellyfin.org/","sidebar":"tutorialSidebar"},"applications/media-serving/kavita":{"id":"applications/media-serving/kavita","title":"Kavita","description":"Kavita is a rocket fueled self-hosted digital library","sidebar":"tutorialSidebar"},"applications/media-serving/komga":{"id":"applications/media-serving/komga","title":"Komga","description":"Homepage//komga.org/","sidebar":"tutorialSidebar"},"applications/media-serving/minidlna":{"id":"applications/media-serving/minidlna","title":"MiniDLNA","description":"Homepage//sourceforge.net/projects/minidlna/","sidebar":"tutorialSidebar"},"applications/media-serving/moviematch":{"id":"applications/media-serving/moviematch","title":"Moviematch","description":"MovieMatch for Plex","sidebar":"tutorialSidebar"},"applications/media-serving/mymediaforalexa":{"id":"applications/media-serving/mymediaforalexa","title":"My Media for Alexa","description":"Homepage//www.mymediaalexa.com/","sidebar":"tutorialSidebar"},"applications/media-serving/navidrome":{"id":"applications/media-serving/navidrome","title":"Navidrome","description":"Homepage//www.navidrome.org/","sidebar":"tutorialSidebar"},"applications/media-serving/plex":{"id":"applications/media-serving/plex","title":"Plex","description":"Homepage//www.plex.tv/","sidebar":"tutorialSidebar"},"applications/media-serving/pytivo":{"id":"applications/media-serving/pytivo","title":"PyTivo","description":"Project Homepage:","sidebar":"tutorialSidebar"},"applications/media-serving/romm":{"id":"applications/media-serving/romm","title":"Romm","description":"Homepage//github.com/zurdi15/romm","sidebar":"tutorialSidebar"},"applications/media-serving/tautulli":{"id":"applications/media-serving/tautulli","title":"Tautulli","description":"Homepage//tautulli.com/","sidebar":"tutorialSidebar"},"applications/media-serving/threadfin":{"id":"applications/media-serving/threadfin","title":"Threadfin","description":"Homepage//github.com/Threadfin/Threadfin","sidebar":"tutorialSidebar"},"applications/media-serving/ubooquity":{"id":"applications/media-serving/ubooquity","title":"Ubooquity","description":"Homepage//vaemendis.net/ubooquity/","sidebar":"tutorialSidebar"},"applications/monitoring/glances":{"id":"applications/monitoring/glances","title":"Glances","description":"Homepage//nicolargo.github.io/glances/","sidebar":"tutorialSidebar"},"applications/monitoring/graylog":{"id":"applications/monitoring/graylog","title":"Graylog","description":"Free and open source log management","sidebar":"tutorialSidebar"},"applications/monitoring/librespeed":{"id":"applications/monitoring/librespeed","title":"Librespeed","description":"Free and Open Source Speedtest","sidebar":"tutorialSidebar"},"applications/monitoring/speedtest":{"id":"applications/monitoring/speedtest","title":"Speedtest-Tracker","description":"Homepage//github.com/henrywhitaker3/Speedtest-Tracker","sidebar":"tutorialSidebar"},"applications/monitoring/stats":{"id":"applications/monitoring/stats","title":"Stats","description":"The stats role uses Prometheus (or Influxdb), Grafana, Telegraf and a number of metrics exporters to collect and record lots of metrics about your NAS.","sidebar":"tutorialSidebar"},"applications/monitoring/wireshark":{"id":"applications/monitoring/wireshark","title":"Wireshark","description":"Homepage//www.wireshark.org/","sidebar":"tutorialSidebar"},"applications/news/commafeed":{"id":"applications/news/commafeed","title":"CommaFeed","description":"Google Reader inspired self-hosted RSS reader","sidebar":"tutorialSidebar"},"applications/news/freshrss":{"id":"applications/news/freshrss","title":"FreshRSS","description":"Homepage//freshrss.org/","sidebar":"tutorialSidebar"},"applications/news/libreddit":{"id":"applications/news/libreddit","title":"Libreddit","description":"An alternative private front-end to Reddit","sidebar":"tutorialSidebar"},"applications/news/miniflux":{"id":"applications/news/miniflux","title":"Miniflux","description":"Homepage//miniflux.app/","sidebar":"tutorialSidebar"},"applications/news/rssbridge":{"id":"applications/news/rssbridge","title":"RSS-Bridge","description":"Homepage//rss-bridge.github.io/rss-bridge/","sidebar":"tutorialSidebar"},"applications/news/ttrss":{"id":"applications/news/ttrss","title":"Tt-rss","description":"Free and open source web-based news feed reader","sidebar":"tutorialSidebar"},"applications/observability/grafana":{"id":"applications/observability/grafana","title":"Grafana","description":"Homepage//grafana.com/","sidebar":"tutorialSidebar"},"applications/other/activepieces":{"id":"applications/other/activepieces","title":"Activepieces","description":"An open source all-in-one automation tool","sidebar":"tutorialSidebar"},"applications/other/admidio":{"id":"applications/other/admidio","title":"Admidio","description":"Free online membership management","sidebar":"tutorialSidebar"},"applications/other/authelia":{"id":"applications/other/authelia","title":"Authelia","description":"Homepage//www.authelia.com/","sidebar":"tutorialSidebar"},"applications/other/authentik":{"id":"applications/other/authentik","title":"Authentik","description":"Homepage//goauthentik.io","sidebar":"tutorialSidebar"},"applications/other/barcodebuddy":{"id":"applications/other/barcodebuddy","title":"Barcode Buddy","description":"Homepage//github.com/Forceu/barcodebuddy/","sidebar":"tutorialSidebar"},"applications/other/beets":{"id":"applications/other/beets","title":"Beets","description":"Homepage//beets.io/","sidebar":"tutorialSidebar"},"applications/other/blaze":{"id":"applications/other/blaze","title":"Blaze","description":"File sharing progressive web app","sidebar":"tutorialSidebar"},"applications/other/changedetection":{"id":"applications/other/changedetection","title":"Changedetection.io","description":"Free open source website change detection, monitor and notification service","sidebar":"tutorialSidebar"},"applications/other/chatpad":{"id":"applications/other/chatpad","title":"Chatpad","description":"Not just another ChatGPT user-interface!","sidebar":"tutorialSidebar"},"applications/other/chatwoot":{"id":"applications/other/chatwoot","title":"Chatwoot","description":"About Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. \ud83d\udd25\ud83d\udcac","sidebar":"tutorialSidebar"},"applications/other/claper":{"id":"applications/other/claper","title":"Claper","description":"Homepage//claper.co/","sidebar":"tutorialSidebar"},"applications/other/dufs":{"id":"applications/other/dufs","title":"Dufs","description":"Distinctive utility file server","sidebar":"tutorialSidebar"},"applications/other/exaclidraw":{"id":"applications/other/exaclidraw","title":"Excalidraw","description":"Virtual whiteboard for sketching hand-drawn like diagrams","sidebar":"tutorialSidebar"},"applications/other/firefly":{"id":"applications/other/firefly","title":"Firefly III","description":"Homepage//firefly-iii.org/","sidebar":"tutorialSidebar"},"applications/other/flarum":{"id":"applications/other/flarum","title":"Flarum","description":"Homepage//flarum.org/","sidebar":"tutorialSidebar"},"applications/other/formbricks":{"id":"applications/other/formbricks","title":"Formbricks","description":"Open Source Survey Platform.","sidebar":"tutorialSidebar"},"applications/other/formio":{"id":"applications/other/formio","title":"FormIO","description":"A Form and Data Management Platform for Progressive Web Applications.","sidebar":"tutorialSidebar"},"applications/other/gotify":{"id":"applications/other/gotify","title":"Gotify","description":"Homepage//gotify.net/","sidebar":"tutorialSidebar"},"applications/other/grocy":{"id":"applications/other/grocy","title":"Grocy","description":"Homepage//grocy.info/","sidebar":"tutorialSidebar"},"applications/other/guacamole":{"id":"applications/other/guacamole","title":"Guacamole","description":"Homepage//guacamole.apache.org/","sidebar":"tutorialSidebar"},"applications/other/hello_world":{"id":"applications/other/hello_world","title":"Hello World","description":"Homepage//www.example.com/","sidebar":"tutorialSidebar"},"applications/other/heyform":{"id":"applications/other/heyform","title":"Heyform","description":"HeyForm is an open-source form builder that allows anyone to create engaging conversational forms for surveys, questionnaires, quizzes, and polls. No coding skills required.","sidebar":"tutorialSidebar"},"applications/other/homepage":{"id":"applications/other/homepage","title":"Homepage","description":"A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations. ","sidebar":"tutorialSidebar"},"applications/other/huginn":{"id":"applications/other/huginn","title":"Huginn","description":"A system for building agents that perform automated tasks for you online","sidebar":"tutorialSidebar"},"applications/other/immich":{"id":"applications/other/immich","title":"Immich","description":"Homepage//immich.app/","sidebar":"tutorialSidebar"},"applications/other/input":{"id":"applications/other/input","title":"Input","description":"A privacy-focused, no-code, open-source form builder.","sidebar":"tutorialSidebar"},"applications/other/keycloak":{"id":"applications/other/keycloak","title":"Keycloak","description":"Open Source Identity and Access Management","sidebar":"tutorialSidebar"},"applications/other/librephotos":{"id":"applications/other/librephotos","title":"Librephotos","description":"A self-hosted open source photo management service","sidebar":"tutorialSidebar"},"applications/other/libretranslate":{"id":"applications/other/libretranslate","title":"LibreTranslate","description":"Free and Open Source Machine Translation API","sidebar":"tutorialSidebar"},"applications/other/linkding":{"id":"applications/other/linkding","title":"Linkding","description":"Self-hosted bookmark service","sidebar":"tutorialSidebar"},"applications/other/linkwarden":{"id":"applications/other/linkwarden","title":"Linkwarden","description":"Linkwarden is a fully self-hostable, open-source collaborative bookmark manager to collect, organize and archive webpages","sidebar":"tutorialSidebar"},"applications/other/listmonk":{"id":"applications/other/listmonk","title":"Listmonk","description":"Newsletter and mailing list manager","sidebar":"tutorialSidebar"},"applications/other/littlelink":{"id":"applications/other/littlelink","title":"Littlelink-server","description":"Self-hosted alternative to linktree","sidebar":"tutorialSidebar"},"applications/other/livehelperchat":{"id":"applications/other/livehelperchat","title":"LiveHelperChat","description":"Live support for your website. Featuring web and mobile apps, Voice & Video & ScreenShare","sidebar":"tutorialSidebar"},"applications/other/lubelogger":{"id":"applications/other/lubelogger","title":"LubeLogger","description":"LubeLogger is a web-based vehicle maintenance and fuel mileage tracker","sidebar":"tutorialSidebar"},"applications/other/mantium":{"id":"applications/other/mantium","title":"Mantium","description":"Mantium is a dashboard for tracking mangas from multiple source sites, like Mangadex and ComicK.","sidebar":"tutorialSidebar"},"applications/other/mattermost":{"id":"applications/other/mattermost","title":"Mattermost","description":"An open source platform for secure collaboration across the entire software development lifecycle","sidebar":"tutorialSidebar"},"applications/other/mealie":{"id":"applications/other/mealie","title":"Mealie","description":"Homepage//docs.mealie.io/","sidebar":"tutorialSidebar"},"applications/other/miniserve":{"id":"applications/other/miniserve","title":"Miniserve","description":"CLI tool to serve files and dirs over HTTP","sidebar":"tutorialSidebar"},"applications/other/mumble":{"id":"applications/other/mumble","title":"Mumble","description":"Homepage//www.mumble.info/","sidebar":"tutorialSidebar"},"applications/other/neko":{"id":"applications/other/neko","title":"n.eko","description":"A self hosted virtual browser that runs in docker and uses WebRTC.","sidebar":"tutorialSidebar"},"applications/other/nextcloud":{"id":"applications/other/nextcloud","title":"Nextcloud","description":"Homepage//nextcloud.com","sidebar":"tutorialSidebar"},"applications/other/octoprint":{"id":"applications/other/octoprint","title":"Octoprint","description":"Homepage//octoprint.org/","sidebar":"tutorialSidebar"},"applications/other/olivetin":{"id":"applications/other/olivetin","title":"OliveTin","description":"Safe and simple access to predefined shell commands","sidebar":"tutorialSidebar"},"applications/other/openbooks":{"id":"applications/other/openbooks","title":"Openbooks","description":"Search and Download eBooks ","sidebar":"tutorialSidebar"},"applications/other/openresume":{"id":"applications/other/openresume","title":"Open-resume","description":"A powerful open-source resume builder and resume parser","sidebar":"tutorialSidebar"},"applications/other/overleaf":{"id":"applications/other/overleaf","title":"Overleaf","description":"Open-source online real-time collaborative LaTeX editor","sidebar":"tutorialSidebar"},"applications/other/paperless_ng":{"id":"applications/other/paperless_ng","title":"Paperless-ng","description":"Homepage//github.com/jonaswinkler/paperless-ng","sidebar":"tutorialSidebar"},"applications/other/photofield":{"id":"applications/other/photofield","title":"Photofield","description":"Experimental fast photo viewer","sidebar":"tutorialSidebar"},"applications/other/photoprism":{"id":"applications/other/photoprism","title":"Photoprism","description":"AI-Powered Photos App for the Decentralized Web","sidebar":"tutorialSidebar"},"applications/other/photostructure":{"id":"applications/other/photostructure","title":"PhotoStructure","description":"Your new home for all your photos & videos","sidebar":"tutorialSidebar"},"applications/other/piwigo":{"id":"applications/other/piwigo","title":"Piwigo","description":"Homepage: Piwigo.org","sidebar":"tutorialSidebar"},"applications/other/rallly":{"id":"applications/other/rallly","title":"Rallly","description":"Rallly is an open-source scheduling and collaboration tool designed to make organizing events and meetings easier.","sidebar":"tutorialSidebar"},"applications/other/readeck":{"id":"applications/other/readeck","title":"Readeck","description":"Readeck is a simple web application that lets you save the precious readable content of web pages you like and want to keep forever.","sidebar":"tutorialSidebar"},"applications/other/releasebell":{"id":"applications/other/releasebell","title":"Releasebell","description":"Starred GitHub repositories notifications","sidebar":"tutorialSidebar"},"applications/other/seafile":{"id":"applications/other/seafile","title":"Restic","description":"High performance file syncing and sharing solution","sidebar":"tutorialSidebar"},"applications/other/searxng":{"id":"applications/other/searxng","title":"SearxNG","description":"Free internet metasearch engine","sidebar":"tutorialSidebar"},"applications/other/shaarli":{"id":"applications/other/shaarli","title":"Shaarli","description":"Personal, minimalist, super-fast, database free, bookmarking service","sidebar":"tutorialSidebar"},"applications/other/silverbullet":{"id":"applications/other/silverbullet","title":"Silverbullet","description":"Homepage//silverbullet.md","sidebar":"tutorialSidebar"},"applications/other/stirlingpdf":{"id":"applications/other/stirlingpdf","title":"Stirling-PDF","description":"Locally hosted web application that allows you to perform various operations on PDF files ","sidebar":"tutorialSidebar"},"applications/other/thelounge":{"id":"applications/other/thelounge","title":"The Lounge","description":"Homepage//thelounge.chat/","sidebar":"tutorialSidebar"},"applications/other/traefik":{"id":"applications/other/traefik","title":"Traefik","description":"Homepage//traefik.io","sidebar":"tutorialSidebar"},"applications/other/vaultwarden":{"id":"applications/other/vaultwarden","title":"Vaultwarden","description":"Homepage//github.com/dani-garcia/vaultwarden","sidebar":"tutorialSidebar"},"applications/other/virtual_desktop":{"id":"applications/other/virtual_desktop","title":"Virtual Desktop","description":"It\'s possible to run a cut down desktop within a Docker container. We use RattyDAVE\'s custom Ubuntu Mate image.","sidebar":"tutorialSidebar"},"applications/other/wallabag":{"id":"applications/other/wallabag","title":"Wallabag","description":"Homepage//www.wallabag.org/","sidebar":"tutorialSidebar"},"applications/other/wallos":{"id":"applications/other/wallos","title":"Wallos","description":"Open-Source Personal Subscription Tracker","sidebar":"tutorialSidebar"},"applications/other/wanderer":{"id":"applications/other/wanderer","title":"Wanderer","description":"a self-hosted trail database","sidebar":"tutorialSidebar"},"applications/other/webtrees":{"id":"applications/other/webtrees","title":"Webtres","description":"On-line collaborative genealogy application","sidebar":"tutorialSidebar"},"applications/other/wger":{"id":"applications/other/wger","title":"Wger","description":"free, open source workout manager","sidebar":"tutorialSidebar"},"applications/other/whoogle":{"id":"applications/other/whoogle","title":"Whoogle","description":"Self-hosted, ad-free, privacy-respecting metasearch engine","sidebar":"tutorialSidebar"},"applications/other/wishthis":{"id":"applications/other/wishthis","title":"Wishthis","description":"Simple, intuitive and modern wishlist platform","sidebar":"tutorialSidebar"},"applications/stacks/logging":{"id":"applications/stacks/logging","title":"Logging","description":"The logging stack sets up a fully functional application logging capture and search service based on Loki, viewable via Grafana.","sidebar":"tutorialSidebar"},"applications/system-tools/blocky":{"id":"applications/system-tools/blocky","title":"Blocky","description":"Fast and lightweight DNS proxy as ad-blocker","sidebar":"tutorialSidebar"},"applications/system-tools/cloudcmd":{"id":"applications/system-tools/cloudcmd","title":"Cloud Commander","description":"Homepage//cloudcmd.io/","sidebar":"tutorialSidebar"},"applications/system-tools/cloudflare_ddns":{"id":"applications/system-tools/cloudflare_ddns","title":"Cloudflare DDNS","description":"Homepage//github.com/joshuaavalon/docker-cloudflare","sidebar":"tutorialSidebar"},"applications/system-tools/ddns_updater":{"id":"applications/system-tools/ddns_updater","title":"DDNS Updater","description":"Lightweight universal DDNS Updater with a web UI.","sidebar":"tutorialSidebar"},"applications/system-tools/dockge":{"id":"applications/system-tools/dockge","title":"Dockge","description":"A fancy self-hosted docker compose manager ","sidebar":"tutorialSidebar"},"applications/system-tools/duplicacy":{"id":"applications/system-tools/duplicacy","title":"Duplicacy","description":"Homepage//duplicacy.com/","sidebar":"tutorialSidebar"},"applications/system-tools/duplicati":{"id":"applications/system-tools/duplicati","title":"Duplicati","description":"Homepage//www.duplicati.com/","sidebar":"tutorialSidebar"},"applications/system-tools/healthchecks.io":{"id":"applications/system-tools/healthchecks.io","title":"Healthchecks.io","description":"Homepage//healthchecks.io/","sidebar":"tutorialSidebar"},"applications/system-tools/krusader":{"id":"applications/system-tools/krusader","title":"Krusader","description":"Homepage//krusader.org/","sidebar":"tutorialSidebar"},"applications/system-tools/lldap":{"id":"applications/system-tools/lldap","title":"Light LDAP","description":"Light LDAP implementation","sidebar":"tutorialSidebar"},"applications/system-tools/loki":{"id":"applications/system-tools/loki","title":"Loki","description":"Homepage//grafana.com/oss/loki/","sidebar":"tutorialSidebar"},"applications/system-tools/mergerfs":{"id":"applications/system-tools/mergerfs","title":"Mergerfs","description":"Homepage//github.com/trapexit/mergerfs","sidebar":"tutorialSidebar"},"applications/system-tools/minio":{"id":"applications/system-tools/minio","title":"Minio","description":"Homepage//min.io/","sidebar":"tutorialSidebar"},"applications/system-tools/mysql":{"id":"applications/system-tools/mysql","title":"MySql","description":"The world\'s most popular open source database","sidebar":"tutorialSidebar"},"applications/system-tools/netbootxyz":{"id":"applications/system-tools/netbootxyz","title":"netboot.xyz","description":"Homepage//netboot.xyz/","sidebar":"tutorialSidebar"},"applications/system-tools/netbox":{"id":"applications/system-tools/netbox","title":"NetBox","description":"The source of truth for everything on your network","sidebar":"tutorialSidebar"},"applications/system-tools/openldap":{"id":"applications/system-tools/openldap","title":"OpenLDAP","description":"OpenLDAP is the open-source solution for LDAP","sidebar":"tutorialSidebar"},"applications/system-tools/phpmyadmin":{"id":"applications/system-tools/phpmyadmin","title":"phpMyAdmin","description":"MySQL/MariaDB administration tool","sidebar":"tutorialSidebar"},"applications/system-tools/portainer":{"id":"applications/system-tools/portainer","title":"Portainer","description":"Homepage//docs.portainer.io/start/install/server/docker","sidebar":"tutorialSidebar"},"applications/system-tools/promtail":{"id":"applications/system-tools/promtail","title":"Promtail","description":"Homepage//grafana.com/docs/loki/latest/clients/promtail/","sidebar":"tutorialSidebar"},"applications/system-tools/rclone":{"id":"applications/system-tools/rclone","title":"Rclone","description":"Homepage//rclone.org","sidebar":"tutorialSidebar"},"applications/system-tools/restic":{"id":"applications/system-tools/restic","title":"Restic","description":"A modern backup program","sidebar":"tutorialSidebar"},"applications/system-tools/route53_ddns":{"id":"applications/system-tools/route53_ddns","title":"AWS Route53 Dynamic DNS Updater","description":"ddns-route53//crazymax.dev/ddns-route53/","sidebar":"tutorialSidebar"},"applications/system-tools/snipeit":{"id":"applications/system-tools/snipeit","title":"Snipe-IT","description":"A free open source IT asset/license management system","sidebar":"tutorialSidebar"},"applications/system-tools/syncthing":{"id":"applications/system-tools/syncthing","title":"Syncthing","description":"Homepage//syncthing.net/","sidebar":"tutorialSidebar"},"applications/system-tools/timemachine":{"id":"applications/system-tools/timemachine","title":"Time Machine","description":"Apple docs//support.apple.com/en-us/HT201250","sidebar":"tutorialSidebar"},"applications/system-tools/watchtower":{"id":"applications/system-tools/watchtower","title":"Watchtower","description":"Homepage//github.com/v2tec/watchtower","sidebar":"tutorialSidebar"},"applications/system-tools/whatsupdocker":{"id":"applications/system-tools/whatsupdocker","title":"Whats-up-Docker","description":"Docker container update notifier","sidebar":"tutorialSidebar"},"contributing/add-an-application":{"id":"contributing/add-an-application","title":"Add An Application","description":"Adding a new application to Ansible-NAS is easy! First, set up your development environment.","sidebar":"tutorialSidebar"},"contributing/development-environment":{"id":"contributing/development-environment","title":"Development Environment","description":"A little setup is required to ensure that you can develop and test Ansible-NAS contributions.","sidebar":"tutorialSidebar"},"further-configuration/hardware":{"id":"further-configuration/hardware","title":"Hardware","description":"Ansible-NAS will run against any Ubuntu box, a Raspberry Pi 4, or even a VM if you\'re just testing things out. The hardware you pick for Ansible-NAS depends largely on what you intend to do with your server - and is very much a \\"how long is a piece of string\\" type question.","sidebar":"tutorialSidebar"},"further-configuration/migrating-from-freenas":{"id":"further-configuration/migrating-from-freenas","title":"Migrating from FreeNAS","description":"FreeNAS uses ZFS as it\'s core storage filesystem. ZFS on Linux is supported natively in Ubuntu, so importing FreeNAS zpools is easy.","sidebar":"tutorialSidebar"},"further-configuration/nfs-exports":{"id":"further-configuration/nfs-exports","title":"NFS Exports","description":"Ansible-NAS uses the awesome geerlingguy.nfs Ansible role to configure NFS exports.","sidebar":"tutorialSidebar"},"further-configuration/samba-shares":{"id":"further-configuration/samba-shares","title":"Samba Shares","description":"Ansible-NAS uses the awesome bertvv.samba Ansible role to configure Samba - check out the project page for the many different options you can use to configure a share.","sidebar":"tutorialSidebar"},"getting-started/configure-dashboard":{"id":"getting-started/configure-dashboard","title":"Configure A Dashboard","description":"Once you start to enable a few applications, it becomes difficult to remember the addresses of where to find them.","sidebar":"tutorialSidebar"},"getting-started/enabling-applications":{"id":"getting-started/enabling-applications","title":"Enabling Applications","description":"Ansible-NAS takes advantage of Ansible\'s prescendence rules to enable and disable applications.","sidebar":"tutorialSidebar"},"getting-started/external-access":{"id":"getting-started/external-access","title":"External Access","description":"There are a number of steps required to enable external access to the applications running on your NAS:","sidebar":"tutorialSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Installation","description":"Ansible-NAS is an Ansible playbook that sets up applications of your choice on your home server.","sidebar":"tutorialSidebar"},"index":{"id":"index","title":"Introduction","description":"After getting burned by broken FreeNAS updates one too many times, I figured I could do a much better job myself using just a stock Ubuntu install, some clever Ansible config and a bunch of Docker containers. Ansible-NAS was born!","sidebar":"tutorialSidebar"},"support":{"id":"support","title":"Support","description":"Getting support for Ansible-NAS is easy!","sidebar":"tutorialSidebar"},"upgrading":{"id":"upgrading","title":"Upgrading","description":"Upgrading consists of two steps - firstly updating the Ansible-NAS code on your Ansible control node, and then running the playbook against your Ubuntu server.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.a16a1737.js b/assets/js/935f2afb.a16a1737.js new file mode 100644 index 0000000000..be38cf577e --- /dev/null +++ b/assets/js/935f2afb.a16a1737.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkansible_nas=self.webpackChunkansible_nas||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/ansible-nas/docs/","docId":"index","unlisted":false},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/ansible-nas/docs/getting-started/installation","docId":"getting-started/installation","unlisted":false},{"type":"link","label":"Enabling Applications","href":"/ansible-nas/docs/getting-started/enabling-applications","docId":"getting-started/enabling-applications","unlisted":false},{"type":"link","label":"Configure A Dashboard","href":"/ansible-nas/docs/getting-started/configure-dashboard","docId":"getting-started/configure-dashboard","unlisted":false},{"type":"link","label":"External Access","href":"/ansible-nas/docs/getting-started/external-access","docId":"getting-started/external-access","unlisted":false}],"href":"/ansible-nas/docs/category/getting-started"},{"type":"category","label":"Applications","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Content Management","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Affine","href":"/ansible-nas/docs/applications/content-management/affine","docId":"applications/content-management/affine","unlisted":false},{"type":"link","label":"Dokuwiki","href":"/ansible-nas/docs/applications/content-management/dokuwiki","docId":"applications/content-management/dokuwiki","unlisted":false},{"type":"link","label":"Evershop","href":"/ansible-nas/docs/applications/content-management/evershop","docId":"applications/content-management/evershop","unlisted":false},{"type":"link","label":"Flatnotes","href":"/ansible-nas/docs/applications/content-management/flatnotes","docId":"applications/content-management/flatnotes","unlisted":false},{"type":"link","label":"Ghost","href":"/ansible-nas/docs/applications/content-management/ghost","docId":"applications/content-management/ghost","unlisted":false},{"type":"link","label":"Huly Platform","href":"/ansible-nas/docs/applications/content-management/huly","docId":"applications/content-management/huly","unlisted":false},{"type":"link","label":"Huntly","href":"/ansible-nas/docs/applications/content-management/huntly","docId":"applications/content-management/huntly","unlisted":false},{"type":"link","label":"Joomla","href":"/ansible-nas/docs/applications/content-management/joomla","docId":"applications/content-management/joomla","unlisted":false},{"type":"link","label":"Memos","href":"/ansible-nas/docs/applications/content-management/memos","docId":"applications/content-management/memos","unlisted":false},{"type":"link","label":"Obsidian","href":"/ansible-nas/docs/applications/content-management/obsidian","docId":"applications/content-management/obsidian","unlisted":false},{"type":"link","label":"Outline","href":"/ansible-nas/docs/applications/content-management/outline","docId":"applications/content-management/outline","unlisted":false},{"type":"link","label":"Ryot","href":"/ansible-nas/docs/applications/content-management/ryot","docId":"applications/content-management/ryot","unlisted":false},{"type":"link","label":"Servas","href":"/ansible-nas/docs/applications/content-management/servas","docId":"applications/content-management/servas","unlisted":false},{"type":"link","label":"Siyuan","href":"/ansible-nas/docs/applications/content-management/siyuan","docId":"applications/content-management/siyuan","unlisted":false},{"type":"link","label":"Standard Notes","href":"/ansible-nas/docs/applications/content-management/standardnotes","docId":"applications/content-management/standardnotes","unlisted":false},{"type":"link","label":"TiddlyWiki","href":"/ansible-nas/docs/applications/content-management/tiddlywiki","docId":"applications/content-management/tiddlywiki","unlisted":false},{"type":"link","label":"Trilium","href":"/ansible-nas/docs/applications/content-management/trilium","docId":"applications/content-management/trilium","unlisted":false},{"type":"link","label":"Twenty CMS","href":"/ansible-nas/docs/applications/content-management/twenty","docId":"applications/content-management/twenty","unlisted":false}],"href":"/ansible-nas/docs/category/content-management"},{"type":"category","label":"Dashboards","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Dashy","href":"/ansible-nas/docs/applications/dashboards/dashy","docId":"applications/dashboards/dashy","unlisted":false},{"type":"link","label":"Flame","href":"/ansible-nas/docs/applications/dashboards/flame","docId":"applications/dashboards/flame","unlisted":false},{"type":"link","label":"Heimdall","href":"/ansible-nas/docs/applications/dashboards/heimdall","docId":"applications/dashboards/heimdall","unlisted":false},{"type":"link","label":"Homarr","href":"/ansible-nas/docs/applications/dashboards/homarr","docId":"applications/dashboards/homarr","unlisted":false},{"type":"link","label":"Homepage","href":"/ansible-nas/docs/applications/dashboards/homepage","docId":"applications/dashboards/homepage","unlisted":false},{"type":"link","label":"Organizr","href":"/ansible-nas/docs/applications/dashboards/organizr","docId":"applications/dashboards/organizr","unlisted":false}],"href":"/ansible-nas/docs/category/dashboards"},{"type":"category","label":"Development Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Budibase","href":"/ansible-nas/docs/applications/development-tools/budibase","docId":"applications/development-tools/budibase","unlisted":false},{"type":"link","label":"Code Server","href":"/ansible-nas/docs/applications/development-tools/code-server","docId":"applications/development-tools/code-server","unlisted":false},{"type":"link","label":"Drone CI","href":"/ansible-nas/docs/applications/development-tools/drone_ci","docId":"applications/development-tools/drone_ci","unlisted":false},{"type":"link","label":"Gitea","href":"/ansible-nas/docs/applications/development-tools/gitea","docId":"applications/development-tools/gitea","unlisted":false},{"type":"link","label":"GitLab","href":"/ansible-nas/docs/applications/development-tools/gitlab","docId":"applications/development-tools/gitlab","unlisted":false},{"type":"link","label":"Leantiome","href":"/ansible-nas/docs/applications/development-tools/leantime","docId":"applications/development-tools/leantime","unlisted":false},{"type":"link","label":"Nomad","href":"/ansible-nas/docs/applications/development-tools/nomad","docId":"applications/development-tools/nomad","unlisted":false},{"type":"link","label":"ToolJet","href":"/ansible-nas/docs/applications/development-tools/tooljet","docId":"applications/development-tools/tooljet","unlisted":false},{"type":"link","label":"Woodpecker CI","href":"/ansible-nas/docs/applications/development-tools/woodpecker_ci","docId":"applications/development-tools/woodpecker_ci","unlisted":false}],"href":"/ansible-nas/docs/category/development-tools"},{"type":"category","label":"Download Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Bazarr","href":"/ansible-nas/docs/applications/download-tools/bazarr","docId":"applications/download-tools/bazarr","unlisted":false},{"type":"link","label":"Couchpotato","href":"/ansible-nas/docs/applications/download-tools/couchpotato","docId":"applications/download-tools/couchpotato","unlisted":false},{"type":"link","label":"Deluge","href":"/ansible-nas/docs/applications/download-tools/deluge","docId":"applications/download-tools/deluge","unlisted":false},{"type":"link","label":"Get_iPlayer","href":"/ansible-nas/docs/applications/download-tools/get_iplayer","docId":"applications/download-tools/get_iplayer","unlisted":false},{"type":"link","label":"Jackett","href":"/ansible-nas/docs/applications/download-tools/jackett","docId":"applications/download-tools/jackett","unlisted":false},{"type":"link","label":"LazyLibrarian","href":"/ansible-nas/docs/applications/download-tools/lazylibrarian","docId":"applications/download-tools/lazylibrarian","unlisted":false},{"type":"link","label":"Lidarr","href":"/ansible-nas/docs/applications/download-tools/lidarr","docId":"applications/download-tools/lidarr","unlisted":false},{"type":"link","label":"MeTube","href":"/ansible-nas/docs/applications/download-tools/metube","docId":"applications/download-tools/metube","unlisted":false},{"type":"link","label":"Mylar","href":"/ansible-nas/docs/applications/download-tools/mylar","docId":"applications/download-tools/mylar","unlisted":false},{"type":"link","label":"NZBGet","href":"/ansible-nas/docs/applications/download-tools/nzbget","docId":"applications/download-tools/nzbget","unlisted":false},{"type":"link","label":"Nzbhydra2","href":"/ansible-nas/docs/applications/download-tools/nzbhydra2","docId":"applications/download-tools/nzbhydra2","unlisted":false},{"type":"link","label":"Ombi","href":"/ansible-nas/docs/applications/download-tools/ombi","docId":"applications/download-tools/ombi","unlisted":false},{"type":"link","label":"Overseerr","href":"/ansible-nas/docs/applications/download-tools/overseerr","docId":"applications/download-tools/overseerr","unlisted":false},{"type":"link","label":"Prowlarr","href":"/ansible-nas/docs/applications/download-tools/prowlarr","docId":"applications/download-tools/prowlarr","unlisted":false},{"type":"link","label":"pyLoad","href":"/ansible-nas/docs/applications/download-tools/pyload","docId":"applications/download-tools/pyload","unlisted":false},{"type":"link","label":"Radarr","href":"/ansible-nas/docs/applications/download-tools/radarr","docId":"applications/download-tools/radarr","unlisted":false},{"type":"link","label":"Sabnzbd","href":"/ansible-nas/docs/applications/download-tools/sabnzbd","docId":"applications/download-tools/sabnzbd","unlisted":false},{"type":"link","label":"Sonarr","href":"/ansible-nas/docs/applications/download-tools/sonarr","docId":"applications/download-tools/sonarr","unlisted":false},{"type":"link","label":"Transmission","href":"/ansible-nas/docs/applications/download-tools/transmission","docId":"applications/download-tools/transmission","unlisted":false},{"type":"link","label":"uTorrent","href":"/ansible-nas/docs/applications/download-tools/utorrent","docId":"applications/download-tools/utorrent","unlisted":false},{"type":"link","label":"YouTubeDL-Material","href":"/ansible-nas/docs/applications/download-tools/youtubedlmaterial","docId":"applications/download-tools/youtubedlmaterial","unlisted":false}],"href":"/ansible-nas/docs/category/download-tools"},{"type":"category","label":"Gaming","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Minecraft Bedrock Server","href":"/ansible-nas/docs/applications/gaming/minecraft-bedrock-server","docId":"applications/gaming/minecraft-bedrock-server","unlisted":false},{"type":"link","label":"Minecraft Server","href":"/ansible-nas/docs/applications/gaming/minecraft-server","docId":"applications/gaming/minecraft-server","unlisted":false},{"type":"link","label":"Minetest Server","href":"/ansible-nas/docs/applications/gaming/minetest-server","docId":"applications/gaming/minetest-server","unlisted":false}],"href":"/ansible-nas/docs/category/gaming"},{"type":"category","label":"Home Automation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ebusd","href":"/ansible-nas/docs/applications/home-automation/ebusd","docId":"applications/home-automation/ebusd","unlisted":false},{"type":"link","label":"ESPHome","href":"/ansible-nas/docs/applications/home-automation/esphome","docId":"applications/home-automation/esphome","unlisted":false},{"type":"link","label":"Frigate","href":"/ansible-nas/docs/applications/home-automation/frigate","docId":"applications/home-automation/frigate","unlisted":false},{"type":"link","label":"HA Fusion","href":"/ansible-nas/docs/applications/home-automation/hafusion","docId":"applications/home-automation/hafusion","unlisted":false},{"type":"link","label":"Home Assistant","href":"/ansible-nas/docs/applications/home-automation/homeassistant","docId":"applications/home-automation/homeassistant","unlisted":false},{"type":"link","label":"Homebridge","href":"/ansible-nas/docs/applications/home-automation/homebridge","docId":"applications/home-automation/homebridge","unlisted":false},{"type":"link","label":"I Can\'t Believe It\'s Not Valetudo","href":"/ansible-nas/docs/applications/home-automation/icbinv","docId":"applications/home-automation/icbinv","unlisted":false},{"type":"link","label":"Mosquitto","href":"/ansible-nas/docs/applications/home-automation/mosquitto","docId":"applications/home-automation/mosquitto","unlisted":false},{"type":"link","label":"Nodemation (n8n)","href":"/ansible-nas/docs/applications/home-automation/n8n","docId":"applications/home-automation/n8n","unlisted":false},{"type":"link","label":"Huginn","href":"/ansible-nas/docs/applications/home-automation/nodered","docId":"applications/home-automation/nodered","unlisted":false},{"type":"link","label":"openHAB","href":"/ansible-nas/docs/applications/home-automation/openhab","docId":"applications/home-automation/openhab","unlisted":false}],"href":"/ansible-nas/docs/category/home-automation"},{"type":"category","label":"Media Serving","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Airsonic","href":"/ansible-nas/docs/applications/media-serving/airsonic","docId":"applications/media-serving/airsonic","unlisted":false},{"type":"link","label":"Booksonic","href":"/ansible-nas/docs/applications/media-serving/booksonic","docId":"applications/media-serving/booksonic","unlisted":false},{"type":"link","label":"Calibre-web","href":"/ansible-nas/docs/applications/media-serving/calibre-web","docId":"applications/media-serving/calibre-web","unlisted":false},{"type":"link","label":"calibre","href":"/ansible-nas/docs/applications/media-serving/calibre","docId":"applications/media-serving/calibre","unlisted":false},{"type":"link","label":"Emby","href":"/ansible-nas/docs/applications/media-serving/emby","docId":"applications/media-serving/emby","unlisted":false},{"type":"link","label":"Gaps","href":"/ansible-nas/docs/applications/media-serving/gaps","docId":"applications/media-serving/gaps","unlisted":false},{"type":"link","label":"Invidious","href":"/ansible-nas/docs/applications/media-serving/invidious","docId":"applications/media-serving/invidious","unlisted":false},{"type":"link","label":"Jellyfin","href":"/ansible-nas/docs/applications/media-serving/jellyfin","docId":"applications/media-serving/jellyfin","unlisted":false},{"type":"link","label":"Kavita","href":"/ansible-nas/docs/applications/media-serving/kavita","docId":"applications/media-serving/kavita","unlisted":false},{"type":"link","label":"Komga","href":"/ansible-nas/docs/applications/media-serving/komga","docId":"applications/media-serving/komga","unlisted":false},{"type":"link","label":"MiniDLNA","href":"/ansible-nas/docs/applications/media-serving/minidlna","docId":"applications/media-serving/minidlna","unlisted":false},{"type":"link","label":"Moviematch","href":"/ansible-nas/docs/applications/media-serving/moviematch","docId":"applications/media-serving/moviematch","unlisted":false},{"type":"link","label":"My Media for Alexa","href":"/ansible-nas/docs/applications/media-serving/mymediaforalexa","docId":"applications/media-serving/mymediaforalexa","unlisted":false},{"type":"link","label":"Navidrome","href":"/ansible-nas/docs/applications/media-serving/navidrome","docId":"applications/media-serving/navidrome","unlisted":false},{"type":"link","label":"Plex","href":"/ansible-nas/docs/applications/media-serving/plex","docId":"applications/media-serving/plex","unlisted":false},{"type":"link","label":"PyTivo","href":"/ansible-nas/docs/applications/media-serving/pytivo","docId":"applications/media-serving/pytivo","unlisted":false},{"type":"link","label":"Romm","href":"/ansible-nas/docs/applications/media-serving/romm","docId":"applications/media-serving/romm","unlisted":false},{"type":"link","label":"Tautulli","href":"/ansible-nas/docs/applications/media-serving/tautulli","docId":"applications/media-serving/tautulli","unlisted":false},{"type":"link","label":"Threadfin","href":"/ansible-nas/docs/applications/media-serving/threadfin","docId":"applications/media-serving/threadfin","unlisted":false},{"type":"link","label":"Ubooquity","href":"/ansible-nas/docs/applications/media-serving/ubooquity","docId":"applications/media-serving/ubooquity","unlisted":false}],"href":"/ansible-nas/docs/category/media-serving"},{"type":"category","label":"Monitoring","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Glances","href":"/ansible-nas/docs/applications/monitoring/glances","docId":"applications/monitoring/glances","unlisted":false},{"type":"link","label":"Graylog","href":"/ansible-nas/docs/applications/monitoring/graylog","docId":"applications/monitoring/graylog","unlisted":false},{"type":"link","label":"Librespeed","href":"/ansible-nas/docs/applications/monitoring/librespeed","docId":"applications/monitoring/librespeed","unlisted":false},{"type":"link","label":"Speedtest-Tracker","href":"/ansible-nas/docs/applications/monitoring/speedtest","docId":"applications/monitoring/speedtest","unlisted":false},{"type":"link","label":"Stats","href":"/ansible-nas/docs/applications/monitoring/stats","docId":"applications/monitoring/stats","unlisted":false},{"type":"link","label":"Wireshark","href":"/ansible-nas/docs/applications/monitoring/wireshark","docId":"applications/monitoring/wireshark","unlisted":false}],"href":"/ansible-nas/docs/category/monitoring"},{"type":"category","label":"News","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"CommaFeed","href":"/ansible-nas/docs/applications/news/commafeed","docId":"applications/news/commafeed","unlisted":false},{"type":"link","label":"FreshRSS","href":"/ansible-nas/docs/applications/news/freshrss","docId":"applications/news/freshrss","unlisted":false},{"type":"link","label":"Libreddit","href":"/ansible-nas/docs/applications/news/libreddit","docId":"applications/news/libreddit","unlisted":false},{"type":"link","label":"Miniflux","href":"/ansible-nas/docs/applications/news/miniflux","docId":"applications/news/miniflux","unlisted":false},{"type":"link","label":"RSS-Bridge","href":"/ansible-nas/docs/applications/news/rssbridge","docId":"applications/news/rssbridge","unlisted":false},{"type":"link","label":"Tt-rss","href":"/ansible-nas/docs/applications/news/ttrss","docId":"applications/news/ttrss","unlisted":false}],"href":"/ansible-nas/docs/category/news"},{"type":"category","label":"Observability","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Grafana","href":"/ansible-nas/docs/applications/observability/grafana","docId":"applications/observability/grafana","unlisted":false}],"href":"/ansible-nas/docs/category/observability"},{"type":"category","label":"Other","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Activepieces","href":"/ansible-nas/docs/applications/other/activepieces","docId":"applications/other/activepieces","unlisted":false},{"type":"link","label":"Admidio","href":"/ansible-nas/docs/applications/other/admidio","docId":"applications/other/admidio","unlisted":false},{"type":"link","label":"Authelia","href":"/ansible-nas/docs/applications/other/authelia","docId":"applications/other/authelia","unlisted":false},{"type":"link","label":"Authentik","href":"/ansible-nas/docs/applications/other/authentik","docId":"applications/other/authentik","unlisted":false},{"type":"link","label":"Barcode Buddy","href":"/ansible-nas/docs/applications/other/barcodebuddy","docId":"applications/other/barcodebuddy","unlisted":false},{"type":"link","label":"Beets","href":"/ansible-nas/docs/applications/other/beets","docId":"applications/other/beets","unlisted":false},{"type":"link","label":"Blaze","href":"/ansible-nas/docs/applications/other/blaze","docId":"applications/other/blaze","unlisted":false},{"type":"link","label":"Changedetection.io","href":"/ansible-nas/docs/applications/other/changedetection","docId":"applications/other/changedetection","unlisted":false},{"type":"link","label":"Chatpad","href":"/ansible-nas/docs/applications/other/chatpad","docId":"applications/other/chatpad","unlisted":false},{"type":"link","label":"Chatwoot","href":"/ansible-nas/docs/applications/other/chatwoot","docId":"applications/other/chatwoot","unlisted":false},{"type":"link","label":"Claper","href":"/ansible-nas/docs/applications/other/claper","docId":"applications/other/claper","unlisted":false},{"type":"link","label":"Dufs","href":"/ansible-nas/docs/applications/other/dufs","docId":"applications/other/dufs","unlisted":false},{"type":"link","label":"Excalidraw","href":"/ansible-nas/docs/applications/other/exaclidraw","docId":"applications/other/exaclidraw","unlisted":false},{"type":"link","label":"Firefly III","href":"/ansible-nas/docs/applications/other/firefly","docId":"applications/other/firefly","unlisted":false},{"type":"link","label":"Flarum","href":"/ansible-nas/docs/applications/other/flarum","docId":"applications/other/flarum","unlisted":false},{"type":"link","label":"Formbricks","href":"/ansible-nas/docs/applications/other/formbricks","docId":"applications/other/formbricks","unlisted":false},{"type":"link","label":"FormIO","href":"/ansible-nas/docs/applications/other/formio","docId":"applications/other/formio","unlisted":false},{"type":"link","label":"Gotify","href":"/ansible-nas/docs/applications/other/gotify","docId":"applications/other/gotify","unlisted":false},{"type":"link","label":"Grocy","href":"/ansible-nas/docs/applications/other/grocy","docId":"applications/other/grocy","unlisted":false},{"type":"link","label":"Guacamole","href":"/ansible-nas/docs/applications/other/guacamole","docId":"applications/other/guacamole","unlisted":false},{"type":"link","label":"Hello World","href":"/ansible-nas/docs/applications/other/hello_world","docId":"applications/other/hello_world","unlisted":false},{"type":"link","label":"Heyform","href":"/ansible-nas/docs/applications/other/heyform","docId":"applications/other/heyform","unlisted":false},{"type":"link","label":"Homepage","href":"/ansible-nas/docs/applications/other/homepage","docId":"applications/other/homepage","unlisted":false},{"type":"link","label":"Huginn","href":"/ansible-nas/docs/applications/other/huginn","docId":"applications/other/huginn","unlisted":false},{"type":"link","label":"Immich","href":"/ansible-nas/docs/applications/other/immich","docId":"applications/other/immich","unlisted":false},{"type":"link","label":"Input","href":"/ansible-nas/docs/applications/other/input","docId":"applications/other/input","unlisted":false},{"type":"link","label":"Keycloak","href":"/ansible-nas/docs/applications/other/keycloak","docId":"applications/other/keycloak","unlisted":false},{"type":"link","label":"Librephotos","href":"/ansible-nas/docs/applications/other/librephotos","docId":"applications/other/librephotos","unlisted":false},{"type":"link","label":"LibreTranslate","href":"/ansible-nas/docs/applications/other/libretranslate","docId":"applications/other/libretranslate","unlisted":false},{"type":"link","label":"Linkding","href":"/ansible-nas/docs/applications/other/linkding","docId":"applications/other/linkding","unlisted":false},{"type":"link","label":"Linkwarden","href":"/ansible-nas/docs/applications/other/linkwarden","docId":"applications/other/linkwarden","unlisted":false},{"type":"link","label":"Listmonk","href":"/ansible-nas/docs/applications/other/listmonk","docId":"applications/other/listmonk","unlisted":false},{"type":"link","label":"Littlelink-server","href":"/ansible-nas/docs/applications/other/littlelink","docId":"applications/other/littlelink","unlisted":false},{"type":"link","label":"LiveHelperChat","href":"/ansible-nas/docs/applications/other/livehelperchat","docId":"applications/other/livehelperchat","unlisted":false},{"type":"link","label":"LubeLogger","href":"/ansible-nas/docs/applications/other/lubelogger","docId":"applications/other/lubelogger","unlisted":false},{"type":"link","label":"Mantium","href":"/ansible-nas/docs/applications/other/mantium","docId":"applications/other/mantium","unlisted":false},{"type":"link","label":"Mattermost","href":"/ansible-nas/docs/applications/other/mattermost","docId":"applications/other/mattermost","unlisted":false},{"type":"link","label":"Mealie","href":"/ansible-nas/docs/applications/other/mealie","docId":"applications/other/mealie","unlisted":false},{"type":"link","label":"Miniserve","href":"/ansible-nas/docs/applications/other/miniserve","docId":"applications/other/miniserve","unlisted":false},{"type":"link","label":"Mumble","href":"/ansible-nas/docs/applications/other/mumble","docId":"applications/other/mumble","unlisted":false},{"type":"link","label":"n.eko","href":"/ansible-nas/docs/applications/other/neko","docId":"applications/other/neko","unlisted":false},{"type":"link","label":"Nextcloud","href":"/ansible-nas/docs/applications/other/nextcloud","docId":"applications/other/nextcloud","unlisted":false},{"type":"link","label":"Octoprint","href":"/ansible-nas/docs/applications/other/octoprint","docId":"applications/other/octoprint","unlisted":false},{"type":"link","label":"OliveTin","href":"/ansible-nas/docs/applications/other/olivetin","docId":"applications/other/olivetin","unlisted":false},{"type":"link","label":"Openbooks","href":"/ansible-nas/docs/applications/other/openbooks","docId":"applications/other/openbooks","unlisted":false},{"type":"link","label":"Open-resume","href":"/ansible-nas/docs/applications/other/openresume","docId":"applications/other/openresume","unlisted":false},{"type":"link","label":"Overleaf","href":"/ansible-nas/docs/applications/other/overleaf","docId":"applications/other/overleaf","unlisted":false},{"type":"link","label":"Paperless-ng","href":"/ansible-nas/docs/applications/other/paperless_ng","docId":"applications/other/paperless_ng","unlisted":false},{"type":"link","label":"Photofield","href":"/ansible-nas/docs/applications/other/photofield","docId":"applications/other/photofield","unlisted":false},{"type":"link","label":"Photoprism","href":"/ansible-nas/docs/applications/other/photoprism","docId":"applications/other/photoprism","unlisted":false},{"type":"link","label":"PhotoStructure","href":"/ansible-nas/docs/applications/other/photostructure","docId":"applications/other/photostructure","unlisted":false},{"type":"link","label":"Piwigo","href":"/ansible-nas/docs/applications/other/piwigo","docId":"applications/other/piwigo","unlisted":false},{"type":"link","label":"Rallly","href":"/ansible-nas/docs/applications/other/rallly","docId":"applications/other/rallly","unlisted":false},{"type":"link","label":"Readeck","href":"/ansible-nas/docs/applications/other/readeck","docId":"applications/other/readeck","unlisted":false},{"type":"link","label":"Releasebell","href":"/ansible-nas/docs/applications/other/releasebell","docId":"applications/other/releasebell","unlisted":false},{"type":"link","label":"Restic","href":"/ansible-nas/docs/applications/other/seafile","docId":"applications/other/seafile","unlisted":false},{"type":"link","label":"SearxNG","href":"/ansible-nas/docs/applications/other/searxng","docId":"applications/other/searxng","unlisted":false},{"type":"link","label":"Shaarli","href":"/ansible-nas/docs/applications/other/shaarli","docId":"applications/other/shaarli","unlisted":false},{"type":"link","label":"Silverbullet","href":"/ansible-nas/docs/applications/other/silverbullet","docId":"applications/other/silverbullet","unlisted":false},{"type":"link","label":"Stirling-PDF","href":"/ansible-nas/docs/applications/other/stirlingpdf","docId":"applications/other/stirlingpdf","unlisted":false},{"type":"link","label":"The Lounge","href":"/ansible-nas/docs/applications/other/thelounge","docId":"applications/other/thelounge","unlisted":false},{"type":"link","label":"Traefik","href":"/ansible-nas/docs/applications/other/traefik","docId":"applications/other/traefik","unlisted":false},{"type":"link","label":"Vaultwarden","href":"/ansible-nas/docs/applications/other/vaultwarden","docId":"applications/other/vaultwarden","unlisted":false},{"type":"link","label":"Virtual Desktop","href":"/ansible-nas/docs/applications/other/virtual_desktop","docId":"applications/other/virtual_desktop","unlisted":false},{"type":"link","label":"Wallabag","href":"/ansible-nas/docs/applications/other/wallabag","docId":"applications/other/wallabag","unlisted":false},{"type":"link","label":"Wallos","href":"/ansible-nas/docs/applications/other/wallos","docId":"applications/other/wallos","unlisted":false},{"type":"link","label":"Wanderer","href":"/ansible-nas/docs/applications/other/wanderer","docId":"applications/other/wanderer","unlisted":false},{"type":"link","label":"Webtres","href":"/ansible-nas/docs/applications/other/webtrees","docId":"applications/other/webtrees","unlisted":false},{"type":"link","label":"Wger","href":"/ansible-nas/docs/applications/other/wger","docId":"applications/other/wger","unlisted":false},{"type":"link","label":"Whoogle","href":"/ansible-nas/docs/applications/other/whoogle","docId":"applications/other/whoogle","unlisted":false},{"type":"link","label":"Wishthis","href":"/ansible-nas/docs/applications/other/wishthis","docId":"applications/other/wishthis","unlisted":false}],"href":"/ansible-nas/docs/category/other"},{"type":"category","label":"Stacks","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Logging","href":"/ansible-nas/docs/applications/stacks/logging","docId":"applications/stacks/logging","unlisted":false}],"href":"/ansible-nas/docs/category/stacks"},{"type":"category","label":"System Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Blocky","href":"/ansible-nas/docs/applications/system-tools/blocky","docId":"applications/system-tools/blocky","unlisted":false},{"type":"link","label":"Casdoor","href":"/ansible-nas/docs/applications/system-tools/casdoor","docId":"applications/system-tools/casdoor","unlisted":false},{"type":"link","label":"Cloud Commander","href":"/ansible-nas/docs/applications/system-tools/cloudcmd","docId":"applications/system-tools/cloudcmd","unlisted":false},{"type":"link","label":"Cloudflare DDNS","href":"/ansible-nas/docs/applications/system-tools/cloudflare_ddns","docId":"applications/system-tools/cloudflare_ddns","unlisted":false},{"type":"link","label":"DDNS Updater","href":"/ansible-nas/docs/applications/system-tools/ddns_updater","docId":"applications/system-tools/ddns_updater","unlisted":false},{"type":"link","label":"Dockge","href":"/ansible-nas/docs/applications/system-tools/dockge","docId":"applications/system-tools/dockge","unlisted":false},{"type":"link","label":"Duplicacy","href":"/ansible-nas/docs/applications/system-tools/duplicacy","docId":"applications/system-tools/duplicacy","unlisted":false},{"type":"link","label":"Duplicati","href":"/ansible-nas/docs/applications/system-tools/duplicati","docId":"applications/system-tools/duplicati","unlisted":false},{"type":"link","label":"Healthchecks.io","href":"/ansible-nas/docs/applications/system-tools/healthchecks.io","docId":"applications/system-tools/healthchecks.io","unlisted":false},{"type":"link","label":"Krusader","href":"/ansible-nas/docs/applications/system-tools/krusader","docId":"applications/system-tools/krusader","unlisted":false},{"type":"link","label":"Light LDAP","href":"/ansible-nas/docs/applications/system-tools/lldap","docId":"applications/system-tools/lldap","unlisted":false},{"type":"link","label":"Loki","href":"/ansible-nas/docs/applications/system-tools/loki","docId":"applications/system-tools/loki","unlisted":false},{"type":"link","label":"Mergerfs","href":"/ansible-nas/docs/applications/system-tools/mergerfs","docId":"applications/system-tools/mergerfs","unlisted":false},{"type":"link","label":"Minio","href":"/ansible-nas/docs/applications/system-tools/minio","docId":"applications/system-tools/minio","unlisted":false},{"type":"link","label":"MySql","href":"/ansible-nas/docs/applications/system-tools/mysql","docId":"applications/system-tools/mysql","unlisted":false},{"type":"link","label":"netboot.xyz","href":"/ansible-nas/docs/applications/system-tools/netbootxyz","docId":"applications/system-tools/netbootxyz","unlisted":false},{"type":"link","label":"NetBox","href":"/ansible-nas/docs/applications/system-tools/netbox","docId":"applications/system-tools/netbox","unlisted":false},{"type":"link","label":"OpenLDAP","href":"/ansible-nas/docs/applications/system-tools/openldap","docId":"applications/system-tools/openldap","unlisted":false},{"type":"link","label":"phpMyAdmin","href":"/ansible-nas/docs/applications/system-tools/phpmyadmin","docId":"applications/system-tools/phpmyadmin","unlisted":false},{"type":"link","label":"Portainer","href":"/ansible-nas/docs/applications/system-tools/portainer","docId":"applications/system-tools/portainer","unlisted":false},{"type":"link","label":"Promtail","href":"/ansible-nas/docs/applications/system-tools/promtail","docId":"applications/system-tools/promtail","unlisted":false},{"type":"link","label":"Rclone","href":"/ansible-nas/docs/applications/system-tools/rclone","docId":"applications/system-tools/rclone","unlisted":false},{"type":"link","label":"Restic","href":"/ansible-nas/docs/applications/system-tools/restic","docId":"applications/system-tools/restic","unlisted":false},{"type":"link","label":"AWS Route53 Dynamic DNS Updater","href":"/ansible-nas/docs/applications/system-tools/route53_ddns","docId":"applications/system-tools/route53_ddns","unlisted":false},{"type":"link","label":"Snipe-IT","href":"/ansible-nas/docs/applications/system-tools/snipeit","docId":"applications/system-tools/snipeit","unlisted":false},{"type":"link","label":"Syncthing","href":"/ansible-nas/docs/applications/system-tools/syncthing","docId":"applications/system-tools/syncthing","unlisted":false},{"type":"link","label":"Time Machine","href":"/ansible-nas/docs/applications/system-tools/timemachine","docId":"applications/system-tools/timemachine","unlisted":false},{"type":"link","label":"Watchtower","href":"/ansible-nas/docs/applications/system-tools/watchtower","docId":"applications/system-tools/watchtower","unlisted":false},{"type":"link","label":"Whats-up-Docker","href":"/ansible-nas/docs/applications/system-tools/whatsupdocker","docId":"applications/system-tools/whatsupdocker","unlisted":false}],"href":"/ansible-nas/docs/category/system-tools"}],"href":"/ansible-nas/docs/category/applications"},{"type":"category","label":"Further Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Hardware","href":"/ansible-nas/docs/further-configuration/hardware","docId":"further-configuration/hardware","unlisted":false},{"type":"link","label":"Migrating from FreeNAS","href":"/ansible-nas/docs/further-configuration/migrating-from-freenas","docId":"further-configuration/migrating-from-freenas","unlisted":false},{"type":"link","label":"NFS Exports","href":"/ansible-nas/docs/further-configuration/nfs-exports","docId":"further-configuration/nfs-exports","unlisted":false},{"type":"link","label":"Samba Shares","href":"/ansible-nas/docs/further-configuration/samba-shares","docId":"further-configuration/samba-shares","unlisted":false}],"href":"/ansible-nas/docs/category/further-configuration"},{"type":"category","label":"Contributing","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Development Environment","href":"/ansible-nas/docs/contributing/development-environment","docId":"contributing/development-environment","unlisted":false},{"type":"link","label":"Add An Application","href":"/ansible-nas/docs/contributing/add-an-application","docId":"contributing/add-an-application","unlisted":false}],"href":"/ansible-nas/docs/category/contributing"},{"type":"link","label":"Support","href":"/ansible-nas/docs/support","docId":"support","unlisted":false},{"type":"link","label":"Upgrading","href":"/ansible-nas/docs/upgrading","docId":"upgrading","unlisted":false}]},"docs":{"applications/content-management/affine":{"id":"applications/content-management/affine","title":"Affine","description":"A next-gen knowledge base that brings planning, sorting and creating all together","sidebar":"tutorialSidebar"},"applications/content-management/dokuwiki":{"id":"applications/content-management/dokuwiki","title":"Dokuwiki","description":"Open source wiki software that doesn\'t require a database","sidebar":"tutorialSidebar"},"applications/content-management/evershop":{"id":"applications/content-management/evershop","title":"Evershop","description":"NodeJS E-commerce Platform","sidebar":"tutorialSidebar"},"applications/content-management/flatnotes":{"id":"applications/content-management/flatnotes","title":"Flatnotes","description":"Self-hosted, database-less note taking web app","sidebar":"tutorialSidebar"},"applications/content-management/ghost":{"id":"applications/content-management/ghost","title":"Ghost","description":"A powerful app for new-media creators to publish, share, and grow a business around their content","sidebar":"tutorialSidebar"},"applications/content-management/huly":{"id":"applications/content-management/huly","title":"Huly Platform","description":"Huly \u2014 All-in-One Project Management Platform (alternative to Linear, Jira, Slack, Notion, Motion)","sidebar":"tutorialSidebar"},"applications/content-management/huntly":{"id":"applications/content-management/huntly","title":"Huntly","description":"Self-hosted information management tool","sidebar":"tutorialSidebar"},"applications/content-management/joomla":{"id":"applications/content-management/joomla","title":"Joomla","description":"An award-winning content management system","sidebar":"tutorialSidebar"},"applications/content-management/memos":{"id":"applications/content-management/memos","title":"Memos","description":"An open-source, self-hosted memo hub with knowledge management and social networking","sidebar":"tutorialSidebar"},"applications/content-management/obsidian":{"id":"applications/content-management/obsidian","title":"Obsidian","description":"Obsidian is the private and flexible writing app that adapts to the way you think.","sidebar":"tutorialSidebar"},"applications/content-management/outline":{"id":"applications/content-management/outline","title":"Outline","description":"The fastest knowledge base for growing teams. Beautiful, realtime collaborative, feature packed, and markdown compatible","sidebar":"tutorialSidebar"},"applications/content-management/ryot":{"id":"applications/content-management/ryot","title":"Ryot","description":"A self hosted platform for tracking various facets of your life - media, fitness etc.","sidebar":"tutorialSidebar"},"applications/content-management/servas":{"id":"applications/content-management/servas","title":"Servas","description":"A self-hosted bookmark management tool","sidebar":"tutorialSidebar"},"applications/content-management/siyuan":{"id":"applications/content-management/siyuan","title":"Siyuan","description":"A privacy-first, self-hosted, fully open source personal knowledge management software","sidebar":"tutorialSidebar"},"applications/content-management/standardnotes":{"id":"applications/content-management/standardnotes","title":"Standard Notes","description":"A free, secure note-taking app with powerful end-to-end encryption","sidebar":"tutorialSidebar"},"applications/content-management/tiddlywiki":{"id":"applications/content-management/tiddlywiki","title":"TiddlyWiki","description":"A notebook for capturing, organizing, and sharing information","sidebar":"tutorialSidebar"},"applications/content-management/trilium":{"id":"applications/content-management/trilium","title":"Trilium","description":"Build your personal knowledge base with Trilium Notes","sidebar":"tutorialSidebar"},"applications/content-management/twenty":{"id":"applications/content-management/twenty","title":"Twenty CMS","description":"The #1 Open-Source CRM. Modern, powerful, affordable platform to manage your customer relationships","sidebar":"tutorialSidebar"},"applications/dashboards/dashy":{"id":"applications/dashboards/dashy","title":"Dashy","description":"Homepage//dashy.to","sidebar":"tutorialSidebar"},"applications/dashboards/flame":{"id":"applications/dashboards/flame","title":"Flame","description":"Homepage//github.com/pawelmalak/flame","sidebar":"tutorialSidebar"},"applications/dashboards/heimdall":{"id":"applications/dashboards/heimdall","title":"Heimdall","description":"Homepage//heimdall.site","sidebar":"tutorialSidebar"},"applications/dashboards/homarr":{"id":"applications/dashboards/homarr","title":"Homarr","description":"Customizable browser\'s home page to interact with your homeserver\'s Docker containers (e.g. Sonarr/Radarr)","sidebar":"tutorialSidebar"},"applications/dashboards/homepage":{"id":"applications/dashboards/homepage","title":"Homepage","description":"Homepage//gethomepage.dev","sidebar":"tutorialSidebar"},"applications/dashboards/organizr":{"id":"applications/dashboards/organizr","title":"Organizr","description":"Homepage//organizr.app","sidebar":"tutorialSidebar"},"applications/development-tools/budibase":{"id":"applications/development-tools/budibase","title":"Budibase","description":"Low code platform for building business apps and workflows in minutes","sidebar":"tutorialSidebar"},"applications/development-tools/code-server":{"id":"applications/development-tools/code-server","title":"Code Server","description":"Homepage//code.visualstudio.com/","sidebar":"tutorialSidebar"},"applications/development-tools/drone_ci":{"id":"applications/development-tools/drone_ci","title":"Drone CI","description":"Drone is a self-service Continuous Integration platform for busy development teams.","sidebar":"tutorialSidebar"},"applications/development-tools/gitea":{"id":"applications/development-tools/gitea","title":"Gitea","description":"Homepage//gitea.io/","sidebar":"tutorialSidebar"},"applications/development-tools/gitlab":{"id":"applications/development-tools/gitlab","title":"GitLab","description":"Homepage//docs.gitlab.com/omnibus/docker/","sidebar":"tutorialSidebar"},"applications/development-tools/leantime":{"id":"applications/development-tools/leantime","title":"Leantiome","description":"Free and open source log management","sidebar":"tutorialSidebar"},"applications/development-tools/nomad":{"id":"applications/development-tools/nomad","title":"Nomad","description":"Homepage//www.nomadproject.io/","sidebar":"tutorialSidebar"},"applications/development-tools/tooljet":{"id":"applications/development-tools/tooljet","title":"ToolJet","description":"Low-code platform for building business applications.","sidebar":"tutorialSidebar"},"applications/development-tools/woodpecker_ci":{"id":"applications/development-tools/woodpecker_ci","title":"Woodpecker CI","description":"Woodpecker is a simple CI engine with great extensibility.","sidebar":"tutorialSidebar"},"applications/download-tools/bazarr":{"id":"applications/download-tools/bazarr","title":"Bazarr","description":"Homepage//github.com/morpheus65535/bazarr","sidebar":"tutorialSidebar"},"applications/download-tools/couchpotato":{"id":"applications/download-tools/couchpotato","title":"Couchpotato","description":"Homepage//couchpota.to/","sidebar":"tutorialSidebar"},"applications/download-tools/deluge":{"id":"applications/download-tools/deluge","title":"Deluge","description":"Homepage//deluge-torrent.org/","sidebar":"tutorialSidebar"},"applications/download-tools/get_iplayer":{"id":"applications/download-tools/get_iplayer","title":"Get_iPlayer","description":"Homepage//github.com/get-iplayer/getiplayer","sidebar":"tutorialSidebar"},"applications/download-tools/jackett":{"id":"applications/download-tools/jackett","title":"Jackett","description":"Homepage//github.com/Jackett/Jackett","sidebar":"tutorialSidebar"},"applications/download-tools/lazylibrarian":{"id":"applications/download-tools/lazylibrarian","title":"LazyLibrarian","description":"LazyLibrarian is a program to follow authors and grab metadata for all your digital reading needs","sidebar":"tutorialSidebar"},"applications/download-tools/lidarr":{"id":"applications/download-tools/lidarr","title":"Lidarr","description":"Homepage//lidarr.audio/","sidebar":"tutorialSidebar"},"applications/download-tools/metube":{"id":"applications/download-tools/metube","title":"MeTube","description":"Self-hosted YouTube downloader (web UI for youtube-dl / yt-dlp)","sidebar":"tutorialSidebar"},"applications/download-tools/mylar":{"id":"applications/download-tools/mylar","title":"Mylar","description":"Homepage//github.com/evilhero/mylar","sidebar":"tutorialSidebar"},"applications/download-tools/nzbget":{"id":"applications/download-tools/nzbget","title":"NZBGet","description":"Homepage//nzbget.net/","sidebar":"tutorialSidebar"},"applications/download-tools/nzbhydra2":{"id":"applications/download-tools/nzbhydra2","title":"Nzbhydra2","description":"NZBHydra 2 is a meta search for newznab indexers and torznab trackers","sidebar":"tutorialSidebar"},"applications/download-tools/ombi":{"id":"applications/download-tools/ombi","title":"Ombi","description":"Homepage//ombi.io/","sidebar":"tutorialSidebar"},"applications/download-tools/overseerr":{"id":"applications/download-tools/overseerr","title":"Overseerr","description":"Homepage//docs.overseerr.dev","sidebar":"tutorialSidebar"},"applications/download-tools/prowlarr":{"id":"applications/download-tools/prowlarr","title":"Prowlarr","description":"Homepages: prowlarr","sidebar":"tutorialSidebar"},"applications/download-tools/pyload":{"id":"applications/download-tools/pyload","title":"pyLoad","description":"Homepage//pyload.net/","sidebar":"tutorialSidebar"},"applications/download-tools/radarr":{"id":"applications/download-tools/radarr","title":"Radarr","description":"Homepage: radarr","sidebar":"tutorialSidebar"},"applications/download-tools/sabnzbd":{"id":"applications/download-tools/sabnzbd","title":"Sabnzbd","description":"Homepage//sabnzbd.org/","sidebar":"tutorialSidebar"},"applications/download-tools/sonarr":{"id":"applications/download-tools/sonarr","title":"Sonarr","description":"Homepage//sonarr.tv/","sidebar":"tutorialSidebar"},"applications/download-tools/transmission":{"id":"applications/download-tools/transmission","title":"Transmission","description":"Homepage//transmissionbt.com/","sidebar":"tutorialSidebar"},"applications/download-tools/utorrent":{"id":"applications/download-tools/utorrent","title":"uTorrent","description":"Homepage//www.utorrent.com/","sidebar":"tutorialSidebar"},"applications/download-tools/youtubedlmaterial":{"id":"applications/download-tools/youtubedlmaterial","title":"YouTubeDL-Material","description":"Homepage//github.com/Tzahi12345/YoutubeDL-Material","sidebar":"tutorialSidebar"},"applications/gaming/minecraft-bedrock-server":{"id":"applications/gaming/minecraft-bedrock-server","title":"Minecraft Bedrock Server","description":"Homepage//www.minecraft.net/","sidebar":"tutorialSidebar"},"applications/gaming/minecraft-server":{"id":"applications/gaming/minecraft-server","title":"Minecraft Server","description":"Homepage//www.minecraft.net/","sidebar":"tutorialSidebar"},"applications/gaming/minetest-server":{"id":"applications/gaming/minetest-server","title":"Minetest Server","description":"An open source voxel game engine","sidebar":"tutorialSidebar"},"applications/home-automation/ebusd":{"id":"applications/home-automation/ebusd","title":"ebusd","description":"daemon for communication with eBUS heating systems ","sidebar":"tutorialSidebar"},"applications/home-automation/esphome":{"id":"applications/home-automation/esphome","title":"ESPHome","description":"Homepage: esphome.io","sidebar":"tutorialSidebar"},"applications/home-automation/frigate":{"id":"applications/home-automation/frigate","title":"Frigate","description":"Homepage//frigate.video/","sidebar":"tutorialSidebar"},"applications/home-automation/hafusion":{"id":"applications/home-automation/hafusion","title":"HA Fusion","description":"A modern, easy-to-use and performant custom Home Assistant dashboard","sidebar":"tutorialSidebar"},"applications/home-automation/homeassistant":{"id":"applications/home-automation/homeassistant","title":"Home Assistant","description":"Homepage//www.home-assistant.io/","sidebar":"tutorialSidebar"},"applications/home-automation/homebridge":{"id":"applications/home-automation/homebridge","title":"Homebridge","description":"Homepage//github.com/nfarina/homebridge","sidebar":"tutorialSidebar"},"applications/home-automation/icbinv":{"id":"applications/home-automation/icbinv","title":"I Can\'t Believe It\'s Not Valetudo","description":"Homepage//icbinv.video/","sidebar":"tutorialSidebar"},"applications/home-automation/mosquitto":{"id":"applications/home-automation/mosquitto","title":"Mosquitto","description":"Homepage//mosquitto.org","sidebar":"tutorialSidebar"},"applications/home-automation/n8n":{"id":"applications/home-automation/n8n","title":"Nodemation (n8n)","description":"Homepage//n8n.io","sidebar":"tutorialSidebar"},"applications/home-automation/nodered":{"id":"applications/home-automation/nodered","title":"Huginn","description":"A system for building agents that perform automated tasks for you online","sidebar":"tutorialSidebar"},"applications/home-automation/openhab":{"id":"applications/home-automation/openhab","title":"openHAB","description":"Homepage//www.openhab.org/","sidebar":"tutorialSidebar"},"applications/media-serving/airsonic":{"id":"applications/media-serving/airsonic","title":"Airsonic","description":"Homepage//airsonic.github.io/","sidebar":"tutorialSidebar"},"applications/media-serving/booksonic":{"id":"applications/media-serving/booksonic","title":"Booksonic","description":"Homepage//booksonic.org/","sidebar":"tutorialSidebar"},"applications/media-serving/calibre":{"id":"applications/media-serving/calibre","title":"calibre","description":"Homepage//calibre-ebook.com","sidebar":"tutorialSidebar"},"applications/media-serving/calibre-web":{"id":"applications/media-serving/calibre-web","title":"Calibre-web","description":"Homepage//github.com/janeczku/calibre-web","sidebar":"tutorialSidebar"},"applications/media-serving/emby":{"id":"applications/media-serving/emby","title":"Emby","description":"Homepage//emby.media/","sidebar":"tutorialSidebar"},"applications/media-serving/gaps":{"id":"applications/media-serving/gaps","title":"Gaps","description":"Homepage//github.com/JasonHHouse/gaps","sidebar":"tutorialSidebar"},"applications/media-serving/invidious":{"id":"applications/media-serving/invidious","title":"Invidious","description":"an alternative front-end to YouTube ","sidebar":"tutorialSidebar"},"applications/media-serving/jellyfin":{"id":"applications/media-serving/jellyfin","title":"Jellyfin","description":"Homepage//jellyfin.org/","sidebar":"tutorialSidebar"},"applications/media-serving/kavita":{"id":"applications/media-serving/kavita","title":"Kavita","description":"Kavita is a rocket fueled self-hosted digital library","sidebar":"tutorialSidebar"},"applications/media-serving/komga":{"id":"applications/media-serving/komga","title":"Komga","description":"Homepage//komga.org/","sidebar":"tutorialSidebar"},"applications/media-serving/minidlna":{"id":"applications/media-serving/minidlna","title":"MiniDLNA","description":"Homepage//sourceforge.net/projects/minidlna/","sidebar":"tutorialSidebar"},"applications/media-serving/moviematch":{"id":"applications/media-serving/moviematch","title":"Moviematch","description":"MovieMatch for Plex","sidebar":"tutorialSidebar"},"applications/media-serving/mymediaforalexa":{"id":"applications/media-serving/mymediaforalexa","title":"My Media for Alexa","description":"Homepage//www.mymediaalexa.com/","sidebar":"tutorialSidebar"},"applications/media-serving/navidrome":{"id":"applications/media-serving/navidrome","title":"Navidrome","description":"Homepage//www.navidrome.org/","sidebar":"tutorialSidebar"},"applications/media-serving/plex":{"id":"applications/media-serving/plex","title":"Plex","description":"Homepage//www.plex.tv/","sidebar":"tutorialSidebar"},"applications/media-serving/pytivo":{"id":"applications/media-serving/pytivo","title":"PyTivo","description":"Project Homepage:","sidebar":"tutorialSidebar"},"applications/media-serving/romm":{"id":"applications/media-serving/romm","title":"Romm","description":"Homepage//github.com/zurdi15/romm","sidebar":"tutorialSidebar"},"applications/media-serving/tautulli":{"id":"applications/media-serving/tautulli","title":"Tautulli","description":"Homepage//tautulli.com/","sidebar":"tutorialSidebar"},"applications/media-serving/threadfin":{"id":"applications/media-serving/threadfin","title":"Threadfin","description":"Homepage//github.com/Threadfin/Threadfin","sidebar":"tutorialSidebar"},"applications/media-serving/ubooquity":{"id":"applications/media-serving/ubooquity","title":"Ubooquity","description":"Homepage//vaemendis.net/ubooquity/","sidebar":"tutorialSidebar"},"applications/monitoring/glances":{"id":"applications/monitoring/glances","title":"Glances","description":"Homepage//nicolargo.github.io/glances/","sidebar":"tutorialSidebar"},"applications/monitoring/graylog":{"id":"applications/monitoring/graylog","title":"Graylog","description":"Free and open source log management","sidebar":"tutorialSidebar"},"applications/monitoring/librespeed":{"id":"applications/monitoring/librespeed","title":"Librespeed","description":"Free and Open Source Speedtest","sidebar":"tutorialSidebar"},"applications/monitoring/speedtest":{"id":"applications/monitoring/speedtest","title":"Speedtest-Tracker","description":"Homepage//github.com/henrywhitaker3/Speedtest-Tracker","sidebar":"tutorialSidebar"},"applications/monitoring/stats":{"id":"applications/monitoring/stats","title":"Stats","description":"The stats role uses Prometheus (or Influxdb), Grafana, Telegraf and a number of metrics exporters to collect and record lots of metrics about your NAS.","sidebar":"tutorialSidebar"},"applications/monitoring/wireshark":{"id":"applications/monitoring/wireshark","title":"Wireshark","description":"Homepage//www.wireshark.org/","sidebar":"tutorialSidebar"},"applications/news/commafeed":{"id":"applications/news/commafeed","title":"CommaFeed","description":"Google Reader inspired self-hosted RSS reader","sidebar":"tutorialSidebar"},"applications/news/freshrss":{"id":"applications/news/freshrss","title":"FreshRSS","description":"Homepage//freshrss.org/","sidebar":"tutorialSidebar"},"applications/news/libreddit":{"id":"applications/news/libreddit","title":"Libreddit","description":"An alternative private front-end to Reddit","sidebar":"tutorialSidebar"},"applications/news/miniflux":{"id":"applications/news/miniflux","title":"Miniflux","description":"Homepage//miniflux.app/","sidebar":"tutorialSidebar"},"applications/news/rssbridge":{"id":"applications/news/rssbridge","title":"RSS-Bridge","description":"Homepage//rss-bridge.github.io/rss-bridge/","sidebar":"tutorialSidebar"},"applications/news/ttrss":{"id":"applications/news/ttrss","title":"Tt-rss","description":"Free and open source web-based news feed reader","sidebar":"tutorialSidebar"},"applications/observability/grafana":{"id":"applications/observability/grafana","title":"Grafana","description":"Homepage//grafana.com/","sidebar":"tutorialSidebar"},"applications/other/activepieces":{"id":"applications/other/activepieces","title":"Activepieces","description":"An open source all-in-one automation tool","sidebar":"tutorialSidebar"},"applications/other/admidio":{"id":"applications/other/admidio","title":"Admidio","description":"Free online membership management","sidebar":"tutorialSidebar"},"applications/other/authelia":{"id":"applications/other/authelia","title":"Authelia","description":"Homepage//www.authelia.com/","sidebar":"tutorialSidebar"},"applications/other/authentik":{"id":"applications/other/authentik","title":"Authentik","description":"Homepage//goauthentik.io","sidebar":"tutorialSidebar"},"applications/other/barcodebuddy":{"id":"applications/other/barcodebuddy","title":"Barcode Buddy","description":"Homepage//github.com/Forceu/barcodebuddy/","sidebar":"tutorialSidebar"},"applications/other/beets":{"id":"applications/other/beets","title":"Beets","description":"Homepage//beets.io/","sidebar":"tutorialSidebar"},"applications/other/blaze":{"id":"applications/other/blaze","title":"Blaze","description":"File sharing progressive web app","sidebar":"tutorialSidebar"},"applications/other/changedetection":{"id":"applications/other/changedetection","title":"Changedetection.io","description":"Free open source website change detection, monitor and notification service","sidebar":"tutorialSidebar"},"applications/other/chatpad":{"id":"applications/other/chatpad","title":"Chatpad","description":"Not just another ChatGPT user-interface!","sidebar":"tutorialSidebar"},"applications/other/chatwoot":{"id":"applications/other/chatwoot","title":"Chatwoot","description":"About Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. \ud83d\udd25\ud83d\udcac","sidebar":"tutorialSidebar"},"applications/other/claper":{"id":"applications/other/claper","title":"Claper","description":"Homepage//claper.co/","sidebar":"tutorialSidebar"},"applications/other/dufs":{"id":"applications/other/dufs","title":"Dufs","description":"Distinctive utility file server","sidebar":"tutorialSidebar"},"applications/other/exaclidraw":{"id":"applications/other/exaclidraw","title":"Excalidraw","description":"Virtual whiteboard for sketching hand-drawn like diagrams","sidebar":"tutorialSidebar"},"applications/other/firefly":{"id":"applications/other/firefly","title":"Firefly III","description":"Homepage//firefly-iii.org/","sidebar":"tutorialSidebar"},"applications/other/flarum":{"id":"applications/other/flarum","title":"Flarum","description":"Homepage//flarum.org/","sidebar":"tutorialSidebar"},"applications/other/formbricks":{"id":"applications/other/formbricks","title":"Formbricks","description":"Open Source Survey Platform.","sidebar":"tutorialSidebar"},"applications/other/formio":{"id":"applications/other/formio","title":"FormIO","description":"A Form and Data Management Platform for Progressive Web Applications.","sidebar":"tutorialSidebar"},"applications/other/gotify":{"id":"applications/other/gotify","title":"Gotify","description":"Homepage//gotify.net/","sidebar":"tutorialSidebar"},"applications/other/grocy":{"id":"applications/other/grocy","title":"Grocy","description":"Homepage//grocy.info/","sidebar":"tutorialSidebar"},"applications/other/guacamole":{"id":"applications/other/guacamole","title":"Guacamole","description":"Homepage//guacamole.apache.org/","sidebar":"tutorialSidebar"},"applications/other/hello_world":{"id":"applications/other/hello_world","title":"Hello World","description":"Homepage//www.example.com/","sidebar":"tutorialSidebar"},"applications/other/heyform":{"id":"applications/other/heyform","title":"Heyform","description":"HeyForm is an open-source form builder that allows anyone to create engaging conversational forms for surveys, questionnaires, quizzes, and polls. No coding skills required.","sidebar":"tutorialSidebar"},"applications/other/homepage":{"id":"applications/other/homepage","title":"Homepage","description":"A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations. ","sidebar":"tutorialSidebar"},"applications/other/huginn":{"id":"applications/other/huginn","title":"Huginn","description":"A system for building agents that perform automated tasks for you online","sidebar":"tutorialSidebar"},"applications/other/immich":{"id":"applications/other/immich","title":"Immich","description":"Homepage//immich.app/","sidebar":"tutorialSidebar"},"applications/other/input":{"id":"applications/other/input","title":"Input","description":"A privacy-focused, no-code, open-source form builder.","sidebar":"tutorialSidebar"},"applications/other/keycloak":{"id":"applications/other/keycloak","title":"Keycloak","description":"Open Source Identity and Access Management","sidebar":"tutorialSidebar"},"applications/other/librephotos":{"id":"applications/other/librephotos","title":"Librephotos","description":"A self-hosted open source photo management service","sidebar":"tutorialSidebar"},"applications/other/libretranslate":{"id":"applications/other/libretranslate","title":"LibreTranslate","description":"Free and Open Source Machine Translation API","sidebar":"tutorialSidebar"},"applications/other/linkding":{"id":"applications/other/linkding","title":"Linkding","description":"Self-hosted bookmark service","sidebar":"tutorialSidebar"},"applications/other/linkwarden":{"id":"applications/other/linkwarden","title":"Linkwarden","description":"Linkwarden is a fully self-hostable, open-source collaborative bookmark manager to collect, organize and archive webpages","sidebar":"tutorialSidebar"},"applications/other/listmonk":{"id":"applications/other/listmonk","title":"Listmonk","description":"Newsletter and mailing list manager","sidebar":"tutorialSidebar"},"applications/other/littlelink":{"id":"applications/other/littlelink","title":"Littlelink-server","description":"Self-hosted alternative to linktree","sidebar":"tutorialSidebar"},"applications/other/livehelperchat":{"id":"applications/other/livehelperchat","title":"LiveHelperChat","description":"Live support for your website. Featuring web and mobile apps, Voice & Video & ScreenShare","sidebar":"tutorialSidebar"},"applications/other/lubelogger":{"id":"applications/other/lubelogger","title":"LubeLogger","description":"LubeLogger is a web-based vehicle maintenance and fuel mileage tracker","sidebar":"tutorialSidebar"},"applications/other/mantium":{"id":"applications/other/mantium","title":"Mantium","description":"Mantium is a dashboard for tracking mangas from multiple source sites, like Mangadex and ComicK.","sidebar":"tutorialSidebar"},"applications/other/mattermost":{"id":"applications/other/mattermost","title":"Mattermost","description":"An open source platform for secure collaboration across the entire software development lifecycle","sidebar":"tutorialSidebar"},"applications/other/mealie":{"id":"applications/other/mealie","title":"Mealie","description":"Homepage//docs.mealie.io/","sidebar":"tutorialSidebar"},"applications/other/miniserve":{"id":"applications/other/miniserve","title":"Miniserve","description":"CLI tool to serve files and dirs over HTTP","sidebar":"tutorialSidebar"},"applications/other/mumble":{"id":"applications/other/mumble","title":"Mumble","description":"Homepage//www.mumble.info/","sidebar":"tutorialSidebar"},"applications/other/neko":{"id":"applications/other/neko","title":"n.eko","description":"A self hosted virtual browser that runs in docker and uses WebRTC.","sidebar":"tutorialSidebar"},"applications/other/nextcloud":{"id":"applications/other/nextcloud","title":"Nextcloud","description":"Homepage//nextcloud.com","sidebar":"tutorialSidebar"},"applications/other/octoprint":{"id":"applications/other/octoprint","title":"Octoprint","description":"Homepage//octoprint.org/","sidebar":"tutorialSidebar"},"applications/other/olivetin":{"id":"applications/other/olivetin","title":"OliveTin","description":"Safe and simple access to predefined shell commands","sidebar":"tutorialSidebar"},"applications/other/openbooks":{"id":"applications/other/openbooks","title":"Openbooks","description":"Search and Download eBooks ","sidebar":"tutorialSidebar"},"applications/other/openresume":{"id":"applications/other/openresume","title":"Open-resume","description":"A powerful open-source resume builder and resume parser","sidebar":"tutorialSidebar"},"applications/other/overleaf":{"id":"applications/other/overleaf","title":"Overleaf","description":"Open-source online real-time collaborative LaTeX editor","sidebar":"tutorialSidebar"},"applications/other/paperless_ng":{"id":"applications/other/paperless_ng","title":"Paperless-ng","description":"Homepage//github.com/jonaswinkler/paperless-ng","sidebar":"tutorialSidebar"},"applications/other/photofield":{"id":"applications/other/photofield","title":"Photofield","description":"Experimental fast photo viewer","sidebar":"tutorialSidebar"},"applications/other/photoprism":{"id":"applications/other/photoprism","title":"Photoprism","description":"AI-Powered Photos App for the Decentralized Web","sidebar":"tutorialSidebar"},"applications/other/photostructure":{"id":"applications/other/photostructure","title":"PhotoStructure","description":"Your new home for all your photos & videos","sidebar":"tutorialSidebar"},"applications/other/piwigo":{"id":"applications/other/piwigo","title":"Piwigo","description":"Homepage: Piwigo.org","sidebar":"tutorialSidebar"},"applications/other/rallly":{"id":"applications/other/rallly","title":"Rallly","description":"Rallly is an open-source scheduling and collaboration tool designed to make organizing events and meetings easier.","sidebar":"tutorialSidebar"},"applications/other/readeck":{"id":"applications/other/readeck","title":"Readeck","description":"Readeck is a simple web application that lets you save the precious readable content of web pages you like and want to keep forever.","sidebar":"tutorialSidebar"},"applications/other/releasebell":{"id":"applications/other/releasebell","title":"Releasebell","description":"Starred GitHub repositories notifications","sidebar":"tutorialSidebar"},"applications/other/seafile":{"id":"applications/other/seafile","title":"Restic","description":"High performance file syncing and sharing solution","sidebar":"tutorialSidebar"},"applications/other/searxng":{"id":"applications/other/searxng","title":"SearxNG","description":"Free internet metasearch engine","sidebar":"tutorialSidebar"},"applications/other/shaarli":{"id":"applications/other/shaarli","title":"Shaarli","description":"Personal, minimalist, super-fast, database free, bookmarking service","sidebar":"tutorialSidebar"},"applications/other/silverbullet":{"id":"applications/other/silverbullet","title":"Silverbullet","description":"Homepage//silverbullet.md","sidebar":"tutorialSidebar"},"applications/other/stirlingpdf":{"id":"applications/other/stirlingpdf","title":"Stirling-PDF","description":"Locally hosted web application that allows you to perform various operations on PDF files ","sidebar":"tutorialSidebar"},"applications/other/thelounge":{"id":"applications/other/thelounge","title":"The Lounge","description":"Homepage//thelounge.chat/","sidebar":"tutorialSidebar"},"applications/other/traefik":{"id":"applications/other/traefik","title":"Traefik","description":"Homepage//traefik.io","sidebar":"tutorialSidebar"},"applications/other/vaultwarden":{"id":"applications/other/vaultwarden","title":"Vaultwarden","description":"Homepage//github.com/dani-garcia/vaultwarden","sidebar":"tutorialSidebar"},"applications/other/virtual_desktop":{"id":"applications/other/virtual_desktop","title":"Virtual Desktop","description":"It\'s possible to run a cut down desktop within a Docker container. We use RattyDAVE\'s custom Ubuntu Mate image.","sidebar":"tutorialSidebar"},"applications/other/wallabag":{"id":"applications/other/wallabag","title":"Wallabag","description":"Homepage//www.wallabag.org/","sidebar":"tutorialSidebar"},"applications/other/wallos":{"id":"applications/other/wallos","title":"Wallos","description":"Open-Source Personal Subscription Tracker","sidebar":"tutorialSidebar"},"applications/other/wanderer":{"id":"applications/other/wanderer","title":"Wanderer","description":"a self-hosted trail database","sidebar":"tutorialSidebar"},"applications/other/webtrees":{"id":"applications/other/webtrees","title":"Webtres","description":"On-line collaborative genealogy application","sidebar":"tutorialSidebar"},"applications/other/wger":{"id":"applications/other/wger","title":"Wger","description":"free, open source workout manager","sidebar":"tutorialSidebar"},"applications/other/whoogle":{"id":"applications/other/whoogle","title":"Whoogle","description":"Self-hosted, ad-free, privacy-respecting metasearch engine","sidebar":"tutorialSidebar"},"applications/other/wishthis":{"id":"applications/other/wishthis","title":"Wishthis","description":"Simple, intuitive and modern wishlist platform","sidebar":"tutorialSidebar"},"applications/stacks/logging":{"id":"applications/stacks/logging","title":"Logging","description":"The logging stack sets up a fully functional application logging capture and search service based on Loki, viewable via Grafana.","sidebar":"tutorialSidebar"},"applications/system-tools/blocky":{"id":"applications/system-tools/blocky","title":"Blocky","description":"Fast and lightweight DNS proxy as ad-blocker","sidebar":"tutorialSidebar"},"applications/system-tools/casdoor":{"id":"applications/system-tools/casdoor","title":"Casdoor","description":"An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform","sidebar":"tutorialSidebar"},"applications/system-tools/cloudcmd":{"id":"applications/system-tools/cloudcmd","title":"Cloud Commander","description":"Homepage//cloudcmd.io/","sidebar":"tutorialSidebar"},"applications/system-tools/cloudflare_ddns":{"id":"applications/system-tools/cloudflare_ddns","title":"Cloudflare DDNS","description":"Homepage//github.com/joshuaavalon/docker-cloudflare","sidebar":"tutorialSidebar"},"applications/system-tools/ddns_updater":{"id":"applications/system-tools/ddns_updater","title":"DDNS Updater","description":"Lightweight universal DDNS Updater with a web UI.","sidebar":"tutorialSidebar"},"applications/system-tools/dockge":{"id":"applications/system-tools/dockge","title":"Dockge","description":"A fancy self-hosted docker compose manager ","sidebar":"tutorialSidebar"},"applications/system-tools/duplicacy":{"id":"applications/system-tools/duplicacy","title":"Duplicacy","description":"Homepage//duplicacy.com/","sidebar":"tutorialSidebar"},"applications/system-tools/duplicati":{"id":"applications/system-tools/duplicati","title":"Duplicati","description":"Homepage//www.duplicati.com/","sidebar":"tutorialSidebar"},"applications/system-tools/healthchecks.io":{"id":"applications/system-tools/healthchecks.io","title":"Healthchecks.io","description":"Homepage//healthchecks.io/","sidebar":"tutorialSidebar"},"applications/system-tools/krusader":{"id":"applications/system-tools/krusader","title":"Krusader","description":"Homepage//krusader.org/","sidebar":"tutorialSidebar"},"applications/system-tools/lldap":{"id":"applications/system-tools/lldap","title":"Light LDAP","description":"Light LDAP implementation","sidebar":"tutorialSidebar"},"applications/system-tools/loki":{"id":"applications/system-tools/loki","title":"Loki","description":"Homepage//grafana.com/oss/loki/","sidebar":"tutorialSidebar"},"applications/system-tools/mergerfs":{"id":"applications/system-tools/mergerfs","title":"Mergerfs","description":"Homepage//github.com/trapexit/mergerfs","sidebar":"tutorialSidebar"},"applications/system-tools/minio":{"id":"applications/system-tools/minio","title":"Minio","description":"Homepage//min.io/","sidebar":"tutorialSidebar"},"applications/system-tools/mysql":{"id":"applications/system-tools/mysql","title":"MySql","description":"The world\'s most popular open source database","sidebar":"tutorialSidebar"},"applications/system-tools/netbootxyz":{"id":"applications/system-tools/netbootxyz","title":"netboot.xyz","description":"Homepage//netboot.xyz/","sidebar":"tutorialSidebar"},"applications/system-tools/netbox":{"id":"applications/system-tools/netbox","title":"NetBox","description":"The source of truth for everything on your network","sidebar":"tutorialSidebar"},"applications/system-tools/openldap":{"id":"applications/system-tools/openldap","title":"OpenLDAP","description":"OpenLDAP is the open-source solution for LDAP","sidebar":"tutorialSidebar"},"applications/system-tools/phpmyadmin":{"id":"applications/system-tools/phpmyadmin","title":"phpMyAdmin","description":"MySQL/MariaDB administration tool","sidebar":"tutorialSidebar"},"applications/system-tools/portainer":{"id":"applications/system-tools/portainer","title":"Portainer","description":"Homepage//docs.portainer.io/start/install/server/docker","sidebar":"tutorialSidebar"},"applications/system-tools/promtail":{"id":"applications/system-tools/promtail","title":"Promtail","description":"Homepage//grafana.com/docs/loki/latest/clients/promtail/","sidebar":"tutorialSidebar"},"applications/system-tools/rclone":{"id":"applications/system-tools/rclone","title":"Rclone","description":"Homepage//rclone.org","sidebar":"tutorialSidebar"},"applications/system-tools/restic":{"id":"applications/system-tools/restic","title":"Restic","description":"A modern backup program","sidebar":"tutorialSidebar"},"applications/system-tools/route53_ddns":{"id":"applications/system-tools/route53_ddns","title":"AWS Route53 Dynamic DNS Updater","description":"ddns-route53//crazymax.dev/ddns-route53/","sidebar":"tutorialSidebar"},"applications/system-tools/snipeit":{"id":"applications/system-tools/snipeit","title":"Snipe-IT","description":"A free open source IT asset/license management system","sidebar":"tutorialSidebar"},"applications/system-tools/syncthing":{"id":"applications/system-tools/syncthing","title":"Syncthing","description":"Homepage//syncthing.net/","sidebar":"tutorialSidebar"},"applications/system-tools/timemachine":{"id":"applications/system-tools/timemachine","title":"Time Machine","description":"Apple docs//support.apple.com/en-us/HT201250","sidebar":"tutorialSidebar"},"applications/system-tools/watchtower":{"id":"applications/system-tools/watchtower","title":"Watchtower","description":"Homepage//github.com/v2tec/watchtower","sidebar":"tutorialSidebar"},"applications/system-tools/whatsupdocker":{"id":"applications/system-tools/whatsupdocker","title":"Whats-up-Docker","description":"Docker container update notifier","sidebar":"tutorialSidebar"},"contributing/add-an-application":{"id":"contributing/add-an-application","title":"Add An Application","description":"Adding a new application to Ansible-NAS is easy! First, set up your development environment.","sidebar":"tutorialSidebar"},"contributing/development-environment":{"id":"contributing/development-environment","title":"Development Environment","description":"A little setup is required to ensure that you can develop and test Ansible-NAS contributions.","sidebar":"tutorialSidebar"},"further-configuration/hardware":{"id":"further-configuration/hardware","title":"Hardware","description":"Ansible-NAS will run against any Ubuntu box, a Raspberry Pi 4, or even a VM if you\'re just testing things out. The hardware you pick for Ansible-NAS depends largely on what you intend to do with your server - and is very much a \\"how long is a piece of string\\" type question.","sidebar":"tutorialSidebar"},"further-configuration/migrating-from-freenas":{"id":"further-configuration/migrating-from-freenas","title":"Migrating from FreeNAS","description":"FreeNAS uses ZFS as it\'s core storage filesystem. ZFS on Linux is supported natively in Ubuntu, so importing FreeNAS zpools is easy.","sidebar":"tutorialSidebar"},"further-configuration/nfs-exports":{"id":"further-configuration/nfs-exports","title":"NFS Exports","description":"Ansible-NAS uses the awesome geerlingguy.nfs Ansible role to configure NFS exports.","sidebar":"tutorialSidebar"},"further-configuration/samba-shares":{"id":"further-configuration/samba-shares","title":"Samba Shares","description":"Ansible-NAS uses the awesome bertvv.samba Ansible role to configure Samba - check out the project page for the many different options you can use to configure a share.","sidebar":"tutorialSidebar"},"getting-started/configure-dashboard":{"id":"getting-started/configure-dashboard","title":"Configure A Dashboard","description":"Once you start to enable a few applications, it becomes difficult to remember the addresses of where to find them.","sidebar":"tutorialSidebar"},"getting-started/enabling-applications":{"id":"getting-started/enabling-applications","title":"Enabling Applications","description":"Ansible-NAS takes advantage of Ansible\'s prescendence rules to enable and disable applications.","sidebar":"tutorialSidebar"},"getting-started/external-access":{"id":"getting-started/external-access","title":"External Access","description":"There are a number of steps required to enable external access to the applications running on your NAS:","sidebar":"tutorialSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Installation","description":"Ansible-NAS is an Ansible playbook that sets up applications of your choice on your home server.","sidebar":"tutorialSidebar"},"index":{"id":"index","title":"Introduction","description":"After getting burned by broken FreeNAS updates one too many times, I figured I could do a much better job myself using just a stock Ubuntu install, some clever Ansible config and a bunch of Docker containers. Ansible-NAS was born!","sidebar":"tutorialSidebar"},"support":{"id":"support","title":"Support","description":"Getting support for Ansible-NAS is easy!","sidebar":"tutorialSidebar"},"upgrading":{"id":"upgrading","title":"Upgrading","description":"Upgrading consists of two steps - firstly updating the Ansible-NAS code on your Ansible control node, and then running the playbook against your Ubuntu server.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/e563856b.0c5e2aba.js b/assets/js/e563856b.0c5e2aba.js deleted file mode 100644 index 30f8f603d6..0000000000 --- a/assets/js/e563856b.0c5e2aba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkansible_nas=self.webpackChunkansible_nas||[]).push([[9073],{8337:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var t=n(5893),s=n(1151);const i={title:"Cloud Commander"},a=void 0,r={id:"applications/system-tools/cloudcmd",title:"Cloud Commander",description:"Homepage//cloudcmd.io/",source:"@site/docs/applications/system-tools/cloudcmd.md",sourceDirName:"applications/system-tools",slug:"/applications/system-tools/cloudcmd",permalink:"/ansible-nas/docs/applications/system-tools/cloudcmd",draft:!1,unlisted:!1,editUrl:"https://github.com/anarion80/ansible-nas/tree/main/website/docs/applications/system-tools/cloudcmd.md",tags:[],version:"current",frontMatter:{title:"Cloud Commander"},sidebar:"tutorialSidebar",previous:{title:"Blocky",permalink:"/ansible-nas/docs/applications/system-tools/blocky"},next:{title:"Cloudflare DDNS",permalink:"/ansible-nas/docs/applications/system-tools/cloudflare_ddns"}},c={},l=[{value:"Usage",id:"usage",level:2}];function d(e){const o={a:"a",code:"code",h2:"h2",p:"p",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.p,{children:["Homepage: ",(0,t.jsx)(o.a,{href:"https://cloudcmd.io/",children:"https://cloudcmd.io/"})]}),"\n",(0,t.jsx)(o.p,{children:"Cloud Commander is a file manager for the web. It includes a command-line console and a text editor. Cloud Commander helps you manage your server and work with files, directories and programs in a web browser from any computer, mobile or tablet."}),"\n",(0,t.jsx)(o.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsxs)(o.p,{children:["Set ",(0,t.jsx)(o.code,{children:"cloudcmd_enabled: true"})," in your ",(0,t.jsx)(o.code,{children:"inventories//group_vars/nas.yml"})," file."]}),"\n",(0,t.jsxs)(o.p,{children:["By default your the root of your Ansible-NAS box (",(0,t.jsx)(o.code,{children:"/"}),") is mounted into ",(0,t.jsx)(o.code,{children:"/mnt/fs"})," within the container. If you'd like to change this update ",(0,t.jsx)(o.code,{children:"cloudcmd_browse_directory"})," in your ",(0,t.jsx)(o.code,{children:"inventories//group_vars/nas.yml"})," file."]}),"\n",(0,t.jsx)(o.p,{children:"If you enable external access to Cloud Commander (note that this is not recommended) then ensure you configure authorisation\nwithin the application (F10 from the main menu)."})]})}function u(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},1151:(e,o,n)=>{n.d(o,{Z:()=>r,a:()=>a});var t=n(7294);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e563856b.f7c7c0e8.js b/assets/js/e563856b.f7c7c0e8.js new file mode 100644 index 0000000000..7a2261d905 --- /dev/null +++ b/assets/js/e563856b.f7c7c0e8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkansible_nas=self.webpackChunkansible_nas||[]).push([[9073],{8337:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=n(5893),s=n(1151);const i={title:"Cloud Commander"},a=void 0,r={id:"applications/system-tools/cloudcmd",title:"Cloud Commander",description:"Homepage//cloudcmd.io/",source:"@site/docs/applications/system-tools/cloudcmd.md",sourceDirName:"applications/system-tools",slug:"/applications/system-tools/cloudcmd",permalink:"/ansible-nas/docs/applications/system-tools/cloudcmd",draft:!1,unlisted:!1,editUrl:"https://github.com/anarion80/ansible-nas/tree/main/website/docs/applications/system-tools/cloudcmd.md",tags:[],version:"current",frontMatter:{title:"Cloud Commander"},sidebar:"tutorialSidebar",previous:{title:"Casdoor",permalink:"/ansible-nas/docs/applications/system-tools/casdoor"},next:{title:"Cloudflare DDNS",permalink:"/ansible-nas/docs/applications/system-tools/cloudflare_ddns"}},c={},d=[{value:"Usage",id:"usage",level:2}];function l(e){const o={a:"a",code:"code",h2:"h2",p:"p",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.p,{children:["Homepage: ",(0,t.jsx)(o.a,{href:"https://cloudcmd.io/",children:"https://cloudcmd.io/"})]}),"\n",(0,t.jsx)(o.p,{children:"Cloud Commander is a file manager for the web. It includes a command-line console and a text editor. Cloud Commander helps you manage your server and work with files, directories and programs in a web browser from any computer, mobile or tablet."}),"\n",(0,t.jsx)(o.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsxs)(o.p,{children:["Set ",(0,t.jsx)(o.code,{children:"cloudcmd_enabled: true"})," in your ",(0,t.jsx)(o.code,{children:"inventories//group_vars/nas.yml"})," file."]}),"\n",(0,t.jsxs)(o.p,{children:["By default your the root of your Ansible-NAS box (",(0,t.jsx)(o.code,{children:"/"}),") is mounted into ",(0,t.jsx)(o.code,{children:"/mnt/fs"})," within the container. If you'd like to change this update ",(0,t.jsx)(o.code,{children:"cloudcmd_browse_directory"})," in your ",(0,t.jsx)(o.code,{children:"inventories//group_vars/nas.yml"})," file."]}),"\n",(0,t.jsx)(o.p,{children:"If you enable external access to Cloud Commander (note that this is not recommended) then ensure you configure authorisation\nwithin the application (F10 from the main menu)."})]})}function u(e={}){const{wrapper:o}={...(0,s.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},1151:(e,o,n)=>{n.d(o,{Z:()=>r,a:()=>a});var t=n(7294);const s={},i=t.createContext(s);function a(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.479a7565.js b/assets/js/main.479a7565.js deleted file mode 100644 index a4f8a2cbf4..0000000000 --- a/assets/js/main.479a7565.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.479a7565.js.LICENSE.txt */ -(self.webpackChunkansible_nas=self.webpackChunkansible_nas||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var a=n(8356),o=n.n(a),i=n(6887);const r={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"024706b5":[()=>n.e(1564).then(n.bind(n,2798)),"@site/docs/applications/system-tools/lldap.md",2798],"03387db8":[()=>n.e(264).then(n.bind(n,5136)),"@site/docs/applications/content-management/flatnotes.md",5136],"042bda53":[()=>n.e(5909).then(n.bind(n,2506)),"@site/docs/applications/other/silverbullet.md",2506],"06cbe989":[()=>n.e(2747).then(n.t.bind(n,3861,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-gaming-80e.json",3861],"071e86a5":[()=>n.e(6752).then(n.bind(n,5077)),"@site/docs/applications/content-management/ryot.md",5077],"078aca2f":[()=>n.e(3668).then(n.bind(n,202)),"@site/docs/applications/other/olivetin.md",202],"09a72b5f":[()=>n.e(9755).then(n.bind(n,7998)),"@site/docs/applications/other/librephotos.md",7998],"0a48f752":[()=>n.e(6930).then(n.bind(n,7217)),"@site/docs/applications/dashboards/flame.md",7217],"0c57b061":[()=>n.e(6375).then(n.bind(n,8329)),"@site/docs/applications/monitoring/wireshark.md",8329],"0de636c4":[()=>n.e(6329).then(n.bind(n,6723)),"@site/docs/applications/other/lubelogger.md",6723],"0e4b796e":[()=>n.e(1562).then(n.bind(n,6635)),"@site/docs/applications/development-tools/budibase.md",6635],"0ec50a38":[()=>n.e(6978).then(n.bind(n,6066)),"@site/docs/applications/download-tools/deluge.md",6066],"0eecc7a7":[()=>n.e(2805).then(n.t.bind(n,5539,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-other-2c8.json",5539],"0f94cc7e":[()=>n.e(2381).then(n.t.bind(n,8445,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-applications-7ff.json",8445],"1078b70d":[()=>n.e(9658).then(n.bind(n,5040)),"@site/docs/applications/other/input.md",5040],"13139b20":[()=>n.e(3526).then(n.bind(n,5334)),"@site/docs/applications/gaming/minecraft-bedrock-server.md",5334],"14b97358":[()=>n.e(996).then(n.bind(n,721)),"@site/docs/applications/other/changedetection.md",721],"14eb3368":[()=>Promise.all([n.e(532),n.e(9817)]).then(n.bind(n,4228)),"@theme/DocCategoryGeneratedIndexPage",4228],"14ee08b0":[()=>n.e(3907).then(n.t.bind(n,9500,19)),"~blog/default/ansible-nas-blog-tags-website-6f5-list.json",9500],"1561f364":[()=>n.e(9649).then(n.bind(n,1169)),"@site/docs/applications/download-tools/utorrent.md",1169],17896441:[()=>Promise.all([n.e(532),n.e(5814),n.e(7918)]).then(n.bind(n,5154)),"@theme/DocItem",5154],"18eaf6b3":[()=>n.e(5883).then(n.bind(n,8013)),"@site/docs/applications/system-tools/loki.md",8013],"18eb8adf":[()=>n.e(5935).then(n.bind(n,4629)),"@site/docs/applications/other/barcodebuddy.md",4629],"1971eeb6":[()=>n.e(1687).then(n.t.bind(n,4923,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-development-tools-f29.json",4923],"19b672e0":[()=>n.e(2571).then(n.bind(n,5731)),"@site/docs/applications/system-tools/ddns_updater.md",5731],"1bc56dbc":[()=>n.e(5518).then(n.bind(n,8805)),"@site/docs/applications/home-automation/homebridge.md",8805],"1d3f208a":[()=>n.e(8044).then(n.bind(n,7718)),"@site/docs/applications/other/authentik.md",7718],"1d85f131":[()=>n.e(3194).then(n.bind(n,9750)),"@site/docs/applications/other/nextcloud.md",9750],"1fe3248d":[()=>n.e(3474).then(n.bind(n,5339)),"@site/docs/applications/development-tools/nomad.md",5339],21024315:[()=>n.e(4985).then(n.t.bind(n,8299,19)),"~blog/default/ansible-nas-blog-tags-ansible-nas-269-list.json",8299],"2138e6be":[()=>n.e(3247).then(n.bind(n,4695)),"@site/docs/applications/download-tools/sonarr.md",4695],"21b69333":[()=>n.e(840).then(n.t.bind(n,583,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-download-tools-ab0.json",583],"226554d7":[()=>n.e(1852).then(n.bind(n,9166)),"@site/docs/applications/media-serving/minidlna.md",9166],"22e928db":[()=>n.e(5944).then(n.bind(n,6930)),"@site/docs/applications/other/traefik.md",6930],23438826:[()=>n.e(4940).then(n.bind(n,7470)),"@site/docs/applications/content-management/tiddlywiki.md",7470],"23a0871c":[()=>n.e(3933).then(n.bind(n,5087)),"@site/docs/applications/content-management/huntly.md",5087],26317213:[()=>n.e(7346).then(n.bind(n,665)),"@site/docs/applications/system-tools/blocky.md",665],"27fa98f4":[()=>n.e(8970).then(n.bind(n,8493)),"@site/docs/applications/other/gotify.md",8493],"296e731b":[()=>n.e(5684).then(n.bind(n,1297)),"@site/docs/applications/content-management/siyuan.md",1297],"2b0e4764":[()=>n.e(4674).then(n.t.bind(n,8175,19)),"~blog/default/ansible-nas-blog-tags-tags-978.json",8175],"2b708e87":[()=>n.e(2302).then(n.t.bind(n,8238,19)),"~blog/default/ansible-nas-blog-archive-716.json",8238],"2bc51d40":[()=>n.e(7387).then(n.bind(n,608)),"@site/docs/applications/media-serving/moviematch.md",608],"2c884064":[()=>n.e(793).then(n.bind(n,1012)),"@site/docs/applications/content-management/dokuwiki.md",1012],"2cd8ac35":[()=>n.e(1940).then(n.bind(n,2452)),"@site/docs/applications/media-serving/calibre-web.md",2452],"2d353337":[()=>n.e(6387).then(n.t.bind(n,3535,19)),"~blog/default/ansible-nas-blog-tags-website-6f5.json",3535],"2d5a05df":[()=>n.e(8349).then(n.bind(n,1248)),"@site/docs/applications/content-management/ghost.md",1248],"2dc1d85b":[()=>n.e(3603).then(n.t.bind(n,7834,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-contributing-43c.json",7834],"2e52a7ea":[()=>n.e(5318).then(n.bind(n,5969)),"@site/docs/applications/other/firefly.md",5969],"3328d05c":[()=>n.e(5749).then(n.bind(n,8651)),"@site/docs/applications/other/huginn.md",8651],"342fe565":[()=>n.e(8316).then(n.bind(n,8328)),"@site/docs/applications/system-tools/phpmyadmin.md",8328],"35eab3f3":[()=>n.e(8750).then(n.bind(n,3800)),"@site/docs/applications/other/mantium.md",3800],"409e5151":[()=>n.e(8798).then(n.t.bind(n,851,19)),"~blog/default/ansible-nas-blog-tags-ansible-nas-269.json",851],"42183b19":[()=>n.e(6293).then(n.bind(n,5816)),"@site/docs/applications/content-management/trilium.md",5816],"4307cf37":[()=>n.e(1171).then(n.bind(n,1322)),"@site/docs/applications/media-serving/invidious.md",1322],"43eccea0":[()=>n.e(3780).then(n.bind(n,4937)),"@site/docs/applications/development-tools/gitea.md",4937],44614241:[()=>n.e(1612).then(n.bind(n,7934)),"@site/docs/applications/other/seafile.md",7934],"448920a7":[()=>n.e(7999).then(n.bind(n,3374)),"@site/docs/contributing/add-an-application.md",3374],"48b74e13":[()=>n.e(8917).then(n.bind(n,9534)),"@site/docs/further-configuration/nfs-exports.md",9534],"48d53ff6":[()=>n.e(2804).then(n.bind(n,457)),"@site/docs/applications/content-management/outline.md",457],"4a77a1ee":[()=>n.e(7350).then(n.bind(n,915)),"@site/docs/applications/home-automation/esphome.md",915],"4c26f3a6":[()=>n.e(4654).then(n.bind(n,299)),"@site/docs/applications/other/searxng.md",299],"4c5d7bed":[()=>n.e(7458).then(n.bind(n,6018)),"@site/docs/applications/other/stirlingpdf.md",6018],"4c86d22b":[()=>n.e(7306).then(n.bind(n,6026)),"@site/blog/2022-09-19-welcome/index.md?truncated=true",6026],"4e4945c5":[()=>n.e(1278).then(n.bind(n,8290)),"@site/docs/applications/other/mealie.md",8290],"4e6c2ef9":[()=>n.e(8900).then(n.bind(n,1824)),"@site/docs/applications/other/blaze.md",1824],"4f2f8693":[()=>n.e(4238).then(n.bind(n,4054)),"@site/docs/applications/other/activepieces.md",4054],"50af791c":[()=>n.e(1899).then(n.bind(n,8738)),"@site/docs/applications/other/readeck.md",8738],51549392:[()=>n.e(7219).then(n.bind(n,8907)),"@site/docs/applications/system-tools/timemachine.md",8907],"51c808d2":[()=>n.e(644).then(n.bind(n,8108)),"@site/docs/applications/other/beets.md",8108],"53a0f2b5":[()=>n.e(9006).then(n.bind(n,3267)),"@site/docs/applications/system-tools/mergerfs.md",3267],"5430a473":[()=>n.e(7602).then(n.bind(n,235)),"@site/docs/applications/development-tools/drone_ci.md",235],"54f44165":[()=>n.e(152).then(n.bind(n,9145)),"@site/docs/getting-started/installation.md",9145],"57b6adb9":[()=>n.e(3024).then(n.bind(n,1803)),"@site/docs/applications/dashboards/dashy.md",1803],"57d177f8":[()=>n.e(1359).then(n.bind(n,657)),"@site/docs/applications/other/shaarli.md",657],"57ef9df5":[()=>n.e(1976).then(n.bind(n,1844)),"@site/docs/applications/content-management/affine.md",1844],"59243b4a":[()=>n.e(4234).then(n.bind(n,4188)),"@site/docs/further-configuration/hardware.md",4188],"5a7afefa":[()=>n.e(9116).then(n.bind(n,3580)),"@site/docs/applications/media-serving/jellyfin.md",3580],"5ac6a52c":[()=>n.e(4361).then(n.bind(n,4476)),"@site/docs/applications/download-tools/get_iplayer.md",4476],"5e95c892":[()=>n.e(9661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"5fd02fbe":[()=>n.e(7459).then(n.t.bind(n,3769,19)),"/home/runner/work/ansible-nas/ansible-nas/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"60c4e9d9":[()=>n.e(5176).then(n.bind(n,3372)),"@site/docs/applications/other/overleaf.md",3372],"61ff94a6":[()=>n.e(8879).then(n.t.bind(n,9213,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-media-serving-bba.json",9213],"62ed44cb":[()=>n.e(5413).then(n.bind(n,333)),"@site/docs/applications/news/ttrss.md",333],"65d1c99d":[()=>n.e(3412).then(n.bind(n,4765)),"@site/docs/applications/other/wallabag.md",4765],"66b0dd30":[()=>n.e(5066).then(n.bind(n,8915)),"@site/docs/applications/news/commafeed.md",8915],"66c73125":[()=>n.e(9014).then(n.bind(n,9104)),"@site/docs/applications/monitoring/glances.md",9104],"67e52fd8":[()=>n.e(2770).then(n.t.bind(n,8758,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-monitoring-976.json",8758],"6875c492":[()=>Promise.all([n.e(532),n.e(5814),n.e(130),n.e(8610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"6ba68c76":[()=>n.e(6461).then(n.bind(n,9495)),"@site/docs/applications/other/dufs.md",9495],"6bcf1124":[()=>n.e(6995).then(n.bind(n,711)),"@site/docs/applications/download-tools/prowlarr.md",711],"6c0394e5":[()=>n.e(4595).then(n.bind(n,9667)),"@site/docs/applications/other/keycloak.md",9667],"6db6a66e":[()=>n.e(4404).then(n.bind(n,7601)),"@site/docs/applications/news/libreddit.md",7601],"6e5d8e12":[()=>n.e(3663).then(n.bind(n,6799)),"@site/docs/applications/other/linkwarden.md",6799],"6f0184e4":[()=>n.e(8960).then(n.bind(n,9333)),"@site/docs/applications/other/grocy.md",9333],"6f92de8e":[()=>n.e(4186).then(n.bind(n,7469)),"@site/docs/applications/development-tools/gitlab.md",7469],"706e1902":[()=>n.e(5837).then(n.bind(n,4367)),"@site/docs/applications/dashboards/organizr.md",4367],72577089:[()=>n.e(8756).then(n.bind(n,2518)),"@site/docs/applications/other/heyform.md",2518],"729f0b03":[()=>n.e(7421).then(n.bind(n,1077)),"@site/docs/applications/development-tools/code-server.md",1077],"73657dab":[()=>n.e(7141).then(n.bind(n,2817)),"@site/docs/applications/download-tools/lazylibrarian.md",2817],"738e65e5":[()=>n.e(1839).then(n.bind(n,5846)),"@site/docs/further-configuration/samba-shares.md",5846],"73f2463e":[()=>n.e(3265).then(n.bind(n,2833)),"@site/docs/applications/other/vaultwarden.md",2833],"74124d67":[()=>n.e(922).then(n.t.bind(n,3803,19)),"~blog/default/ansible-nas-blog-fbe.json",3803],"7458d769":[()=>n.e(9839).then(n.t.bind(n,8444,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-getting-started-224.json",8444],"750d9873":[()=>n.e(4814).then(n.bind(n,7822)),"@site/docs/applications/other/thelounge.md",7822],"7707a0da":[()=>n.e(3176).then(n.bind(n,9662)),"@site/docs/applications/other/miniserve.md",9662],"771d689b":[()=>n.e(5409).then(n.bind(n,3e3)),"@site/docs/applications/other/littlelink.md",3e3],"773f9c77":[()=>n.e(8427).then(n.bind(n,7590)),"@site/docs/applications/other/libretranslate.md",7590],"78deb359":[()=>n.e(8656).then(n.bind(n,174)),"@site/docs/applications/system-tools/healthchecks.io.md",174],"78f93de0":[()=>n.e(4287).then(n.bind(n,1481)),"@site/docs/applications/system-tools/netbox.md",1481],"7ac255b7":[()=>n.e(6604).then(n.bind(n,5175)),"@site/docs/applications/download-tools/couchpotato.md",5175],"7ce075d9":[()=>n.e(2598).then(n.bind(n,9252)),"@site/docs/applications/media-serving/romm.md",9252],"7f04620f":[()=>n.e(1476).then(n.bind(n,5859)),"@site/docs/applications/home-automation/frigate.md",5859],"7fb7ed6f":[()=>n.e(7761).then(n.bind(n,6836)),"@site/docs/applications/other/photoprism.md",6836],"7ffff81a":[()=>n.e(4350).then(n.bind(n,6629)),"@site/docs/applications/media-serving/calibre.md",6629],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"81a133e4":[()=>n.e(5082).then(n.t.bind(n,5210,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-system-tools-82a.json",5210],"827d0c2a":[()=>n.e(3167).then(n.bind(n,1319)),"@site/docs/applications/home-automation/hafusion.md",1319],"82caa24e":[()=>n.e(8455).then(n.bind(n,3527)),"@site/docs/applications/dashboards/heimdall.md",3527],"8348f0ef":[()=>n.e(4913).then(n.bind(n,1762)),"@site/docs/applications/system-tools/minio.md",1762],"8431cf69":[()=>n.e(86).then(n.bind(n,3449)),"@site/docs/applications/other/wallos.md",3449],"846ca615":[()=>n.e(1483).then(n.bind(n,6473)),"@site/docs/applications/home-automation/mosquitto.md",6473],"85365ff3":[()=>n.e(5005).then(n.bind(n,5782)),"@site/docs/applications/media-serving/kavita.md",5782],"8593edcb":[()=>n.e(198).then(n.bind(n,9484)),"@site/docs/getting-started/enabling-applications.md",9484],"85a1afb9":[()=>n.e(579).then(n.bind(n,7360)),"@site/docs/applications/system-tools/restic.md",7360],"8684374b":[()=>n.e(5446).then(n.bind(n,3081)),"@site/docs/applications/media-serving/mymediaforalexa.md",3081],"86bc50fd":[()=>n.e(221).then(n.bind(n,30)),"@site/docs/applications/other/admidio.md",30],"86e400e1":[()=>n.e(9403).then(n.bind(n,1381)),"@site/docs/applications/gaming/minecraft-server.md",1381],"8774a31a":[()=>n.e(7297).then(n.bind(n,1467)),"@site/docs/applications/other/whoogle.md",1467],"88b6c1ad":[()=>n.e(1874).then(n.bind(n,9801)),"@site/docs/applications/system-tools/watchtower.md",9801],"8905426d":[()=>n.e(5835).then(n.bind(n,2919)),"@site/docs/applications/news/miniflux.md",2919],"89ba8541":[()=>n.e(2094).then(n.bind(n,1841)),"@site/docs/getting-started/configure-dashboard.md",1841],"89e913fd":[()=>n.e(9209).then(n.bind(n,7078)),"@site/docs/applications/gaming/minetest-server.md",7078],"8b8bfd99":[()=>n.e(2277).then(n.bind(n,7287)),"@site/docs/applications/other/listmonk.md",7287],"8d19c1bc":[()=>n.e(6544).then(n.bind(n,460)),"@site/docs/applications/monitoring/librespeed.md",460],"8df2495e":[()=>n.e(1526).then(n.bind(n,5945)),"@site/docs/applications/download-tools/transmission.md",5945],"8ebe0c38":[()=>n.e(8416).then(n.bind(n,9269)),"@site/docs/applications/media-serving/threadfin.md",9269],"9092ea15":[()=>n.e(1668).then(n.bind(n,7006)),"@site/docs/applications/content-management/huly.md",7006],"9281dee7":[()=>n.e(2833).then(n.bind(n,3604)),"@site/docs/applications/home-automation/openhab.md",3604],"92c7c73e":[()=>n.e(1765).then(n.bind(n,9098)),"@site/docs/applications/monitoring/stats.md",9098],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"93a4bf09":[()=>n.e(6709).then(n.bind(n,5754)),"@site/docs/applications/system-tools/krusader.md",5754],"93e30d61":[()=>n.e(7559).then(n.bind(n,2572)),"@site/docs/applications/dashboards/homarr.md",2572],"94439c61":[()=>n.e(3991).then(n.t.bind(n,5525,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-news-993.json",5525],"9492bfc9":[()=>n.e(5299).then(n.bind(n,9150)),"@site/docs/applications/other/neko.md",9150],"952c0338":[()=>n.e(6686).then(n.bind(n,5107)),"@site/docs/applications/download-tools/nzbget.md",5107],97201270:[()=>n.e(1996).then(n.bind(n,6008)),"@site/docs/applications/system-tools/promtail.md",6008],"97290eac":[()=>n.e(1037).then(n.bind(n,7537)),"@site/docs/applications/news/freshrss.md",7537],98328196:[()=>n.e(7130).then(n.bind(n,5850)),"@site/docs/applications/system-tools/mysql.md",5850],"9845dbc5":[()=>n.e(2896).then(n.bind(n,5483)),"@site/docs/applications/other/photofield.md",5483],"988e94bb":[()=>n.e(5498).then(n.bind(n,337)),"@site/docs/applications/other/paperless_ng.md",337],99794838:[()=>n.e(1251).then(n.bind(n,4204)),"@site/docs/applications/other/wger.md",4204],"9ab0a800":[()=>n.e(4147).then(n.bind(n,5308)),"@site/docs/applications/content-management/evershop.md",5308],"9c8f11ae":[()=>n.e(3634).then(n.bind(n,7181)),"@site/docs/applications/home-automation/icbinv.md",7181],"9d7a9dd4":[()=>n.e(7657).then(n.t.bind(n,5910,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-home-automation-cde.json",5910],"9dc5ac1e":[()=>n.e(9616).then(n.t.bind(n,4469,19)),"/home/runner/work/ansible-nas/ansible-nas/website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"9dcd3851":[()=>n.e(5586).then(n.bind(n,262)),"@site/docs/applications/system-tools/cloudflare_ddns.md",262],"9e29af11":[()=>n.e(3211).then(n.bind(n,1776)),"@site/docs/applications/other/webtrees.md",1776],"9e4087bc":[()=>n.e(3608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],"9f4c77da":[()=>n.e(4592).then(n.bind(n,7299)),"@site/docs/applications/download-tools/nzbhydra2.md",7299],"9f59e0c4":[()=>n.e(5506).then(n.bind(n,1295)),"@site/docs/applications/system-tools/rclone.md",1295],a04ec718:[()=>n.e(6396).then(n.bind(n,9672)),"@site/docs/applications/other/virtual_desktop.md",9672],a0f8a642:[()=>n.e(3571).then(n.bind(n,8564)),"@site/docs/applications/home-automation/n8n.md",8564],a151d981:[()=>n.e(5986).then(n.bind(n,8098)),"@site/docs/applications/download-tools/jackett.md",8098],a1b885bc:[()=>n.e(29).then(n.bind(n,5946)),"@site/docs/applications/download-tools/sabnzbd.md",5946],a436a973:[()=>n.e(3392).then(n.bind(n,376)),"@site/docs/applications/other/formbricks.md",376],a45ad57b:[()=>n.e(5743).then(n.bind(n,2836)),"@site/docs/applications/monitoring/graylog.md",2836],a50a43fb:[()=>n.e(1480).then(n.bind(n,6469)),"@site/docs/applications/content-management/joomla.md",6469],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(5814),n.e(130),n.e(3089)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a6bcdb89:[()=>n.e(5538).then(n.bind(n,2660)),"@site/docs/applications/other/chatpad.md",2660],a6f41b68:[()=>n.e(1479).then(n.bind(n,6262)),"@site/docs/applications/stacks/logging.md",6262],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,7255)),"@theme/DocVersionRoot",7255],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],a970095a:[()=>n.e(9038).then(n.bind(n,1102)),"@site/docs/applications/media-serving/tautulli.md",1102],a98c1873:[()=>n.e(3577).then(n.bind(n,8694)),"@site/docs/applications/other/chatwoot.md",8694],ad09f174:[()=>n.e(1473).then(n.bind(n,4750)),"@site/docs/applications/other/hello_world.md",4750],ad99c96a:[()=>n.e(8308).then(n.bind(n,8297)),"@site/docs/contributing/development-environment.md",8297],ada816ba:[()=>n.e(7755).then(n.bind(n,813)),"@site/docs/applications/other/photostructure.md",813],adaff3e8:[()=>n.e(4959).then(n.bind(n,938)),"@site/docs/applications/media-serving/emby.md",938],ae3283a5:[()=>n.e(720).then(n.bind(n,8410)),"@site/docs/applications/media-serving/komga.md",8410],b059dcf0:[()=>n.e(2033).then(n.t.bind(n,5745,19)),"/home/runner/work/ansible-nas/ansible-nas/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],b280f023:[()=>n.e(9724).then(n.bind(n,9114)),"@site/docs/applications/download-tools/lidarr.md",9114],b37ec2af:[()=>n.e(1084).then(n.bind(n,1522)),"@site/docs/applications/media-serving/ubooquity.md",1522],b68530ac:[()=>n.e(9841).then(n.bind(n,2025)),"@site/docs/applications/content-management/standardnotes.md",2025],b710f03f:[()=>n.e(9935).then(n.bind(n,2128)),"@site/docs/applications/download-tools/ombi.md",2128],b7c25f5b:[()=>n.e(3969).then(n.bind(n,6659)),"@site/docs/applications/home-automation/ebusd.md",6659],b87df0fb:[()=>n.e(8844).then(n.bind(n,3659)),"@site/docs/applications/system-tools/snipeit.md",3659],b8cb880b:[()=>n.e(4476).then(n.bind(n,1746)),"@site/docs/applications/other/formio.md",1746],b906a42b:[()=>n.e(729).then(n.bind(n,9886)),"@site/docs/upgrading.md",9886],ba9fe9a6:[()=>n.e(158).then(n.bind(n,404)),"@site/docs/applications/home-automation/nodered.md",404],bac51dab:[()=>n.e(8163).then(n.bind(n,1876)),"@site/docs/applications/other/openbooks.md",1876],bd782b2c:[()=>n.e(2544).then(n.bind(n,2807)),"@site/docs/applications/system-tools/netbootxyz.md",2807],be539c39:[()=>n.e(5207).then(n.bind(n,9287)),"@site/docs/applications/system-tools/portainer.md",9287],bedccef8:[()=>n.e(1210).then(n.bind(n,8585)),"@site/docs/applications/other/releasebell.md",8585],c240dca4:[()=>n.e(9351).then(n.bind(n,6558)),"@site/blog/2022-09-19-welcome/index.md",6558],c377a04b:[()=>n.e(6971).then(n.bind(n,9925)),"@site/docs/index.md",9925],c4f5d8e4:[()=>Promise.all([n.e(532),n.e(4195)]).then(n.bind(n,3261)),"@site/src/pages/index.js",3261],c64c86e3:[()=>n.e(6826).then(n.bind(n,8836)),"@site/docs/applications/other/openresume.md",8836],c6a1f8c7:[()=>n.e(927).then(n.bind(n,716)),"@site/docs/applications/development-tools/leantime.md",716],c6edadde:[()=>n.e(8330).then(n.bind(n,3226)),"@site/docs/applications/other/exaclidraw.md",3226],c7b67baf:[()=>n.e(2444).then(n.bind(n,8127)),"@site/docs/applications/download-tools/metube.md",8127],c927d800:[()=>n.e(4677).then(n.bind(n,6486)),"@site/docs/applications/other/wishthis.md",6486],c9b8643b:[()=>n.e(8171).then(n.bind(n,2275)),"@site/docs/applications/download-tools/youtubedlmaterial.md",2275],cad7e91f:[()=>n.e(8458).then(n.bind(n,9260)),"@site/docs/applications/download-tools/bazarr.md",9260],cb539a35:[()=>n.e(8015).then(n.bind(n,5891)),"@site/docs/applications/other/homepage.md",5891],ccc49370:[()=>Promise.all([n.e(532),n.e(5814),n.e(130),n.e(6103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],ce2f644c:[()=>n.e(5333).then(n.bind(n,3175)),"@site/docs/applications/content-management/memos.md",3175],d1718a7e:[()=>n.e(7629).then(n.bind(n,3979)),"@site/docs/applications/other/linkding.md",3979],d1de2f22:[()=>n.e(9465).then(n.bind(n,1065)),"@site/docs/applications/news/rssbridge.md",1065],d2af7104:[()=>n.e(8935).then(n.t.bind(n,166,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-stacks-161.json",166],d5fa0a96:[()=>n.e(1868).then(n.bind(n,6972)),"@site/docs/applications/download-tools/mylar.md",6972],d6642739:[()=>n.e(674).then(n.bind(n,5877)),"@site/docs/applications/system-tools/duplicacy.md",5877],d9b67089:[()=>n.e(2643).then(n.bind(n,2686)),"@site/docs/applications/other/wanderer.md",2686],d9e16301:[()=>n.e(6217).then(n.bind(n,3514)),"@site/docs/support.md",3514],dc84a1c4:[()=>n.e(1974).then(n.bind(n,3508)),"@site/docs/applications/other/guacamole.md",3508],e01973ec:[()=>n.e(8526).then(n.bind(n,5387)),"@site/docs/applications/other/authelia.md",5387],e34a7319:[()=>n.e(3955).then(n.bind(n,2126)),"@site/docs/further-configuration/migrating-from-freenas.md",2126],e398f8ca:[()=>n.e(7257).then(n.t.bind(n,8406,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-further-configuration-1ae.json",8406],e3e38c7a:[()=>n.e(1147).then(n.bind(n,6126)),"@site/docs/applications/download-tools/pyload.md",6126],e41c4f5e:[()=>n.e(1707).then(n.bind(n,6811)),"@site/docs/applications/media-serving/gaps.md",6811],e435e0fa:[()=>n.e(5414).then(n.bind(n,4123)),"@site/docs/applications/other/octoprint.md",4123],e441f269:[()=>n.e(1977).then(n.bind(n,7709)),"@site/docs/applications/system-tools/route53_ddns.md",7709],e5147fd0:[()=>n.e(8302).then(n.t.bind(n,5275,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-content-management-5be.json",5275],e563856b:[()=>n.e(9073).then(n.bind(n,8337)),"@site/docs/applications/system-tools/cloudcmd.md",8337],e7efaf6b:[()=>n.e(6399).then(n.bind(n,4312)),"@site/docs/applications/content-management/obsidian.md",4312],e860bafb:[()=>n.e(8421).then(n.bind(n,1277)),"@site/docs/applications/media-serving/airsonic.md",1277],ebdcce7c:[()=>n.e(7767).then(n.bind(n,63)),"@site/docs/applications/monitoring/speedtest.md",63],ecb32864:[()=>n.e(4608).then(n.bind(n,1495)),"@site/docs/applications/media-serving/plex.md",1495],efc8ef5c:[()=>n.e(7932).then(n.bind(n,1571)),"@site/docs/applications/observability/grafana.md",1571],f029fa4c:[()=>n.e(7391).then(n.bind(n,3868)),"@site/docs/applications/content-management/twenty.md",3868],f02d8a63:[()=>n.e(8633).then(n.bind(n,1350)),"@site/docs/applications/other/claper.md",1350],f04cdb90:[()=>n.e(4821).then(n.bind(n,1802)),"@site/docs/applications/development-tools/woodpecker_ci.md",1802],f0878079:[()=>n.e(3373).then(n.bind(n,6080)),"@site/docs/applications/media-serving/navidrome.md",6080],f1e2d1c7:[()=>n.e(4052).then(n.bind(n,377)),"@site/docs/applications/system-tools/dockge.md",377],f1ecbce9:[()=>n.e(1935).then(n.bind(n,4210)),"@site/docs/applications/system-tools/whatsupdocker.md",4210],f24ecc48:[()=>n.e(7662).then(n.bind(n,7125)),"@site/docs/applications/other/immich.md",7125],f2c90cc2:[()=>n.e(9226).then(n.bind(n,8226)),"@site/docs/applications/other/livehelperchat.md",8226],f2ec320f:[()=>n.e(5075).then(n.bind(n,7880)),"@site/docs/applications/content-management/servas.md",7880],f3c20bd6:[()=>n.e(7677).then(n.bind(n,1498)),"@site/docs/applications/media-serving/booksonic.md",1498],f4a7a7ec:[()=>n.e(9141).then(n.bind(n,1273)),"@site/docs/applications/dashboards/homepage.md",1273],f57c5eeb:[()=>n.e(7258).then(n.bind(n,5458)),"@site/docs/applications/other/flarum.md",5458],f5d21343:[()=>n.e(6312).then(n.t.bind(n,2669,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-observability-170.json",2669],f6436b4c:[()=>n.e(2801).then(n.bind(n,5597)),"@site/docs/applications/other/mumble.md",5597],f6aca652:[()=>n.e(636).then(n.bind(n,6698)),"@site/docs/applications/media-serving/pytivo.md",6698],f6e95281:[()=>n.e(5895).then(n.bind(n,6571)),"@site/docs/applications/other/mattermost.md",6571],f7ab641b:[()=>n.e(3178).then(n.bind(n,3439)),"@site/docs/applications/other/piwigo.md",3439],f7f866f5:[()=>n.e(5193).then(n.bind(n,250)),"@site/docs/applications/development-tools/tooljet.md",250],f8354261:[()=>n.e(8343).then(n.bind(n,1922)),"@site/docs/getting-started/external-access.md",1922],f889cc50:[()=>n.e(3883).then(n.t.bind(n,5513,19)),"~docs/default/category-ansible-nasdocs-tutorialsidebar-category-dashboards-1bd.json",5513],f9b36fa1:[()=>n.e(6010).then(n.bind(n,4767)),"@site/docs/applications/system-tools/syncthing.md",4767],fa1e8305:[()=>n.e(4095).then(n.bind(n,2882)),"@site/docs/applications/home-automation/homeassistant.md",2882],fc4d05f6:[()=>n.e(20).then(n.bind(n,1029)),"@site/docs/applications/download-tools/overseerr.md",1029],fddb1d27:[()=>n.e(1699).then(n.bind(n,3088)),"@site/docs/applications/download-tools/radarr.md",3088],fe99c33d:[()=>n.e(8793).then(n.bind(n,7552)),"@site/docs/applications/other/rallly.md",7552],ff5d1787:[()=>n.e(7584).then(n.bind(n,6851)),"@site/docs/applications/system-tools/openldap.md",6851],ffd0a506:[()=>n.e(4750).then(n.bind(n,8426)),"@site/docs/applications/system-tools/duplicati.md",8426]};var s=n(5893);function l(e){let{error:t,retry:n,pastDelay:a}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):a?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(9670),u=n(226);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(1772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,s.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const a=i[`${e}-${t}`],d={},p=[],f=[],m=(0,c.Z)(a);return Object.entries(m).forEach((e=>{let[t,n]=e;const a=r[n];a&&(d[t]=a[0],p.push(a[1]),f.push(a[2]))})),o().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(a));Object.entries(t).forEach((t=>{let[n,a]=t;const i=a.default;if(!i)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof i&&"function"!=typeof i||Object.keys(a).filter((e=>"default"!==e)).forEach((e=>{i[e]=a[e]}));let r=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{r=r[e]})),r[s[s.length-1]]=i}));const i=o.__comp;delete o.__comp;const r=o.__context;return delete o.__context,(0,s.jsx)(u.z,{value:r,children:(0,s.jsx)(i,{...o,...n})})}})}const p=[{path:"/ansible-nas/blog/",component:d("/ansible-nas/blog/","eaa"),exact:!0},{path:"/ansible-nas/blog/archive/",component:d("/ansible-nas/blog/archive/","1d1"),exact:!0},{path:"/ansible-nas/blog/tags/",component:d("/ansible-nas/blog/tags/","b64"),exact:!0},{path:"/ansible-nas/blog/tags/ansible-nas/",component:d("/ansible-nas/blog/tags/ansible-nas/","6b4"),exact:!0},{path:"/ansible-nas/blog/tags/website/",component:d("/ansible-nas/blog/tags/website/","8df"),exact:!0},{path:"/ansible-nas/blog/welcome/",component:d("/ansible-nas/blog/welcome/","838"),exact:!0},{path:"/ansible-nas/docs/",component:d("/ansible-nas/docs/","365"),routes:[{path:"/ansible-nas/docs/",component:d("/ansible-nas/docs/","20a"),routes:[{path:"/ansible-nas/docs/",component:d("/ansible-nas/docs/","23d"),routes:[{path:"/ansible-nas/docs/",component:d("/ansible-nas/docs/","113"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/affine/",component:d("/ansible-nas/docs/applications/content-management/affine/","338"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/dokuwiki/",component:d("/ansible-nas/docs/applications/content-management/dokuwiki/","f56"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/evershop/",component:d("/ansible-nas/docs/applications/content-management/evershop/","62f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/flatnotes/",component:d("/ansible-nas/docs/applications/content-management/flatnotes/","609"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/ghost/",component:d("/ansible-nas/docs/applications/content-management/ghost/","a88"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/huly/",component:d("/ansible-nas/docs/applications/content-management/huly/","c08"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/huntly/",component:d("/ansible-nas/docs/applications/content-management/huntly/","920"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/joomla/",component:d("/ansible-nas/docs/applications/content-management/joomla/","090"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/memos/",component:d("/ansible-nas/docs/applications/content-management/memos/","a5c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/obsidian/",component:d("/ansible-nas/docs/applications/content-management/obsidian/","f99"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/outline/",component:d("/ansible-nas/docs/applications/content-management/outline/","45d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/ryot/",component:d("/ansible-nas/docs/applications/content-management/ryot/","338"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/servas/",component:d("/ansible-nas/docs/applications/content-management/servas/","fc7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/siyuan/",component:d("/ansible-nas/docs/applications/content-management/siyuan/","703"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/standardnotes/",component:d("/ansible-nas/docs/applications/content-management/standardnotes/","d6e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/tiddlywiki/",component:d("/ansible-nas/docs/applications/content-management/tiddlywiki/","e72"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/trilium/",component:d("/ansible-nas/docs/applications/content-management/trilium/","b96"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/content-management/twenty/",component:d("/ansible-nas/docs/applications/content-management/twenty/","bc5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/dashboards/dashy/",component:d("/ansible-nas/docs/applications/dashboards/dashy/","735"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/dashboards/flame/",component:d("/ansible-nas/docs/applications/dashboards/flame/","d5a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/dashboards/heimdall/",component:d("/ansible-nas/docs/applications/dashboards/heimdall/","2f3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/dashboards/homarr/",component:d("/ansible-nas/docs/applications/dashboards/homarr/","028"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/dashboards/homepage/",component:d("/ansible-nas/docs/applications/dashboards/homepage/","752"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/dashboards/organizr/",component:d("/ansible-nas/docs/applications/dashboards/organizr/","d46"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/development-tools/budibase/",component:d("/ansible-nas/docs/applications/development-tools/budibase/","e08"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/development-tools/code-server/",component:d("/ansible-nas/docs/applications/development-tools/code-server/","957"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/development-tools/drone_ci/",component:d("/ansible-nas/docs/applications/development-tools/drone_ci/","337"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/development-tools/gitea/",component:d("/ansible-nas/docs/applications/development-tools/gitea/","30a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/development-tools/gitlab/",component:d("/ansible-nas/docs/applications/development-tools/gitlab/","6a8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/development-tools/leantime/",component:d("/ansible-nas/docs/applications/development-tools/leantime/","3c7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/development-tools/nomad/",component:d("/ansible-nas/docs/applications/development-tools/nomad/","425"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/development-tools/tooljet/",component:d("/ansible-nas/docs/applications/development-tools/tooljet/","ff1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/development-tools/woodpecker_ci/",component:d("/ansible-nas/docs/applications/development-tools/woodpecker_ci/","fdf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/bazarr/",component:d("/ansible-nas/docs/applications/download-tools/bazarr/","b02"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/couchpotato/",component:d("/ansible-nas/docs/applications/download-tools/couchpotato/","877"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/deluge/",component:d("/ansible-nas/docs/applications/download-tools/deluge/","c0d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/get_iplayer/",component:d("/ansible-nas/docs/applications/download-tools/get_iplayer/","53f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/jackett/",component:d("/ansible-nas/docs/applications/download-tools/jackett/","c7b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/lazylibrarian/",component:d("/ansible-nas/docs/applications/download-tools/lazylibrarian/","7b7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/lidarr/",component:d("/ansible-nas/docs/applications/download-tools/lidarr/","8b2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/metube/",component:d("/ansible-nas/docs/applications/download-tools/metube/","a31"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/mylar/",component:d("/ansible-nas/docs/applications/download-tools/mylar/","254"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/nzbget/",component:d("/ansible-nas/docs/applications/download-tools/nzbget/","e34"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/nzbhydra2/",component:d("/ansible-nas/docs/applications/download-tools/nzbhydra2/","3fa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/ombi/",component:d("/ansible-nas/docs/applications/download-tools/ombi/","350"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/overseerr/",component:d("/ansible-nas/docs/applications/download-tools/overseerr/","d0f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/prowlarr/",component:d("/ansible-nas/docs/applications/download-tools/prowlarr/","a29"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/pyload/",component:d("/ansible-nas/docs/applications/download-tools/pyload/","3c5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/radarr/",component:d("/ansible-nas/docs/applications/download-tools/radarr/","a95"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/sabnzbd/",component:d("/ansible-nas/docs/applications/download-tools/sabnzbd/","e2b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/sonarr/",component:d("/ansible-nas/docs/applications/download-tools/sonarr/","179"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/transmission/",component:d("/ansible-nas/docs/applications/download-tools/transmission/","c7e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/utorrent/",component:d("/ansible-nas/docs/applications/download-tools/utorrent/","b72"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/download-tools/youtubedlmaterial/",component:d("/ansible-nas/docs/applications/download-tools/youtubedlmaterial/","6ef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/gaming/minecraft-bedrock-server/",component:d("/ansible-nas/docs/applications/gaming/minecraft-bedrock-server/","e13"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/gaming/minecraft-server/",component:d("/ansible-nas/docs/applications/gaming/minecraft-server/","9cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/gaming/minetest-server/",component:d("/ansible-nas/docs/applications/gaming/minetest-server/","e80"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/ebusd/",component:d("/ansible-nas/docs/applications/home-automation/ebusd/","c89"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/esphome/",component:d("/ansible-nas/docs/applications/home-automation/esphome/","730"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/frigate/",component:d("/ansible-nas/docs/applications/home-automation/frigate/","e08"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/hafusion/",component:d("/ansible-nas/docs/applications/home-automation/hafusion/","410"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/homeassistant/",component:d("/ansible-nas/docs/applications/home-automation/homeassistant/","b64"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/homebridge/",component:d("/ansible-nas/docs/applications/home-automation/homebridge/","ccd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/icbinv/",component:d("/ansible-nas/docs/applications/home-automation/icbinv/","b45"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/mosquitto/",component:d("/ansible-nas/docs/applications/home-automation/mosquitto/","31c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/n8n/",component:d("/ansible-nas/docs/applications/home-automation/n8n/","4cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/nodered/",component:d("/ansible-nas/docs/applications/home-automation/nodered/","541"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/home-automation/openhab/",component:d("/ansible-nas/docs/applications/home-automation/openhab/","694"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/airsonic/",component:d("/ansible-nas/docs/applications/media-serving/airsonic/","9b6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/booksonic/",component:d("/ansible-nas/docs/applications/media-serving/booksonic/","67b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/calibre-web/",component:d("/ansible-nas/docs/applications/media-serving/calibre-web/","d72"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/calibre/",component:d("/ansible-nas/docs/applications/media-serving/calibre/","cab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/emby/",component:d("/ansible-nas/docs/applications/media-serving/emby/","3e3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/gaps/",component:d("/ansible-nas/docs/applications/media-serving/gaps/","82d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/invidious/",component:d("/ansible-nas/docs/applications/media-serving/invidious/","fab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/jellyfin/",component:d("/ansible-nas/docs/applications/media-serving/jellyfin/","2d0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/kavita/",component:d("/ansible-nas/docs/applications/media-serving/kavita/","c5c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/komga/",component:d("/ansible-nas/docs/applications/media-serving/komga/","39b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/minidlna/",component:d("/ansible-nas/docs/applications/media-serving/minidlna/","f77"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/moviematch/",component:d("/ansible-nas/docs/applications/media-serving/moviematch/","96e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/mymediaforalexa/",component:d("/ansible-nas/docs/applications/media-serving/mymediaforalexa/","53f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/navidrome/",component:d("/ansible-nas/docs/applications/media-serving/navidrome/","6e8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/plex/",component:d("/ansible-nas/docs/applications/media-serving/plex/","39c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/pytivo/",component:d("/ansible-nas/docs/applications/media-serving/pytivo/","885"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/romm/",component:d("/ansible-nas/docs/applications/media-serving/romm/","a55"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/tautulli/",component:d("/ansible-nas/docs/applications/media-serving/tautulli/","dd6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/threadfin/",component:d("/ansible-nas/docs/applications/media-serving/threadfin/","836"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/media-serving/ubooquity/",component:d("/ansible-nas/docs/applications/media-serving/ubooquity/","8dc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/monitoring/glances/",component:d("/ansible-nas/docs/applications/monitoring/glances/","e3c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/monitoring/graylog/",component:d("/ansible-nas/docs/applications/monitoring/graylog/","71b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/monitoring/librespeed/",component:d("/ansible-nas/docs/applications/monitoring/librespeed/","bfb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/monitoring/speedtest/",component:d("/ansible-nas/docs/applications/monitoring/speedtest/","f1a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/monitoring/stats/",component:d("/ansible-nas/docs/applications/monitoring/stats/","487"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/monitoring/wireshark/",component:d("/ansible-nas/docs/applications/monitoring/wireshark/","6db"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/news/commafeed/",component:d("/ansible-nas/docs/applications/news/commafeed/","5df"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/news/freshrss/",component:d("/ansible-nas/docs/applications/news/freshrss/","c12"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/news/libreddit/",component:d("/ansible-nas/docs/applications/news/libreddit/","eb3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/news/miniflux/",component:d("/ansible-nas/docs/applications/news/miniflux/","cda"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/news/rssbridge/",component:d("/ansible-nas/docs/applications/news/rssbridge/","994"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/news/ttrss/",component:d("/ansible-nas/docs/applications/news/ttrss/","957"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/observability/grafana/",component:d("/ansible-nas/docs/applications/observability/grafana/","f47"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/activepieces/",component:d("/ansible-nas/docs/applications/other/activepieces/","88b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/admidio/",component:d("/ansible-nas/docs/applications/other/admidio/","7d8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/authelia/",component:d("/ansible-nas/docs/applications/other/authelia/","ab7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/authentik/",component:d("/ansible-nas/docs/applications/other/authentik/","fc7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/barcodebuddy/",component:d("/ansible-nas/docs/applications/other/barcodebuddy/","454"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/beets/",component:d("/ansible-nas/docs/applications/other/beets/","7b3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/blaze/",component:d("/ansible-nas/docs/applications/other/blaze/","02a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/changedetection/",component:d("/ansible-nas/docs/applications/other/changedetection/","b3d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/chatpad/",component:d("/ansible-nas/docs/applications/other/chatpad/","487"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/chatwoot/",component:d("/ansible-nas/docs/applications/other/chatwoot/","ba0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/claper/",component:d("/ansible-nas/docs/applications/other/claper/","46f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/dufs/",component:d("/ansible-nas/docs/applications/other/dufs/","380"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/exaclidraw/",component:d("/ansible-nas/docs/applications/other/exaclidraw/","85d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/firefly/",component:d("/ansible-nas/docs/applications/other/firefly/","3d4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/flarum/",component:d("/ansible-nas/docs/applications/other/flarum/","e75"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/formbricks/",component:d("/ansible-nas/docs/applications/other/formbricks/","518"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/formio/",component:d("/ansible-nas/docs/applications/other/formio/","33f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/gotify/",component:d("/ansible-nas/docs/applications/other/gotify/","495"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/grocy/",component:d("/ansible-nas/docs/applications/other/grocy/","8e5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/guacamole/",component:d("/ansible-nas/docs/applications/other/guacamole/","9c5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/hello_world/",component:d("/ansible-nas/docs/applications/other/hello_world/","fec"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/heyform/",component:d("/ansible-nas/docs/applications/other/heyform/","e6b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/homepage/",component:d("/ansible-nas/docs/applications/other/homepage/","fa9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/huginn/",component:d("/ansible-nas/docs/applications/other/huginn/","c8e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/immich/",component:d("/ansible-nas/docs/applications/other/immich/","773"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/input/",component:d("/ansible-nas/docs/applications/other/input/","3d9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/keycloak/",component:d("/ansible-nas/docs/applications/other/keycloak/","918"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/librephotos/",component:d("/ansible-nas/docs/applications/other/librephotos/","073"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/libretranslate/",component:d("/ansible-nas/docs/applications/other/libretranslate/","219"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/linkding/",component:d("/ansible-nas/docs/applications/other/linkding/","5a6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/linkwarden/",component:d("/ansible-nas/docs/applications/other/linkwarden/","514"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/listmonk/",component:d("/ansible-nas/docs/applications/other/listmonk/","5a4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/littlelink/",component:d("/ansible-nas/docs/applications/other/littlelink/","204"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/livehelperchat/",component:d("/ansible-nas/docs/applications/other/livehelperchat/","919"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/lubelogger/",component:d("/ansible-nas/docs/applications/other/lubelogger/","fd0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/mantium/",component:d("/ansible-nas/docs/applications/other/mantium/","fb6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/mattermost/",component:d("/ansible-nas/docs/applications/other/mattermost/","f35"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/mealie/",component:d("/ansible-nas/docs/applications/other/mealie/","289"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/miniserve/",component:d("/ansible-nas/docs/applications/other/miniserve/","45a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/mumble/",component:d("/ansible-nas/docs/applications/other/mumble/","2ae"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/neko/",component:d("/ansible-nas/docs/applications/other/neko/","cc8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/nextcloud/",component:d("/ansible-nas/docs/applications/other/nextcloud/","d22"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/octoprint/",component:d("/ansible-nas/docs/applications/other/octoprint/","db5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/olivetin/",component:d("/ansible-nas/docs/applications/other/olivetin/","de1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/openbooks/",component:d("/ansible-nas/docs/applications/other/openbooks/","448"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/openresume/",component:d("/ansible-nas/docs/applications/other/openresume/","428"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/overleaf/",component:d("/ansible-nas/docs/applications/other/overleaf/","c33"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/paperless_ng/",component:d("/ansible-nas/docs/applications/other/paperless_ng/","5f3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/photofield/",component:d("/ansible-nas/docs/applications/other/photofield/","db4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/photoprism/",component:d("/ansible-nas/docs/applications/other/photoprism/","863"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/photostructure/",component:d("/ansible-nas/docs/applications/other/photostructure/","085"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/piwigo/",component:d("/ansible-nas/docs/applications/other/piwigo/","c69"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/rallly/",component:d("/ansible-nas/docs/applications/other/rallly/","511"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/readeck/",component:d("/ansible-nas/docs/applications/other/readeck/","0ce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/releasebell/",component:d("/ansible-nas/docs/applications/other/releasebell/","ee0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/seafile/",component:d("/ansible-nas/docs/applications/other/seafile/","e52"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/searxng/",component:d("/ansible-nas/docs/applications/other/searxng/","6c4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/shaarli/",component:d("/ansible-nas/docs/applications/other/shaarli/","0ae"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/silverbullet/",component:d("/ansible-nas/docs/applications/other/silverbullet/","bde"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/stirlingpdf/",component:d("/ansible-nas/docs/applications/other/stirlingpdf/","227"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/thelounge/",component:d("/ansible-nas/docs/applications/other/thelounge/","e8c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/traefik/",component:d("/ansible-nas/docs/applications/other/traefik/","a0d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/vaultwarden/",component:d("/ansible-nas/docs/applications/other/vaultwarden/","10c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/virtual_desktop/",component:d("/ansible-nas/docs/applications/other/virtual_desktop/","344"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/wallabag/",component:d("/ansible-nas/docs/applications/other/wallabag/","307"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/wallos/",component:d("/ansible-nas/docs/applications/other/wallos/","6ea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/wanderer/",component:d("/ansible-nas/docs/applications/other/wanderer/","aa4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/webtrees/",component:d("/ansible-nas/docs/applications/other/webtrees/","885"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/wger/",component:d("/ansible-nas/docs/applications/other/wger/","733"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/whoogle/",component:d("/ansible-nas/docs/applications/other/whoogle/","111"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/other/wishthis/",component:d("/ansible-nas/docs/applications/other/wishthis/","a15"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/stacks/logging/",component:d("/ansible-nas/docs/applications/stacks/logging/","c01"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/blocky/",component:d("/ansible-nas/docs/applications/system-tools/blocky/","966"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/cloudcmd/",component:d("/ansible-nas/docs/applications/system-tools/cloudcmd/","ce9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/cloudflare_ddns/",component:d("/ansible-nas/docs/applications/system-tools/cloudflare_ddns/","670"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/ddns_updater/",component:d("/ansible-nas/docs/applications/system-tools/ddns_updater/","4e1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/dockge/",component:d("/ansible-nas/docs/applications/system-tools/dockge/","5c6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/duplicacy/",component:d("/ansible-nas/docs/applications/system-tools/duplicacy/","e80"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/duplicati/",component:d("/ansible-nas/docs/applications/system-tools/duplicati/","744"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/healthchecks.io/",component:d("/ansible-nas/docs/applications/system-tools/healthchecks.io/","1d7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/krusader/",component:d("/ansible-nas/docs/applications/system-tools/krusader/","47e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/lldap/",component:d("/ansible-nas/docs/applications/system-tools/lldap/","7f0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/loki/",component:d("/ansible-nas/docs/applications/system-tools/loki/","18a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/mergerfs/",component:d("/ansible-nas/docs/applications/system-tools/mergerfs/","bbe"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/minio/",component:d("/ansible-nas/docs/applications/system-tools/minio/","8c3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/mysql/",component:d("/ansible-nas/docs/applications/system-tools/mysql/","c13"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/netbootxyz/",component:d("/ansible-nas/docs/applications/system-tools/netbootxyz/","b06"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/netbox/",component:d("/ansible-nas/docs/applications/system-tools/netbox/","493"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/openldap/",component:d("/ansible-nas/docs/applications/system-tools/openldap/","443"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/phpmyadmin/",component:d("/ansible-nas/docs/applications/system-tools/phpmyadmin/","0db"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/portainer/",component:d("/ansible-nas/docs/applications/system-tools/portainer/","f6a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/promtail/",component:d("/ansible-nas/docs/applications/system-tools/promtail/","2ab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/rclone/",component:d("/ansible-nas/docs/applications/system-tools/rclone/","739"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/restic/",component:d("/ansible-nas/docs/applications/system-tools/restic/","c10"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/route53_ddns/",component:d("/ansible-nas/docs/applications/system-tools/route53_ddns/","451"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/snipeit/",component:d("/ansible-nas/docs/applications/system-tools/snipeit/","7a2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/syncthing/",component:d("/ansible-nas/docs/applications/system-tools/syncthing/","32c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/timemachine/",component:d("/ansible-nas/docs/applications/system-tools/timemachine/","56b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/watchtower/",component:d("/ansible-nas/docs/applications/system-tools/watchtower/","5e8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/applications/system-tools/whatsupdocker/",component:d("/ansible-nas/docs/applications/system-tools/whatsupdocker/","290"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/applications/",component:d("/ansible-nas/docs/category/applications/","a54"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/content-management/",component:d("/ansible-nas/docs/category/content-management/","77b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/contributing/",component:d("/ansible-nas/docs/category/contributing/","531"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/dashboards/",component:d("/ansible-nas/docs/category/dashboards/","bab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/development-tools/",component:d("/ansible-nas/docs/category/development-tools/","690"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/download-tools/",component:d("/ansible-nas/docs/category/download-tools/","cf6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/further-configuration/",component:d("/ansible-nas/docs/category/further-configuration/","782"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/gaming/",component:d("/ansible-nas/docs/category/gaming/","a66"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/getting-started/",component:d("/ansible-nas/docs/category/getting-started/","451"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/home-automation/",component:d("/ansible-nas/docs/category/home-automation/","484"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/media-serving/",component:d("/ansible-nas/docs/category/media-serving/","f47"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/monitoring/",component:d("/ansible-nas/docs/category/monitoring/","ac7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/news/",component:d("/ansible-nas/docs/category/news/","42e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/observability/",component:d("/ansible-nas/docs/category/observability/","cf5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/other/",component:d("/ansible-nas/docs/category/other/","8a3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/stacks/",component:d("/ansible-nas/docs/category/stacks/","b08"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/category/system-tools/",component:d("/ansible-nas/docs/category/system-tools/","c99"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/contributing/add-an-application/",component:d("/ansible-nas/docs/contributing/add-an-application/","7a6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/contributing/development-environment/",component:d("/ansible-nas/docs/contributing/development-environment/","4e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/further-configuration/hardware/",component:d("/ansible-nas/docs/further-configuration/hardware/","fc0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/further-configuration/migrating-from-freenas/",component:d("/ansible-nas/docs/further-configuration/migrating-from-freenas/","7a8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/further-configuration/nfs-exports/",component:d("/ansible-nas/docs/further-configuration/nfs-exports/","a8f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/further-configuration/samba-shares/",component:d("/ansible-nas/docs/further-configuration/samba-shares/","b21"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/getting-started/configure-dashboard/",component:d("/ansible-nas/docs/getting-started/configure-dashboard/","c7d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/getting-started/enabling-applications/",component:d("/ansible-nas/docs/getting-started/enabling-applications/","7d1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/getting-started/external-access/",component:d("/ansible-nas/docs/getting-started/external-access/","b4f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/getting-started/installation/",component:d("/ansible-nas/docs/getting-started/installation/","251"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/support/",component:d("/ansible-nas/docs/support/","d0b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ansible-nas/docs/upgrading/",component:d("/ansible-nas/docs/upgrading/","a4a"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/ansible-nas/",component:d("/ansible-nas/","1ea"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>i,t:()=>r});var a=n(7294),o=n(5893);const i=a.createContext(!1);function r(e){let{children:t}=e;const[n,r]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{r(!0)}),[]),(0,o.jsx)(i.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var a=n(7294),o=n(745),i=n(3727),r=n(405),s=n(412);const l=[n(2497),n(3310),n(8320),n(2295)];var c=n(723),u=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5742),b=n(2263),h=n(4996),g=n(6668),y=n(1944),v=n(4711),w=n(9727),k=n(3320),S=n(8780),x=n(197);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,b.Z)(),a=(0,v.l)(),o=n[e].htmlLang,i=e=>e.replace("-","_");return(0,p.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:i(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:i(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,b.Z)(),a=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,b.Z)(),{pathname:a}=(0,u.TH)();return e+(0,S.applyTrailingSlash)((0,h.Z)(a),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:a;return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function C(){const{i18n:{currentLocale:e}}=(0,b.Z)(),{metadata:t,image:n}=(0,g.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(y.d,{image:n}),(0,p.jsx)(E,{}),(0,p.jsx)(_,{}),(0,p.jsx)(x.Z,{tag:k.HX,locale:e}),(0,p.jsx)(m.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;function j(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var A=n(8934),L=n(8940),N=n(469);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a{const a=t.default?.[e]??t[e];return a?.(...n)}));return()=>o.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,N.Z)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const a=t.pathname===n.pathname,o=t.hash===n.hash,i=t.search===n.search;if(a&&o&&!i)return;const{hash:r}=t;if(r){const e=decodeURIComponent(r.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),R("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends a.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(u.AW,{location:t,render:()=>e})})}}const I=D,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const a=document.createElement("link");a.setAttribute("rel","prefetch"),a.setAttribute("href",e),a.onload=()=>t(),a.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(a)}))}:function(e){return new Promise(((t,n)=>{const a=new XMLHttpRequest;a.open("GET",e,!0),a.withCredentials=!0,a.onload=()=>{200===a.status?t():n()},a.send(null)}))};var Y=n(9670);const K=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(s.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(r.B6,{children:(0,p.jsx)(i.VK,{children:(0,p.jsx)(V,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},s=()=>{if(ne)a.startTransition((()=>{o.hydrateRoot(e,t,{onRecoverableError:n})}));else{const i=o.createRoot(e,{onRecoverableError:n});a.startTransition((()=>{i.render(t)}))}};O(window.location.pathname).then(s)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var a=n(7294),o=n(6809);const i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/ansible-nas/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/ansible-nas/docs","mainDocId":"index","docs":[{"id":"applications/content-management/affine","path":"/ansible-nas/docs/applications/content-management/affine","sidebar":"tutorialSidebar"},{"id":"applications/content-management/dokuwiki","path":"/ansible-nas/docs/applications/content-management/dokuwiki","sidebar":"tutorialSidebar"},{"id":"applications/content-management/evershop","path":"/ansible-nas/docs/applications/content-management/evershop","sidebar":"tutorialSidebar"},{"id":"applications/content-management/flatnotes","path":"/ansible-nas/docs/applications/content-management/flatnotes","sidebar":"tutorialSidebar"},{"id":"applications/content-management/ghost","path":"/ansible-nas/docs/applications/content-management/ghost","sidebar":"tutorialSidebar"},{"id":"applications/content-management/huly","path":"/ansible-nas/docs/applications/content-management/huly","sidebar":"tutorialSidebar"},{"id":"applications/content-management/huntly","path":"/ansible-nas/docs/applications/content-management/huntly","sidebar":"tutorialSidebar"},{"id":"applications/content-management/joomla","path":"/ansible-nas/docs/applications/content-management/joomla","sidebar":"tutorialSidebar"},{"id":"applications/content-management/memos","path":"/ansible-nas/docs/applications/content-management/memos","sidebar":"tutorialSidebar"},{"id":"applications/content-management/obsidian","path":"/ansible-nas/docs/applications/content-management/obsidian","sidebar":"tutorialSidebar"},{"id":"applications/content-management/outline","path":"/ansible-nas/docs/applications/content-management/outline","sidebar":"tutorialSidebar"},{"id":"applications/content-management/ryot","path":"/ansible-nas/docs/applications/content-management/ryot","sidebar":"tutorialSidebar"},{"id":"applications/content-management/servas","path":"/ansible-nas/docs/applications/content-management/servas","sidebar":"tutorialSidebar"},{"id":"applications/content-management/siyuan","path":"/ansible-nas/docs/applications/content-management/siyuan","sidebar":"tutorialSidebar"},{"id":"applications/content-management/standardnotes","path":"/ansible-nas/docs/applications/content-management/standardnotes","sidebar":"tutorialSidebar"},{"id":"applications/content-management/tiddlywiki","path":"/ansible-nas/docs/applications/content-management/tiddlywiki","sidebar":"tutorialSidebar"},{"id":"applications/content-management/trilium","path":"/ansible-nas/docs/applications/content-management/trilium","sidebar":"tutorialSidebar"},{"id":"applications/content-management/twenty","path":"/ansible-nas/docs/applications/content-management/twenty","sidebar":"tutorialSidebar"},{"id":"applications/dashboards/dashy","path":"/ansible-nas/docs/applications/dashboards/dashy","sidebar":"tutorialSidebar"},{"id":"applications/dashboards/flame","path":"/ansible-nas/docs/applications/dashboards/flame","sidebar":"tutorialSidebar"},{"id":"applications/dashboards/heimdall","path":"/ansible-nas/docs/applications/dashboards/heimdall","sidebar":"tutorialSidebar"},{"id":"applications/dashboards/homarr","path":"/ansible-nas/docs/applications/dashboards/homarr","sidebar":"tutorialSidebar"},{"id":"applications/dashboards/homepage","path":"/ansible-nas/docs/applications/dashboards/homepage","sidebar":"tutorialSidebar"},{"id":"applications/dashboards/organizr","path":"/ansible-nas/docs/applications/dashboards/organizr","sidebar":"tutorialSidebar"},{"id":"applications/development-tools/budibase","path":"/ansible-nas/docs/applications/development-tools/budibase","sidebar":"tutorialSidebar"},{"id":"applications/development-tools/code-server","path":"/ansible-nas/docs/applications/development-tools/code-server","sidebar":"tutorialSidebar"},{"id":"applications/development-tools/drone_ci","path":"/ansible-nas/docs/applications/development-tools/drone_ci","sidebar":"tutorialSidebar"},{"id":"applications/development-tools/gitea","path":"/ansible-nas/docs/applications/development-tools/gitea","sidebar":"tutorialSidebar"},{"id":"applications/development-tools/gitlab","path":"/ansible-nas/docs/applications/development-tools/gitlab","sidebar":"tutorialSidebar"},{"id":"applications/development-tools/leantime","path":"/ansible-nas/docs/applications/development-tools/leantime","sidebar":"tutorialSidebar"},{"id":"applications/development-tools/nomad","path":"/ansible-nas/docs/applications/development-tools/nomad","sidebar":"tutorialSidebar"},{"id":"applications/development-tools/tooljet","path":"/ansible-nas/docs/applications/development-tools/tooljet","sidebar":"tutorialSidebar"},{"id":"applications/development-tools/woodpecker_ci","path":"/ansible-nas/docs/applications/development-tools/woodpecker_ci","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/bazarr","path":"/ansible-nas/docs/applications/download-tools/bazarr","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/couchpotato","path":"/ansible-nas/docs/applications/download-tools/couchpotato","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/deluge","path":"/ansible-nas/docs/applications/download-tools/deluge","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/get_iplayer","path":"/ansible-nas/docs/applications/download-tools/get_iplayer","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/jackett","path":"/ansible-nas/docs/applications/download-tools/jackett","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/lazylibrarian","path":"/ansible-nas/docs/applications/download-tools/lazylibrarian","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/lidarr","path":"/ansible-nas/docs/applications/download-tools/lidarr","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/metube","path":"/ansible-nas/docs/applications/download-tools/metube","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/mylar","path":"/ansible-nas/docs/applications/download-tools/mylar","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/nzbget","path":"/ansible-nas/docs/applications/download-tools/nzbget","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/nzbhydra2","path":"/ansible-nas/docs/applications/download-tools/nzbhydra2","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/ombi","path":"/ansible-nas/docs/applications/download-tools/ombi","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/overseerr","path":"/ansible-nas/docs/applications/download-tools/overseerr","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/prowlarr","path":"/ansible-nas/docs/applications/download-tools/prowlarr","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/pyload","path":"/ansible-nas/docs/applications/download-tools/pyload","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/radarr","path":"/ansible-nas/docs/applications/download-tools/radarr","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/sabnzbd","path":"/ansible-nas/docs/applications/download-tools/sabnzbd","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/sonarr","path":"/ansible-nas/docs/applications/download-tools/sonarr","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/transmission","path":"/ansible-nas/docs/applications/download-tools/transmission","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/utorrent","path":"/ansible-nas/docs/applications/download-tools/utorrent","sidebar":"tutorialSidebar"},{"id":"applications/download-tools/youtubedlmaterial","path":"/ansible-nas/docs/applications/download-tools/youtubedlmaterial","sidebar":"tutorialSidebar"},{"id":"applications/gaming/minecraft-bedrock-server","path":"/ansible-nas/docs/applications/gaming/minecraft-bedrock-server","sidebar":"tutorialSidebar"},{"id":"applications/gaming/minecraft-server","path":"/ansible-nas/docs/applications/gaming/minecraft-server","sidebar":"tutorialSidebar"},{"id":"applications/gaming/minetest-server","path":"/ansible-nas/docs/applications/gaming/minetest-server","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/ebusd","path":"/ansible-nas/docs/applications/home-automation/ebusd","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/esphome","path":"/ansible-nas/docs/applications/home-automation/esphome","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/frigate","path":"/ansible-nas/docs/applications/home-automation/frigate","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/hafusion","path":"/ansible-nas/docs/applications/home-automation/hafusion","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/homeassistant","path":"/ansible-nas/docs/applications/home-automation/homeassistant","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/homebridge","path":"/ansible-nas/docs/applications/home-automation/homebridge","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/icbinv","path":"/ansible-nas/docs/applications/home-automation/icbinv","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/mosquitto","path":"/ansible-nas/docs/applications/home-automation/mosquitto","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/n8n","path":"/ansible-nas/docs/applications/home-automation/n8n","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/nodered","path":"/ansible-nas/docs/applications/home-automation/nodered","sidebar":"tutorialSidebar"},{"id":"applications/home-automation/openhab","path":"/ansible-nas/docs/applications/home-automation/openhab","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/airsonic","path":"/ansible-nas/docs/applications/media-serving/airsonic","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/booksonic","path":"/ansible-nas/docs/applications/media-serving/booksonic","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/calibre","path":"/ansible-nas/docs/applications/media-serving/calibre","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/calibre-web","path":"/ansible-nas/docs/applications/media-serving/calibre-web","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/emby","path":"/ansible-nas/docs/applications/media-serving/emby","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/gaps","path":"/ansible-nas/docs/applications/media-serving/gaps","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/invidious","path":"/ansible-nas/docs/applications/media-serving/invidious","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/jellyfin","path":"/ansible-nas/docs/applications/media-serving/jellyfin","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/kavita","path":"/ansible-nas/docs/applications/media-serving/kavita","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/komga","path":"/ansible-nas/docs/applications/media-serving/komga","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/minidlna","path":"/ansible-nas/docs/applications/media-serving/minidlna","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/moviematch","path":"/ansible-nas/docs/applications/media-serving/moviematch","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/mymediaforalexa","path":"/ansible-nas/docs/applications/media-serving/mymediaforalexa","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/navidrome","path":"/ansible-nas/docs/applications/media-serving/navidrome","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/plex","path":"/ansible-nas/docs/applications/media-serving/plex","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/pytivo","path":"/ansible-nas/docs/applications/media-serving/pytivo","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/romm","path":"/ansible-nas/docs/applications/media-serving/romm","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/tautulli","path":"/ansible-nas/docs/applications/media-serving/tautulli","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/threadfin","path":"/ansible-nas/docs/applications/media-serving/threadfin","sidebar":"tutorialSidebar"},{"id":"applications/media-serving/ubooquity","path":"/ansible-nas/docs/applications/media-serving/ubooquity","sidebar":"tutorialSidebar"},{"id":"applications/monitoring/glances","path":"/ansible-nas/docs/applications/monitoring/glances","sidebar":"tutorialSidebar"},{"id":"applications/monitoring/graylog","path":"/ansible-nas/docs/applications/monitoring/graylog","sidebar":"tutorialSidebar"},{"id":"applications/monitoring/librespeed","path":"/ansible-nas/docs/applications/monitoring/librespeed","sidebar":"tutorialSidebar"},{"id":"applications/monitoring/speedtest","path":"/ansible-nas/docs/applications/monitoring/speedtest","sidebar":"tutorialSidebar"},{"id":"applications/monitoring/stats","path":"/ansible-nas/docs/applications/monitoring/stats","sidebar":"tutorialSidebar"},{"id":"applications/monitoring/wireshark","path":"/ansible-nas/docs/applications/monitoring/wireshark","sidebar":"tutorialSidebar"},{"id":"applications/news/commafeed","path":"/ansible-nas/docs/applications/news/commafeed","sidebar":"tutorialSidebar"},{"id":"applications/news/freshrss","path":"/ansible-nas/docs/applications/news/freshrss","sidebar":"tutorialSidebar"},{"id":"applications/news/libreddit","path":"/ansible-nas/docs/applications/news/libreddit","sidebar":"tutorialSidebar"},{"id":"applications/news/miniflux","path":"/ansible-nas/docs/applications/news/miniflux","sidebar":"tutorialSidebar"},{"id":"applications/news/rssbridge","path":"/ansible-nas/docs/applications/news/rssbridge","sidebar":"tutorialSidebar"},{"id":"applications/news/ttrss","path":"/ansible-nas/docs/applications/news/ttrss","sidebar":"tutorialSidebar"},{"id":"applications/observability/grafana","path":"/ansible-nas/docs/applications/observability/grafana","sidebar":"tutorialSidebar"},{"id":"applications/other/activepieces","path":"/ansible-nas/docs/applications/other/activepieces","sidebar":"tutorialSidebar"},{"id":"applications/other/admidio","path":"/ansible-nas/docs/applications/other/admidio","sidebar":"tutorialSidebar"},{"id":"applications/other/authelia","path":"/ansible-nas/docs/applications/other/authelia","sidebar":"tutorialSidebar"},{"id":"applications/other/authentik","path":"/ansible-nas/docs/applications/other/authentik","sidebar":"tutorialSidebar"},{"id":"applications/other/barcodebuddy","path":"/ansible-nas/docs/applications/other/barcodebuddy","sidebar":"tutorialSidebar"},{"id":"applications/other/beets","path":"/ansible-nas/docs/applications/other/beets","sidebar":"tutorialSidebar"},{"id":"applications/other/blaze","path":"/ansible-nas/docs/applications/other/blaze","sidebar":"tutorialSidebar"},{"id":"applications/other/changedetection","path":"/ansible-nas/docs/applications/other/changedetection","sidebar":"tutorialSidebar"},{"id":"applications/other/chatpad","path":"/ansible-nas/docs/applications/other/chatpad","sidebar":"tutorialSidebar"},{"id":"applications/other/chatwoot","path":"/ansible-nas/docs/applications/other/chatwoot","sidebar":"tutorialSidebar"},{"id":"applications/other/claper","path":"/ansible-nas/docs/applications/other/claper","sidebar":"tutorialSidebar"},{"id":"applications/other/dufs","path":"/ansible-nas/docs/applications/other/dufs","sidebar":"tutorialSidebar"},{"id":"applications/other/exaclidraw","path":"/ansible-nas/docs/applications/other/exaclidraw","sidebar":"tutorialSidebar"},{"id":"applications/other/firefly","path":"/ansible-nas/docs/applications/other/firefly","sidebar":"tutorialSidebar"},{"id":"applications/other/flarum","path":"/ansible-nas/docs/applications/other/flarum","sidebar":"tutorialSidebar"},{"id":"applications/other/formbricks","path":"/ansible-nas/docs/applications/other/formbricks","sidebar":"tutorialSidebar"},{"id":"applications/other/formio","path":"/ansible-nas/docs/applications/other/formio","sidebar":"tutorialSidebar"},{"id":"applications/other/gotify","path":"/ansible-nas/docs/applications/other/gotify","sidebar":"tutorialSidebar"},{"id":"applications/other/grocy","path":"/ansible-nas/docs/applications/other/grocy","sidebar":"tutorialSidebar"},{"id":"applications/other/guacamole","path":"/ansible-nas/docs/applications/other/guacamole","sidebar":"tutorialSidebar"},{"id":"applications/other/hello_world","path":"/ansible-nas/docs/applications/other/hello_world","sidebar":"tutorialSidebar"},{"id":"applications/other/heyform","path":"/ansible-nas/docs/applications/other/heyform","sidebar":"tutorialSidebar"},{"id":"applications/other/homepage","path":"/ansible-nas/docs/applications/other/homepage","sidebar":"tutorialSidebar"},{"id":"applications/other/huginn","path":"/ansible-nas/docs/applications/other/huginn","sidebar":"tutorialSidebar"},{"id":"applications/other/immich","path":"/ansible-nas/docs/applications/other/immich","sidebar":"tutorialSidebar"},{"id":"applications/other/input","path":"/ansible-nas/docs/applications/other/input","sidebar":"tutorialSidebar"},{"id":"applications/other/keycloak","path":"/ansible-nas/docs/applications/other/keycloak","sidebar":"tutorialSidebar"},{"id":"applications/other/librephotos","path":"/ansible-nas/docs/applications/other/librephotos","sidebar":"tutorialSidebar"},{"id":"applications/other/libretranslate","path":"/ansible-nas/docs/applications/other/libretranslate","sidebar":"tutorialSidebar"},{"id":"applications/other/linkding","path":"/ansible-nas/docs/applications/other/linkding","sidebar":"tutorialSidebar"},{"id":"applications/other/linkwarden","path":"/ansible-nas/docs/applications/other/linkwarden","sidebar":"tutorialSidebar"},{"id":"applications/other/listmonk","path":"/ansible-nas/docs/applications/other/listmonk","sidebar":"tutorialSidebar"},{"id":"applications/other/littlelink","path":"/ansible-nas/docs/applications/other/littlelink","sidebar":"tutorialSidebar"},{"id":"applications/other/livehelperchat","path":"/ansible-nas/docs/applications/other/livehelperchat","sidebar":"tutorialSidebar"},{"id":"applications/other/lubelogger","path":"/ansible-nas/docs/applications/other/lubelogger","sidebar":"tutorialSidebar"},{"id":"applications/other/mantium","path":"/ansible-nas/docs/applications/other/mantium","sidebar":"tutorialSidebar"},{"id":"applications/other/mattermost","path":"/ansible-nas/docs/applications/other/mattermost","sidebar":"tutorialSidebar"},{"id":"applications/other/mealie","path":"/ansible-nas/docs/applications/other/mealie","sidebar":"tutorialSidebar"},{"id":"applications/other/miniserve","path":"/ansible-nas/docs/applications/other/miniserve","sidebar":"tutorialSidebar"},{"id":"applications/other/mumble","path":"/ansible-nas/docs/applications/other/mumble","sidebar":"tutorialSidebar"},{"id":"applications/other/neko","path":"/ansible-nas/docs/applications/other/neko","sidebar":"tutorialSidebar"},{"id":"applications/other/nextcloud","path":"/ansible-nas/docs/applications/other/nextcloud","sidebar":"tutorialSidebar"},{"id":"applications/other/octoprint","path":"/ansible-nas/docs/applications/other/octoprint","sidebar":"tutorialSidebar"},{"id":"applications/other/olivetin","path":"/ansible-nas/docs/applications/other/olivetin","sidebar":"tutorialSidebar"},{"id":"applications/other/openbooks","path":"/ansible-nas/docs/applications/other/openbooks","sidebar":"tutorialSidebar"},{"id":"applications/other/openresume","path":"/ansible-nas/docs/applications/other/openresume","sidebar":"tutorialSidebar"},{"id":"applications/other/overleaf","path":"/ansible-nas/docs/applications/other/overleaf","sidebar":"tutorialSidebar"},{"id":"applications/other/paperless_ng","path":"/ansible-nas/docs/applications/other/paperless_ng","sidebar":"tutorialSidebar"},{"id":"applications/other/photofield","path":"/ansible-nas/docs/applications/other/photofield","sidebar":"tutorialSidebar"},{"id":"applications/other/photoprism","path":"/ansible-nas/docs/applications/other/photoprism","sidebar":"tutorialSidebar"},{"id":"applications/other/photostructure","path":"/ansible-nas/docs/applications/other/photostructure","sidebar":"tutorialSidebar"},{"id":"applications/other/piwigo","path":"/ansible-nas/docs/applications/other/piwigo","sidebar":"tutorialSidebar"},{"id":"applications/other/rallly","path":"/ansible-nas/docs/applications/other/rallly","sidebar":"tutorialSidebar"},{"id":"applications/other/readeck","path":"/ansible-nas/docs/applications/other/readeck","sidebar":"tutorialSidebar"},{"id":"applications/other/releasebell","path":"/ansible-nas/docs/applications/other/releasebell","sidebar":"tutorialSidebar"},{"id":"applications/other/seafile","path":"/ansible-nas/docs/applications/other/seafile","sidebar":"tutorialSidebar"},{"id":"applications/other/searxng","path":"/ansible-nas/docs/applications/other/searxng","sidebar":"tutorialSidebar"},{"id":"applications/other/shaarli","path":"/ansible-nas/docs/applications/other/shaarli","sidebar":"tutorialSidebar"},{"id":"applications/other/silverbullet","path":"/ansible-nas/docs/applications/other/silverbullet","sidebar":"tutorialSidebar"},{"id":"applications/other/stirlingpdf","path":"/ansible-nas/docs/applications/other/stirlingpdf","sidebar":"tutorialSidebar"},{"id":"applications/other/thelounge","path":"/ansible-nas/docs/applications/other/thelounge","sidebar":"tutorialSidebar"},{"id":"applications/other/traefik","path":"/ansible-nas/docs/applications/other/traefik","sidebar":"tutorialSidebar"},{"id":"applications/other/vaultwarden","path":"/ansible-nas/docs/applications/other/vaultwarden","sidebar":"tutorialSidebar"},{"id":"applications/other/virtual_desktop","path":"/ansible-nas/docs/applications/other/virtual_desktop","sidebar":"tutorialSidebar"},{"id":"applications/other/wallabag","path":"/ansible-nas/docs/applications/other/wallabag","sidebar":"tutorialSidebar"},{"id":"applications/other/wallos","path":"/ansible-nas/docs/applications/other/wallos","sidebar":"tutorialSidebar"},{"id":"applications/other/wanderer","path":"/ansible-nas/docs/applications/other/wanderer","sidebar":"tutorialSidebar"},{"id":"applications/other/webtrees","path":"/ansible-nas/docs/applications/other/webtrees","sidebar":"tutorialSidebar"},{"id":"applications/other/wger","path":"/ansible-nas/docs/applications/other/wger","sidebar":"tutorialSidebar"},{"id":"applications/other/whoogle","path":"/ansible-nas/docs/applications/other/whoogle","sidebar":"tutorialSidebar"},{"id":"applications/other/wishthis","path":"/ansible-nas/docs/applications/other/wishthis","sidebar":"tutorialSidebar"},{"id":"applications/stacks/logging","path":"/ansible-nas/docs/applications/stacks/logging","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/blocky","path":"/ansible-nas/docs/applications/system-tools/blocky","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/cloudcmd","path":"/ansible-nas/docs/applications/system-tools/cloudcmd","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/cloudflare_ddns","path":"/ansible-nas/docs/applications/system-tools/cloudflare_ddns","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/ddns_updater","path":"/ansible-nas/docs/applications/system-tools/ddns_updater","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/dockge","path":"/ansible-nas/docs/applications/system-tools/dockge","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/duplicacy","path":"/ansible-nas/docs/applications/system-tools/duplicacy","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/duplicati","path":"/ansible-nas/docs/applications/system-tools/duplicati","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/healthchecks.io","path":"/ansible-nas/docs/applications/system-tools/healthchecks.io","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/krusader","path":"/ansible-nas/docs/applications/system-tools/krusader","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/lldap","path":"/ansible-nas/docs/applications/system-tools/lldap","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/loki","path":"/ansible-nas/docs/applications/system-tools/loki","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/mergerfs","path":"/ansible-nas/docs/applications/system-tools/mergerfs","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/minio","path":"/ansible-nas/docs/applications/system-tools/minio","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/mysql","path":"/ansible-nas/docs/applications/system-tools/mysql","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/netbootxyz","path":"/ansible-nas/docs/applications/system-tools/netbootxyz","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/netbox","path":"/ansible-nas/docs/applications/system-tools/netbox","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/openldap","path":"/ansible-nas/docs/applications/system-tools/openldap","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/phpmyadmin","path":"/ansible-nas/docs/applications/system-tools/phpmyadmin","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/portainer","path":"/ansible-nas/docs/applications/system-tools/portainer","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/promtail","path":"/ansible-nas/docs/applications/system-tools/promtail","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/rclone","path":"/ansible-nas/docs/applications/system-tools/rclone","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/restic","path":"/ansible-nas/docs/applications/system-tools/restic","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/route53_ddns","path":"/ansible-nas/docs/applications/system-tools/route53_ddns","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/snipeit","path":"/ansible-nas/docs/applications/system-tools/snipeit","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/syncthing","path":"/ansible-nas/docs/applications/system-tools/syncthing","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/timemachine","path":"/ansible-nas/docs/applications/system-tools/timemachine","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/watchtower","path":"/ansible-nas/docs/applications/system-tools/watchtower","sidebar":"tutorialSidebar"},{"id":"applications/system-tools/whatsupdocker","path":"/ansible-nas/docs/applications/system-tools/whatsupdocker","sidebar":"tutorialSidebar"},{"id":"contributing/add-an-application","path":"/ansible-nas/docs/contributing/add-an-application","sidebar":"tutorialSidebar"},{"id":"contributing/development-environment","path":"/ansible-nas/docs/contributing/development-environment","sidebar":"tutorialSidebar"},{"id":"further-configuration/hardware","path":"/ansible-nas/docs/further-configuration/hardware","sidebar":"tutorialSidebar"},{"id":"further-configuration/migrating-from-freenas","path":"/ansible-nas/docs/further-configuration/migrating-from-freenas","sidebar":"tutorialSidebar"},{"id":"further-configuration/nfs-exports","path":"/ansible-nas/docs/further-configuration/nfs-exports","sidebar":"tutorialSidebar"},{"id":"further-configuration/samba-shares","path":"/ansible-nas/docs/further-configuration/samba-shares","sidebar":"tutorialSidebar"},{"id":"getting-started/configure-dashboard","path":"/ansible-nas/docs/getting-started/configure-dashboard","sidebar":"tutorialSidebar"},{"id":"getting-started/enabling-applications","path":"/ansible-nas/docs/getting-started/enabling-applications","sidebar":"tutorialSidebar"},{"id":"getting-started/external-access","path":"/ansible-nas/docs/getting-started/external-access","sidebar":"tutorialSidebar"},{"id":"getting-started/installation","path":"/ansible-nas/docs/getting-started/installation","sidebar":"tutorialSidebar"},{"id":"index","path":"/ansible-nas/docs/","sidebar":"tutorialSidebar"},{"id":"support","path":"/ansible-nas/docs/support","sidebar":"tutorialSidebar"},{"id":"upgrading","path":"/ansible-nas/docs/upgrading","sidebar":"tutorialSidebar"},{"id":"/category/getting-started","path":"/ansible-nas/docs/category/getting-started","sidebar":"tutorialSidebar"},{"id":"/category/applications","path":"/ansible-nas/docs/category/applications","sidebar":"tutorialSidebar"},{"id":"/category/content-management","path":"/ansible-nas/docs/category/content-management","sidebar":"tutorialSidebar"},{"id":"/category/dashboards","path":"/ansible-nas/docs/category/dashboards","sidebar":"tutorialSidebar"},{"id":"/category/development-tools","path":"/ansible-nas/docs/category/development-tools","sidebar":"tutorialSidebar"},{"id":"/category/download-tools","path":"/ansible-nas/docs/category/download-tools","sidebar":"tutorialSidebar"},{"id":"/category/gaming","path":"/ansible-nas/docs/category/gaming","sidebar":"tutorialSidebar"},{"id":"/category/home-automation","path":"/ansible-nas/docs/category/home-automation","sidebar":"tutorialSidebar"},{"id":"/category/media-serving","path":"/ansible-nas/docs/category/media-serving","sidebar":"tutorialSidebar"},{"id":"/category/monitoring","path":"/ansible-nas/docs/category/monitoring","sidebar":"tutorialSidebar"},{"id":"/category/news","path":"/ansible-nas/docs/category/news","sidebar":"tutorialSidebar"},{"id":"/category/observability","path":"/ansible-nas/docs/category/observability","sidebar":"tutorialSidebar"},{"id":"/category/other","path":"/ansible-nas/docs/category/other","sidebar":"tutorialSidebar"},{"id":"/category/stacks","path":"/ansible-nas/docs/category/stacks","sidebar":"tutorialSidebar"},{"id":"/category/system-tools","path":"/ansible-nas/docs/category/system-tools","sidebar":"tutorialSidebar"},{"id":"/category/further-configuration","path":"/ansible-nas/docs/category/further-configuration","sidebar":"tutorialSidebar"},{"id":"/category/contributing","path":"/ansible-nas/docs/category/contributing","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/ansible-nas/docs/","label":"index"}}}}],"breadcrumbs":true}}}'),r=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"3.0.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.0.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.0.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.0.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.0.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.0.1"}}}');var c=n(5893);const u={siteConfig:o.default,siteMetadata:l,globalData:i,i18n:r,codeTranslations:s},d=a.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var a=n(7294),o=n(412),i=n(5742),r=n(8780),s=n(6040),l=n(5893);function c(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,l.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,l.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,l.jsx)(u,{error:t})]})}function u(e){let{error:t}=e;const n=(0,r.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)(f,{fallback:()=>(0,l.jsx)(c,{error:t,tryAgain:n}),children:[(0,l.jsx)(i.Z,{children:(0,l.jsx)("title",{children:"Page Error"})}),(0,l.jsx)(s.Z,{children:(0,l.jsx)(c,{error:t,tryAgain:n})})]})}const p=e=>(0,l.jsx)(d,{...e});class f extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const a="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:a,canUseEventListeners:a&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:a&&"IntersectionObserver"in window,canUseViewport:a&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(7294);var a=n(405),o=n(5893);function i(e){return(0,o.jsx)(a.ql,{...e})}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var a=n(7294),o=n(3727),i=n(8780),r=n(2263),s=n(3919),l=n(412),c=n(5893);const u=a.createContext({collectLink:()=>{}});var d=n(4996);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:b,"data-noBrokenLinkCheck":h,autoAddBaseUrl:g=!0,...y}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,r.Z)(),{withBaseUrl:k}=(0,d.C)(),S=(0,a.useContext)(u),x=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>x.current));const _=p||f;const E=(0,s.Z)(_),C=_?.replace("pathname://","");let T=void 0!==C?(j=C,g&&(e=>e.startsWith("/"))(j)?k(j):j):void 0;var j;T&&E&&(T=(0,i.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const A=(0,a.useRef)(!1),L=n?o.OL:o.rU,N=l.Z.canUseIntersectionObserver,R=(0,a.useRef)(),P=()=>{A.current||null==T||(window.docusaurus.preload(T),A.current=!0)};(0,a.useEffect)((()=>(!N&&E&&null!=T&&window.docusaurus.prefetch(T),()=>{N&&R.current&&R.current.disconnect()})),[R,T,N,E]);const O=T?.startsWith("#")??!1,D=!T||!E||O;return D||h||S.collectLink(T),D?(0,c.jsx)("a",{ref:x,href:T,..._&&!E&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,c.jsx)(L,{...y,onMouseEnter:P,onTouchStart:P,innerRef:e=>{x.current=e,N&&e&&E&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),R.current.observe(e))},to:T,...n&&{isActive:b,activeClassName:m}})}const f=a.forwardRef(p)},1875:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const a=()=>null},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>l});var a=n(7294),o=n(5893);function i(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,a.isValidElement)(e)))?n.map(((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var r=n(7529);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return r[t??n]??n??t}function l(e,t){let{message:n,id:a}=e;return i(s({message:n,id:a}),t)}function c(e){let{children:t,id:n,values:a}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const r=s({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:i(r,a)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>a});const a="default"},3919:(e,t,n)=>{"use strict";function a(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!a(e)}n.d(t,{Z:()=>o,b:()=>a})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>r,Z:()=>s});var a=n(7294),o=n(2263),i=n(3919);function r(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.Z)(),n=(0,a.useCallback)(((n,a)=>function(e,t,n,a){let{forcePrependBaseUrl:o=!1,absolute:r=!1}=void 0===a?{}:a;if(!n||n.startsWith("#")||(0,i.b)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return r?e+s:s}(t,e,n,a)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=r();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7294),o=n(8940);function i(){return(0,a.useContext)(o._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(7294),o=n(8934);function i(){return(0,a.useContext)(o._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var a=n(7294);const o=n(412).Z.canUseDOM?a.useLayoutEffect:a.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const a=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[i,r]=n;const s=o?`${o}.${i}`:i;a(r)?e(r,s):t[s]=r}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>i,z:()=>r});var a=n(7294),o=n(5893);const i=a.createContext(null);function r(e){let{children:t,value:n}=e;const r=a.useContext(i),s=(0,a.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const a={...t.data,...n?.data};return{plugin:t.plugin,data:a}}({parent:r,value:n})),[r,n]);return(0,o.jsx)(i.Provider,{value:s,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>p,_r:()=>u,Jo:()=>h,zh:()=>d,yW:()=>m,gB:()=>f});var a=n(6550),o=n(2263),i=n(9935);function r(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=function(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,a.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,a.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((a=>{a.id===t&&(n[e.name]=a)}))})),n}(o.id):{}}}const c={},u=()=>r("docusaurus-plugin-content-docs")??c,d=e=>function(e,t,n){void 0===t&&(t=i.m),void 0===n&&(n={});const a=r(e),o=a?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,a.TH)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,a.LX)(t,{path:n.path,exact:!1,strict:!1})})),i=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!i&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return i}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return s(t)}function b(e){const t=d(e),{pathname:n}=(0,a.TH)();return l(t,n)}function h(e){const t=d(e),{pathname:n}=(0,a.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i});var a=n(4865),o=n.n(a);o().configure({showSpinner:!1});const i={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var a=n(2573),o=n(6809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:a}=t;globalThis.Prism=e,a.forEach((e=>{"php"===e&&n(6854),n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(a.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var a=n(512),o=n(5999),i=n(6668),r=n(9960);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var l=n(5893);function c(e){let{as:t,id:n,...c}=e;const{navbar:{hideOnScroll:u}}=(0,i.L)();if("h1"===t||!n)return(0,l.jsx)(t,{...c,id:void 0});const d=(0,o.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,l.jsxs)(t,{...c,className:(0,a.Z)("anchor",u?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,l.jsx)(r.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(7294);const a={iconExternalLink:"iconExternalLink_nPIU"};var o=n(5893);function i(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},6040:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ft});var a=n(7294),o=n(512),i=n(4763),r=n(1944),s=n(6550),l=n(5999),c=n(5936),u=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,a.useRef)(null),{action:t}=(0,s.k6)(),n=(0,a.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.S)((n=>{let{location:a}=n;e.current&&!a.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,l.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function b(e){const t=e.children??m,{containerRef:n,onClick:a}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:a,children:t})})}var h=n(5281),g=n(9727);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(b,{className:y.skipToContent})}var w=n(6668),k=n(9689);function S(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...r,children:(0,u.jsx)("g",{stroke:a,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const x={closeButton:"closeButton_CVFx"};function _(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.Z)("clean-btn close",x.closeButton,e.className),children:(0,u.jsx)(S,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.Z)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function j(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return(0,u.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:a,color:o},role:"banner",children:[i&&(0,u.jsx)("div",{className:T.announcementBarPlaceholder}),(0,u.jsx)(C,{className:T.announcementBarContent}),i&&(0,u.jsx)(_,{onClick:n,className:T.announcementBarClose})]})}var A=n(2961),L=n(2466);var N=n(902),R=n(3102);const P=a.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,A.e)(),t=(0,R.HY)(),[n,o]=(0,a.useState)(!1),i=null!==t.component,r=(0,N.D9)(i);return(0,a.useEffect)((()=>{i&&!r&&o(!0)}),[i,r]),(0,a.useEffect)((()=>{i?e.shown||o(!0):o(!1)}),[e.shown,i]),(0,a.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function I(){const e=(0,a.useContext)(P);if(!e)throw new N.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,a.useCallback)((()=>n(!1)),[n]),i=(0,R.HY)();return(0,a.useMemo)((()=>({shown:t,hide:o,content:D(i)})),[o,i,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:a}=e;const{shown:i}=I();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:a})]})]})}var M=n(2949),z=n(2389);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:a,onChange:i}=e;const r=(0,z.Z)(),s=(0,l.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===a?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.Z)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.Z)("clean-btn",U.toggleButton,!r&&U.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===a?"light":"dark"),disabled:!r,title:s,"aria-label":s,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,o.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,o.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=a.memo(q),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,M.I)();return a?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var V=n(1327);function W(){return(0,u.jsx)(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,A.e)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(S,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(W,{}),(0,u.jsx)(G,{className:"margin-right--md"}),(0,u.jsx)(Q,{})]})}var K=n(9960),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:r,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.Z)(a),p=(0,X.Z)(t),f=(0,X.Z)(o,{forcePrependBaseUrl:!0}),m=i&&o&&!(0,J.Z)(o),b=r?{dangerouslySetInnerHTML:{__html:r}}:{children:(0,u.jsxs)(u.Fragment,{children:[i,m&&(0,u.jsx)(te.Z,{...s&&{width:12,height:12}})]})};return o?(0,u.jsx)(K.Z,{href:l?f:o,...c,...b}):(0,u.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...c,...b})}function ae(e){let{className:t,isDropdownItem:n=!1,...a}=e;const i=(0,u.jsx)(ne,{className:(0,o.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...a});return n?(0,u.jsx)("li",{children:i}):i}function oe(e){let{className:t,isDropdownItem:n,...a}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,o.Z)("menu__link",t),...a})})}function ie(e){let{mobile:t=!1,position:n,...a}=e;const o=t?oe:ae;return(0,u.jsx)(o,{...a,activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var re=n(6043),se=n(8596),le=n(2263);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:i,onClick:r,...s}=e;const l=(0,a.useRef)(null),[c,d]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,o.Z)("navbar__link",i),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,a.createElement)(Ee,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:i,onClick:r,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,re.u)({initialState:()=>!d});return(0,a.useEffect)((()=>{d&&m(!d)}),[c,d,m]),(0,u.jsxs)("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,o.Z)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,u.jsx)(re.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,a.createElement)(Ee,{mobile:!0,isDropdownItem:!0,onClick:r,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const a=t?pe:de;return(0,u.jsx)(a,{...n})}var me=n(4711);function be(e){let{width:t=20,height:n=20,...a}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...a,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";var ge=n(1875);const ye={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.Z)(n,ye.navbarSearchContainer),children:t})}var we=n(143),ke=n(2802);var Se=n(373);const xe=e=>e.docs.find((t=>t.id===e.mainDocId));const _e={default:ie,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,queryString:o="",...i}=e;const{i18n:{currentLocale:r,locales:c,localeConfigs:d}}=(0,le.Z)(),p=(0,me.l)(),{search:f,hash:m}=(0,s.TH)(),b=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===r?t?"menu__link--active":"dropdown__link--active":""}})),...a],h=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[r].label;return(0,u.jsx)(fe,{...i,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(be,{className:he}),h]}),items:b})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(ve,{className:n,children:(0,u.jsx)(ge.Z,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:a=!1,isDropdownItem:i=!1}=e;const r=i?"li":"div";return(0,u.jsx)(r,{className:(0,o.Z)({navbar__item:!a&&!i,"menu__list-item":a},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,we.Iw)(a),r=(0,ke.vY)(t,a),s=i?.path===r?.path;return null===r||r.unlisted&&!s?null:(0,u.jsx)(ie,{exact:!0,...o,isActive:()=>s||!!i?.sidebar&&i.sidebar===r.sidebar,label:n??r.id,to:r.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,we.Iw)(a),r=(0,ke.oz)(t,a).link;if(!r)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ie,{exact:!0,...o,isActive:()=>i?.sidebar===t,label:n??r.label,to:r.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,ke.lO)(a)[0],r=t??i.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return(0,u.jsx)(ie,{...o,label:r,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...r}=e;const{search:c,hash:d}=(0,s.TH)(),p=(0,we.Iw)(n),f=(0,we.gB)(n),{savePreferredVersionName:m}=(0,Se.J)(n),b=[...o,...f.map((e=>{const t=p.alternateDocVersions[e.name]??xe(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...i],h=(0,ke.lO)(n)[0],g=t&&b.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,y=t&&b.length>1?void 0:xe(h).path;return b.length<=1?(0,u.jsx)(ie,{...r,mobile:t,label:g,to:y,isActive:a?()=>!1:void 0}):(0,u.jsx)(fe,{...r,mobile:t,label:g,to:y,items:b,isActive:a?()=>!1:void 0})}};function Ee(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=_e[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function Ce(){const e=(0,A.e)(),t=(0,w.L)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,a.createElement)(Ee,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Te(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function je(){const e=0===(0,w.L)().navbar.items.length,t=I();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Te,{onClick:()=>t.hide()}),t.content]})}function Ae(){const e=(0,A.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,a.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(F,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(Ce,{}),secondaryMenu:(0,u.jsx)(je,{})}):null}const Le={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ne(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.Z)("navbar-sidebar__backdrop",e.className)})}function Re(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:i}}=(0,w.L)(),r=(0,A.e)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,a.useState)(e),o=(0,a.useRef)(!1),i=(0,a.useRef)(0),r=(0,a.useCallback)((e=>{null!==e&&(i.current=e.getBoundingClientRect().height)}),[]);return(0,L.RF)(((t,a)=>{let{scrollY:r}=t;if(!e)return;if(r=s?n(!1):r+c{if(!e)return;const a=t.location.hash;if(a?document.getElementById(a.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:r,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("navbar","navbar--fixed-top",n&&[Le.navbarHideable,!d&&Le.navbarHidden],{"navbar--dark":"dark"===i,"navbar--primary":"primary"===i,"navbar-sidebar--show":r.shown}),children:[t,(0,u.jsx)(Ne,{onClick:r.toggle}),(0,u.jsx)(Ae,{})]})}var Pe=n(8780);const Oe={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function De(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ie(e){let{error:t}=e;const n=(0,Pe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:Oe.errorBoundaryError,children:n})}class Fe extends a.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Me="right";function ze(e){let{width:t=30,height:n=30,className:a,...o}=e;return(0,u.jsx)("svg",{className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,A.e)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_DEke"};function Ue(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(Fe,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Ee,{...e})},t)))})}function qe(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function He(){const e=(0,A.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??Me)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(qe,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(Be,{}),(0,u.jsx)(W,{}),(0,u.jsx)(Ue,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Ue,{items:a}),(0,u.jsx)(G,{className:$e.colorModeToggle}),!o&&(0,u.jsx)(ve,{children:(0,u.jsx)(ge.Z,{})})]})})}function Ze(){return(0,u.jsx)(Re,{children:(0,u.jsx)(He,{})})}function Ge(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...r}=t,s=(0,X.Z)(n),l=(0,X.Z)(a,{forcePrependBaseUrl:!0});return(0,u.jsxs)(K.Z,{className:"footer__link-item",...a?{href:i?l:a}:{to:s},...r,children:[o,a&&!(0,J.Z)(a)&&(0,u.jsx)(te.Z,{})]})}function Ve(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(Ge,{item:t})},t.href??t.to)}function We(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(Ve,{item:e},t)))})]})}function Qe(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(We,{column:e},t)))})}function Ye(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ke(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(Ge,{item:t})}function Xe(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(a.Fragment,{children:[(0,u.jsx)(Ke,{item:e}),t.length!==n+1&&(0,u.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(Qe,{columns:t}):(0,u.jsx)(Xe,{links:t})}var et=n(9965);const tt={footerLogoLink:"footerLogoLink_BH7S"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),a={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(et.Z,{className:(0,o.Z)("footer__logo",t.className),alt:t.alt,sources:a,width:t.width,height:t.height,style:t.style})}function at(e){let{logo:t}=e;return t.href?(0,u.jsx)(K.Z,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,u.jsx)(nt,{logo:t})}):(0,u.jsx)(nt,{logo:t})}function ot(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function it(e){let{style:t,links:n,logo:a,copyright:i}=e;return(0,u.jsx)("footer",{className:(0,o.Z)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(a||i)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[a&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:a}),i]})]})})}function rt(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return(0,u.jsx)(it,{style:o,links:n&&n.length>0&&(0,u.jsx)(Je,{links:n}),logo:a&&(0,u.jsx)(at,{logo:a}),copyright:t&&(0,u.jsx)(ot,{copyright:t})})}const st=a.memo(rt),lt=(0,N.Qc)([M.S,k.pl,L.OC,Se.L5,r.VC,function(e){let{children:t}=e;return(0,u.jsx)(R.n2,{children:(0,u.jsx)(A.M,{children:(0,u.jsx)(O,{children:t})})})}]);function ct(e){let{children:t}=e;return(0,u.jsx)(lt,{children:t})}var ut=n(2503);function dt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(ut.Z,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(De,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Ie,{error:t})})]})})})}const pt={mainWrapper:"mainWrapper_z2l0"};function ft(e){const{children:t,noFooter:n,wrapperClassName:a,title:s,description:l}=e;return(0,g.t)(),(0,u.jsxs)(ct,{children:[(0,u.jsx)(r.d,{title:s,description:l}),(0,u.jsx)(v,{}),(0,u.jsx)(j,{}),(0,u.jsx)(Ze,{}),(0,u.jsx)("div",{id:d,className:(0,o.Z)(h.k.wrapper.main,pt.mainWrapper,a),children:(0,u.jsx)(i.Z,{fallback:e=>(0,u.jsx)(dt,{...e}),children:t})}),!n&&(0,u.jsx)(st,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var a=n(9960),o=n(4996),i=n(2263),r=n(6668),s=n(9965),l=n(5893);function c(e){let{logo:t,alt:n,imageClassName:a}=e;const i={light:(0,o.Z)(t.src),dark:(0,o.Z)(t.srcDark||t.src)},r=(0,l.jsx)(s.Z,{className:t.className,sources:i,height:t.height,width:t.width,alt:n,style:t.style});return a?(0,l.jsx)("div",{className:a,children:r}):r}function u(e){const{siteConfig:{title:t}}=(0,i.Z)(),{navbar:{title:n,logo:s}}=(0,r.L)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,o.Z)(s?.href||"/"),m=n?"":t,b=s?.alt??m;return(0,l.jsxs)(a.Z,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:b,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(7294);var a=n(5742),o=n(5893);function i(e){let{locale:t,version:n,tag:i}=e;const r=t;return(0,o.jsxs)(a.Z,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),i&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:i}),r&&(0,o.jsx)("meta",{name:"docsearch:language",content:r}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),i&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:i})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var a=n(7294),o=n(512),i=n(2389),r=n(2949);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(5893);function c(e){let{className:t,children:n}=e;const c=(0,i.Z)(),{colorMode:u}=(0,r.I)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const i=n({theme:e,className:(0,o.Z)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(a.Fragment,{children:i},e)}))})}function u(e){const{sources:t,className:n,alt:a,...o}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:i}=e;return(0,l.jsx)("img",{src:t[n],alt:a,className:i,...o})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>c,z:()=>g});var a=n(7294),o=n(412),i=n(469),r=n(1442),s=n(5893);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,a.useState)(t??!1),i=(0,a.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:i}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const i=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,r.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!i.current)return p(e,n),void(i.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.Z.canUseDOM)return e?u:d}function b(e){let{as:t="div",collapsed:n,children:o,animation:i,onCollapseTransitionEnd:r,className:l,disableSSRStyle:c}=e;const u=(0,a.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:i}),(0,s.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),r?.(n))},className:l,children:o})}function h(e){let{collapsed:t,...n}=e;const[o,r]=(0,a.useState)(!t),[l,c]=(0,a.useState)(t);return(0,i.Z)((()=>{t||r(!0)}),[t]),(0,i.Z)((()=>{o&&c(t)}),[o,t]),o?(0,s.jsx)(b,{...n,collapsed:l}):null}function g(e){let{lazy:t,...n}=e;const a=t?h:b;return(0,s.jsx)(a,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>b,pl:()=>m});var a=n(7294),o=n(2389),i=n(12),r=n(902),s=n(6668),l=n(5893);const c=(0,i.WA)("docusaurus.announcement.dismiss"),u=(0,i.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=a.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,o.Z)(),[n,i]=(0,a.useState)((()=>!!t&&d()));(0,a.useEffect)((()=>{i(d())}),[]);const r=(0,a.useCallback)((()=>{p(!0),i(!0)}),[]);return(0,a.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const a=t!==n;u.set(t),a&&p(!1),!a&&d()||i(!1)}),[e]),(0,a.useMemo)((()=>({isActive:!!e&&!n,close:r})),[e,n,r])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function b(){const e=(0,a.useContext)(f);if(!e)throw new r.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>h});var a=n(7294),o=n(412),i=n(902),r=n(12),s=n(6668),l=n(5893);const c=a.createContext(void 0),u="theme",d=(0,r.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>o.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),b=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[o,i]=(0,a.useState)(m(e));(0,a.useEffect)((()=>{t&&d.del()}),[t]);const r=(0,a.useCallback)((function(t,a){void 0===a&&(a={});const{persist:o=!0}=a;t?(i(t),o&&b(t)):(i(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,a.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,a.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&r(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,r]);const l=(0,a.useRef)(!1);return(0,a.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:r(null)};return e.addListener(a),()=>e.removeListener(a)}),[r,t,n]),(0,a.useMemo)((()=>({colorMode:o,setColorMode:r,get isDarkTheme(){return o===p.dark},setLightTheme(){r(p.light)},setDarkTheme(){r(p.dark)}})),[o,r])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function g(){const e=(0,a.useContext)(c);if(null==e)throw new i.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>g});var a=n(7294),o=n(143),i=n(9935),r=n(6668),s=n(2802),l=n(902),c=n(12),u=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=a.createContext(null);function b(){const e=(0,o._r)(),t=(0,r.L)().docs.versionPersistence,n=(0,a.useMemo)((()=>Object.keys(e)),[e]),[i,s]=(0,a.useState)((()=>f(n)));(0,a.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:a}=e;function o(e){const t=p.read(e,n);return a[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[i,(0,a.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=b();return(0,u.jsx)(m.Provider,{value:n,children:t})}function g(e){let{children:t}=e;return s.cE?(0,u.jsx)(h,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function y(){const e=(0,a.useContext)(m);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=i.m);const t=(0,o.zh)(e),[n,r]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,a.useCallback)((t=>{r.savePreferredVersion(e,t)}),[r,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,b:()=>l});var a=n(7294),o=n(902),i=n(5893);const r=Symbol("EmptyContext"),s=a.createContext(r);function l(e){let{children:t,name:n,items:o}=e;const r=(0,a.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,i.jsx)(s.Provider,{value:r,children:t})}function c(){const e=(0,a.useContext)(s);if(e===r)throw new o.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>s});var a=n(7294),o=n(902),i=n(5893);const r=a.createContext(null);function s(e){let{children:t,version:n}=e;return(0,i.jsx)(r.Provider,{value:n,children:t})}function l(){const e=(0,a.useContext)(r);if(null===e)throw new o.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>m});var a=n(7294),o=n(3102),i=n(7524),r=n(6550),s=n(902);function l(e){!function(e){const t=(0,r.k6)(),n=(0,s.zX)(e);(0,a.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(6668),u=n(5893);const d=a.createContext(void 0);function p(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,c.L)().navbar;return 0===t.length&&!e.component}(),t=(0,i.i)(),n=!e&&"mobile"===t,[r,s]=(0,a.useState)(!1);l((()=>{if(r)return s(!1),!1}));const u=(0,a.useCallback)((()=>{s((e=>!e))}),[]);return(0,a.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,a.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:r})),[e,n,u,r])}function f(e){let{children:t}=e;const n=p();return(0,u.jsx)(d.Provider,{value:n,children:t})}function m(){const e=a.useContext(d);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>c,n2:()=>s});var a=n(7294),o=n(902),i=n(5893);const r=a.createContext(null);function s(e){let{children:t}=e;const n=(0,a.useState)({component:null,props:null});return(0,i.jsx)(r.Provider,{value:n,children:t})}function l(){const e=(0,a.useContext)(r);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const i=(0,a.useContext)(r);if(!i)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,o.Ql)(n);return(0,a.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,a.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>i});var a=n(7294);const o="navigation-with-keyboard";function i(){(0,a.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});var a=n(7294),o=n(412);const i={desktop:"desktop",mobile:"mobile",ssr:"ssr"},r=996;function s(){const[e,t]=(0,a.useState)((()=>"ssr"));return(0,a.useEffect)((()=>{function e(){t(function(){if(!o.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>r?i.desktop:i.mobile}())}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>a});const a={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function a(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>a})},2802:(e,t,n)=>{"use strict";n.d(t,{MN:()=>T,LM:()=>m,_F:()=>y,cE:()=>p,jA:()=>b,xz:()=>f,SN:()=>C,lO:()=>x,vY:()=>E,oz:()=>_,s1:()=>S,f:()=>w});var a=n(7294),o=n(6550),i=n(8790),r=n(143),s=n(373),l=n(4477),c=n(1116);function u(e){return Array.from(new Set(e))}var d=n(8596);const p=!!r._r;function f(e){const t=(0,l.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function b(){const{pathname:e}=(0,o.TH)(),t=(0,c.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=k({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),g=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||g(e.items,t))}function v(e,t){switch(e.type){case"category":return y(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||y(e,t);default:return!0}}function w(e,t){return(0,a.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function k(e){let{sidebarItems:t,pathname:n,onlyCategories:a=!1}=e;const o=[];return function e(t){for(const i of t)if("category"===i.type&&((0,d.Mg)(i.href,n)||e(i.items))||"link"===i.type&&(0,d.Mg)(i.href,n)){return a&&"category"!==i.type||o.unshift(i),!0}return!1}(t),o}function S(){const e=(0,c.V)(),{pathname:t}=(0,o.TH)(),n=(0,r.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,r.Iw)(e),{preferredVersion:n}=(0,s.J)(e),o=(0,r.yW)(e);return(0,a.useMemo)((()=>u([t,n,o].filter(Boolean))),[t,n,o])}function _(e,t){const n=x(t);return(0,a.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),a=t.find((t=>t[0]===e));if(!a)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return a[1]}),[e,n])}function E(e,t){const n=x(t);return(0,a.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),a=t.find((t=>t.id===e));if(!a){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return a}),[e,n])}function C(e){let{route:t}=e;const n=(0,o.TH)(),a=(0,l.E)(),r=t.routes,s=r.find((e=>(0,o.LX)(n.pathname,e)));if(!s)return null;const c=s.sidebar,u=c?a.docsSidebars[c]:void 0;return{docElement:(0,i.H)(r),sidebarName:c,sidebarItems:u}}function T(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>m});var a=n(7294),o=n(512),i=n(5742),r=n(226);function s(){const e=a.useContext(r._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(4996),c=n(2263);var u=n(5893);function d(e){let{title:t,description:n,keywords:a,image:o,children:r}=e;const s=function(e){const{siteConfig:t}=(0,c.Z)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}(t),{withBaseUrl:d}=(0,l.C)(),p=o?d(o,{absolute:!0}):void 0;return(0,u.jsxs)(i.Z,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),a&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),r]})}const p=a.createContext(void 0);function f(e){let{className:t,children:n}=e;const r=a.useContext(p),s=(0,o.Z)(r,t);return(0,u.jsxs)(p.Provider,{value:s,children:[(0,u.jsx)(i.Z,{children:(0,u.jsx)("html",{className:s})}),n]})}function m(e){let{children:t}=e;const n=s(),a=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,o.Z)(a,i),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>s,Qc:()=>u,Ql:()=>c,i6:()=>l,zX:()=>r});var a=n(7294),o=n(469),i=n(5893);function r(e){const t=(0,a.useRef)(e);return(0,o.Z)((()=>{t.current=e}),[e]),(0,a.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,a.useRef)();return(0,o.Z)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,a.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,i.jsx)(i.Fragment,{children:e.reduceRight(((e,t)=>(0,i.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>r,Ns:()=>s});var a=n(7294),o=n(723),i=n(2263);function r(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,i.Z)().siteConfig;return(0,a.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function a(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(a)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>c,RF:()=>p});var a=n(7294),o=n(412),i=n(2389),r=(n(469),n(902)),s=n(5893);const l=a.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,a.useRef)(!0);return(0,a.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,a.useContext)(l);if(null==e)throw new r.i6("ScrollControllerProvider");return e}const d=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,a.useRef)(d()),i=(0,r.zX)(e);(0,a.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();i(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[i,n,...t])}function f(){const e=(0,a.useRef)(null),t=(0,i.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function a(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>a,os:()=>o});n(2263);const a="default";function o(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>l});n(7294);const a="localStorage";function o(e){let{key:t,oldValue:n,newValue:a,storage:o}=e;if(n===a)return;const i=document.createEvent("StorageEvent");i.initStorageEvent("storage",!1,!1,t,n,a,window.location.href,o),window.dispatchEvent(i)}function i(e){if(void 0===e&&(e=a),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,r||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),r=!0),null}var t}let r=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=i(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const a=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:a,newValue:t,storage:n})}catch(a){console.error(`Docusaurus storage error, can't set ${e}=${t}`,a)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const a=a=>{a.storageArea===n&&a.key===e&&t(a)};return window.addEventListener("storage",a),()=>window.removeEventListener("storage",a)}catch(a){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,a),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>r});var a=n(2263),o=n(6550),i=n(8780);function r(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:r,currentLocale:s}}=(0,a.Z)(),{pathname:l}=(0,o.TH)(),c=(0,i.applyTrailingSlash)(l,{trailingSlash:n,baseUrl:e}),u=s===r?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===r?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>r});var a=n(7294),o=n(6550),i=n(902);function r(e){const t=(0,o.TH)(),n=(0,i.D9)(t),r=(0,i.zX)(e);(0,a.useEffect)((()=>{n&&t!==n&&r({location:t,previousLocation:n})}),[r,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var a=n(2263);function o(){return(0,a.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:a}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),i="/"===o||o===a?o:(r=o,n?function(e){return e.endsWith("/")?e:`${e}/`}(r):function(e){return e.endsWith("/")?e.slice(0,-1):e}(r));var r;return e.replace(o,i)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return a(o).default}});var i=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>f,PP:()=>j,Ep:()=>p});var a=n(7462);function o(e){return"/"===e.charAt(0)}function i(e,t){for(var n=t,a=n+1,o=e.length;a=0;p--){var f=r[p];"."===f?i(r,p):".."===f?(i(r,p),d++):d&&(i(r,p),d--)}if(!c)for(;d--;d)r.unshift("..");!c||""===r[0]||r[0]&&o(r[0])||r.unshift("");var m=r.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(8776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,a=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),a&&"#"!==a&&(o+="#"===a.charAt(0)?a:"#"+a),o}function f(e,t,n,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",n="",a="",o=t.indexOf("#");-1!==o&&(a=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===a?"":a}}(e),i.state=t):(void 0===(i=(0,a.Z)({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(i.key=n),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=r(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,a,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof a?a(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function a(){n&&e.apply(void 0,arguments)}return t.push(a),function(){n=!1,t=t.filter((function(e){return e!==a}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),a=0;at?n.splice(t,n.length-t,o):n.push(o),d({action:a,location:o,index:t,entries:n})}}))},replace:function(e,t){var a="REPLACE",o=f(e,t,b(),w.location);u.confirmTransitionTo(o,a,n,(function(e){e&&(w.entries[w.index]=o,d({action:a,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var a=n(9864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return a.isMemo(e)?r:s[e.$$typeof]||o}s[a.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[a.Memo]=r;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,a){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,a)}var r=u(n);d&&(r=r.concat(d(n)));for(var s=l(t),b=l(n),h=0;h{"use strict";e.exports=function(e,t,n,a,o,i,r,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,a,o,i,r,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var a,o;a=function(){var e,t,n={version:"0.2.0"},a=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function i(e){return 100*(-1+e)}function r(e,t,n){var o;return(o="translate3d"===a.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===a.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(a[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,a.minimum,1),n.status=1===e?null:e;var i=n.render(!t),c=i.querySelector(a.barSelector),u=a.speed,d=a.easing;return i.offsetWidth,s((function(t){""===a.positionUsing&&(a.positionUsing=n.getPositioningCSS()),l(c,r(e,u,d)),1===e?(l(i,{transition:"none",opacity:1}),i.offsetWidth,setTimeout((function(){l(i,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),a.trickleSpeed)};return a.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*a.trickleRate)},e=0,t=0,n.promise=function(a){return a&&"resolved"!==a.state()?(0===t&&n.start(),e++,t++,a.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=a.template;var o,r=t.querySelector(a.barSelector),s=e?"-100":i(n.status||0),c=document.querySelector(a.parent);return l(r,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),a.showSpinner||(o=t.querySelector(a.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(a.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function a(t){var n=document.body.style;if(t in n)return t;for(var a,o=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((a=e[o]+i)in n)return a;return t}function o(e){return e=n(e),t[e]||(t[e]=a(e))}function i(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,a,o=arguments;if(2==o.length)for(n in t)void 0!==(a=t[n])&&t.hasOwnProperty(n)&&i(e,n,a);else i(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),a=n+t;c(n,t)||(e.className=a.substring(1))}function d(e,t){var n,a=p(e);c(e,t)&&(n=a.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof a?a.call(t,n,t,e):a)||(e.exports=o)},4779:(e,t,n)=>{var a=n(5826);e.exports=f,e.exports.parse=i,e.exports.compile=function(e,t){return s(i(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function i(e,t){for(var n,a=[],i=0,r=0,s="",u=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(r,f),r=f+d.length,p)s+=p[1];else{var m=e[r],b=n[2],h=n[3],g=n[4],y=n[5],v=n[6],w=n[7];s&&(a.push(s),s="");var k=null!=b&&null!=m&&m!==b,S="+"===v||"*"===v,x="?"===v||"*"===v,_=n[2]||u,E=g||y;a.push({name:h||i++,prefix:b||"",delimiter:_,optional:x,repeat:S,partial:k,asterisk:!!w,pattern:E?c(E):w?".*":"[^"+l(_)+"]+?"})}}return r{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const a=n(9901),o=n(9642),i=new Set;function r(e){void 0===e?e=Object.keys(a.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...i,...Object.keys(Prism.languages)];o(a,e,t).load((e=>{if(!(e in a.languages))return void(r.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),i.add(e)}))}r.silent=!1,e.exports=r},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,a,o,i){if(n.language===a){var r=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof i&&!i(e))return e;for(var o,s=r.length;-1!==n.code.indexOf(o=t(a,s));)++s;return r[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,a){if(n.language===a&&n.tokenStack){n.grammar=e.languages[a];var o=0,i=Object.keys(n.tokenStack);!function r(s){for(var l=0;l=i.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=i[o],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(a,u),m=p.indexOf(f);if(m>-1){++o;var b=p.substring(0,m),h=new e.Token(a,e.tokenize(d,n.grammar),"language-"+a,d),g=p.substring(m+f.length),y=[];b&&y.push.apply(y,r([b])),y.push(h),g&&y.push.apply(y,r([g])),"string"==typeof c?s.splice.apply(s,[l,1].concat(y)):c.content=y}}else c.content&&r(c.content)}return s}(n.tokens)}}}})}(Prism)},6726:(e,t,n)=>{var a={"./":2885};function o(e){var t=i(e);return n(t)}function i(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}o.keys=function(){return Object.keys(a)},o.resolve=i,e.exports=o,o.id=6726},6500:(e,t,n)=>{var a={"./":2885};function o(e){var t=i(e);return n(t)}function i(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}o.keys=function(){return Object.keys(a)},o.resolve=i,e.exports=o,o.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,a=e.length;n "));var s={},l=e[a];if(l){function c(t){if(!(t in e))throw new Error(a+" depends on an unknown component "+t);if(!(t in s))for(var r in o(t,i),s[t]=!0,n[t])s[r]=!0}t(l.require,c),t(l.optional,c),t(l.modify,c)}n[a]=s,i.pop()}}return function(e){var t=n[e];return t||(o(e,a),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(i,r,s){var l=function(e){var t={};for(var n in e){var a=e[n];for(var o in a)if("meta"!=o){var i=a[o];t[o]="string"==typeof i?{title:i}:i}}return t}(i),c=function(e){var n;return function(a){if(a in e)return a;if(!n)for(var o in n={},e){var i=e[o];t(i&&i.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[a]||a}}(l);r=r.map(c),s=(s||[]).map(c);var u=n(r),d=n(s);r.forEach((function e(n){var a=l[n];t(a&&a.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=a(l),m=u;o(m);){for(var b in p={},m){var h=l[b];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var g in d)if(!(g in u))for(var y in f(g))if(y in u){p[g]=!0;break}for(var v in m=p)u[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,a,o){var i=o?o.series:void 0,r=o?o.parallel:e,s={},l={};function c(e){if(e in s)return s[e];l[e]=!0;var o,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)o=a(e);else{var p=r(u.map((function(e){var t=c(e);return delete l[e],t})));i?o=i(p,(function(){return a(e)})):a(e)}return s[e]=o}for(var u in n)c(u);var d=[];for(var p in l)d.push(s[p]);return r(d)}(f,u,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var a=n(414);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,r){if(r!==a){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var a=n(7294),o=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n