dashy/docs/troubleshooting/index.html

20 lines
39 KiB
HTML

<!doctype html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-beta.2">
<link rel="search" type="application/opensearchdescription+xml" title="Dashy" href="/opensearch.xml"><title data-react-helmet="true">Troubleshooting | Dashy</title><meta data-react-helmet="true" property="og:url" content="https://dashy.to/docs/troubleshooting"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-react-helmet="true" property="og:title" content="Troubleshooting | Dashy"><meta data-react-helmet="true" name="description" content="This document contains common problems and their solutions."><meta data-react-helmet="true" property="og:description" content="This document contains common problems and their solutions."><link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.ico"><link data-react-helmet="true" rel="canonical" href="https://dashy.to/docs/troubleshooting"><link data-react-helmet="true" rel="alternate" href="https://dashy.to/docs/troubleshooting" hreflang="en"><link data-react-helmet="true" rel="alternate" href="https://dashy.to/docs/troubleshooting" hreflang="x-default"><link data-react-helmet="true" rel="preconnect" href="https://BH4D9OD16A-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.de19e965.css">
<link rel="preload" href="/assets/js/runtime~main.d7101778.js" as="script">
<link rel="preload" href="/assets/js/main.a34905c6.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
<div><a href="#main" class="skipToContent_OuoZ">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><img src="/img/dashy.png" alt="Dashy Logo" class="themedImage_TMUO themedImage--light_4Vu1 navbar__logo"><img src="/img/dashy.png" alt="Dashy Logo" class="themedImage_TMUO themedImage--dark_uzRr navbar__logo"><b class="navbar__title">Dashy</b></a><a href="https://github.com/lissy93/dashy" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><a href="https://demo.dashy.to" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Live Demo</a><a class="navbar__item navbar__link" href="/docs/quick-start">Quick Start</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs">Documentation</a></div><div class="navbar__items navbar__items--right"><div class="react-toggle displayOnlyInLargeViewport_cxYs react-toggle--checked react-toggle--disabled"><div class="react-toggle-track" role="button" tabindex="-1"><div class="react-toggle-track-check"><span class="toggle_iYfV">🌙</span></div><div class="react-toggle-track-x"><span class="toggle_iYfV">☀️</span></div><div class="react-toggle-thumb"></div></div><input type="checkbox" checked="" class="react-toggle-screenreader-only" aria-label="Switch between dark and light mode"></div><div class="searchBox_Bc3W"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/"><img src="/img/dashy.png" alt="Dashy Logo" class="themedImage_TMUO themedImage--light_4Vu1 navbar__logo"><img src="/img/dashy.png" alt="Dashy Logo" class="themedImage_TMUO themedImage--dark_uzRr navbar__logo"><b class="navbar__title">Dashy</b></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a href="https://github.com/lissy93/dashy" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li><li class="menu__list-item"><a href="https://demo.dashy.to" target="_blank" rel="noopener noreferrer" class="menu__link">Live Demo</a></li><li class="menu__list-item"><a class="menu__link" href="/docs/quick-start">Quick Start</a></li><li class="menu__list-item"><a aria-current="page" class="menu__link navbar__link--active" href="/docs">Documentation</a></li></ul></div></div></div></nav><div class="main-wrapper docs-wrapper doc-page"><div class="docPage_lDyR"><aside class="docSidebarContainer_0YBq"><div class="sidebar_a3j0"><nav class="menu menu--responsive thin-scrollbar menu_cyFh menuWithAnnouncementBar_+O1J" aria-label="Sidebar navigation"><button aria-label="Open menu" aria-haspopup="true" class="button button--secondary button--sm menu__button" type="button"><svg class="sidebarMenuIcon_iZzd" width="24" height="24" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><ul class="menu__list"><li class="menu__list-item"><a class="menu__link menu__link--sublist menu__link--active" href="#!">Running Dashy</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/docs/quick-start">Quick Start</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/docs/deployment">Deployment</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/docs/configuring">Configuring</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/docs/management">Management</a></li><li class="menu__list-item"><a aria-current="page" class="menu__link menu__link--active active" tabindex="0" href="/docs/troubleshooting">Troubleshooting</a></li></ul></li><li class="menu__list-item menu__list-item--collapsed"><a class="menu__link menu__link--sublist" href="#!">Community</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/showcase">User Showcase</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/contributing">Contributing</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/developing">Developing</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/development-guides">Development Guides</a></li></ul></li><li class="menu__list-item menu__list-item--collapsed"><a class="menu__link menu__link--sublist" href="#!">Feature Docs</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/icons">Icons</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/theming">Theming</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/status-indicators">Status Indicators</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/authentication">Authentication</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/searching">Keyboard Shortcuts</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/alternate-views">Alternate Views &amp; Opening Methods</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/multi-language-support">Internationalization</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/backup-restore">Cloud Backup and Restore</a></li></ul></li><li class="menu__list-item menu__list-item--collapsed"><a class="menu__link menu__link--sublist" href="#!">Misc</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/privacy">Privacy &amp; Security</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/changelog">Changelog</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/license">license</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/code-of-conduct">Contributor Covenant Code of Conduct</a></li></ul></li></ul></nav></div></aside><main class="docMainContainer_r8cw"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_zHA2"><div class="docItemContainer_oiyr"><article><div class="markdown"><header><h1 class="h1Heading_dC7a">Troubleshooting</h1></header><p>This document contains common problems and their solutions.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="refused-to-connect-in-modal-or-workspace-view"></a><code>Refused to Connect</code> in Modal or Workspace View<a class="hash-link" href="#refused-to-connect-in-modal-or-workspace-view" title="Direct link to heading">#</a></h2><p>This is not an issue with Dashy, but instead caused by the target app preventing direct access through embedded elements. It can be fixed by setting the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options" target="_blank" rel="noopener noreferrer"><code>X-Frame-Options</code></a> HTTP header set to <code>ALLOW [path to Dashy]</code> or <code>SAMEORIGIN</code>, as defined in <a href="https://datatracker.ietf.org/doc/html/rfc7034" target="_blank" rel="noopener noreferrer">RFC-7034</a>. These settings are usually set in the config file for the web server that&#x27;s hosting the target application, here are some examples of how to enable cross-origin access with common web servers:</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="nginx"></a>NGINX<a class="hash-link" href="#nginx" title="Direct link to heading">#</a></h3><p>In NGINX, you can use the <a href="https://nginx.org/en/docs/http/ngx_http_headers_module.html" target="_blank" rel="noopener noreferrer"><code>add_header</code></a> module within the app block.</p><div class="codeBlockContainer_J+bg"><div class="codeBlockContent_csEI"><pre tabindex="0" class="prism-code language-undefined codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">server {</span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> ...</span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> add_header X-Frame-Options SAMEORIGIN always;</span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>Then reload with <code>service nginx reload</code></p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="caddy"></a>Caddy<a class="hash-link" href="#caddy" title="Direct link to heading">#</a></h3><p>In Caddy, you can use the <a href="https://caddyserver.com/docs/caddyfile/directives/header" target="_blank" rel="noopener noreferrer"><code>header</code></a> directive.</p><div class="codeBlockContainer_J+bg"><div class="codeBlockContent_csEI yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">header </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> X</span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain">Frame</span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain">Options SAMEORIGIN</span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="apache"></a>Apache<a class="hash-link" href="#apache" title="Direct link to heading">#</a></h3><p>In Apache, you can use the <a href="https://httpd.apache.org/docs/current/mod/mod_headers.html" target="_blank" rel="noopener noreferrer"><code>mod_headers</code></a> module to set the <code>X-Frame-Options</code> in your config file. This file is usually located somewhere like `/etc/apache2/httpd.conf</p><div class="codeBlockContainer_J+bg"><div class="codeBlockContent_csEI"><pre tabindex="0" class="prism-code language-undefined codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Header set X-Frame-Options: &quot;ALLOW-FROM http://[dashy-location]/&quot; </span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="yarn-error"></a>Yarn Error<a class="hash-link" href="#yarn-error" title="Direct link to heading">#</a></h2><p>For more info, see <a href="https://github.com/Lissy93/dashy/issues/1" target="_blank" rel="noopener noreferrer">Issue #1</a></p><p>First of all, check that you&#x27;ve got yarn installed correctly - see the <a href="https://classic.yarnpkg.com/en/docs/install" target="_blank" rel="noopener noreferrer">yarn installation docs</a> for more info.</p><p>If you&#x27;re getting an error about scenarios, then you&#x27;ve likely installed the wrong yarn... (you&#x27;re <a href="https://github.com/yarnpkg/yarn/issues/2821" target="_blank" rel="noopener noreferrer">not</a> the only one!). You can fix it by uninstalling, adding the correct repo, and reinstalling, for example, in Debian:</p><ul><li><code>sudo apt remove yarn</code></li><li><code>curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -</code></li><li><code>echo &quot;deb https://dl.yarnpkg.com/debian/ stable main&quot; | sudo tee /etc/apt/sources.list.d/yarn.list</code></li><li><code>sudo apt update &amp;&amp; sudo apt install yarn</code></li></ul><p>Alternatively, as a workaround, you have several options:</p><ul><li>Try using <a href="https://www.npmjs.com/get-npm" target="_blank" rel="noopener noreferrer">NPM</a> instead: So clone, cd, then run <code>npm install</code>, <code>npm run build</code> and <code>npm start</code></li><li>Try using <a href="https://www.docker.com/get-started" target="_blank" rel="noopener noreferrer">Docker</a> instead, and all of the system setup and dependencies will already be taken care of. So from within the directory, just run <code>docker build -t lissy93/dashy .</code> to build, and then use docker start to run the project, e.g: <code>docker run -it -p 8080:80 lissy93/dashy</code> (see the <a href="https://github.com/Lissy93/dashy/blob/master/docs/deployment.md#deploy-with-docker" target="_blank" rel="noopener noreferrer">deploying docs</a> for more info)</li></ul><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="auth-validation-error-should-be-object"></a>Auth Validation Error: &quot;should be object&quot;<a class="hash-link" href="#auth-validation-error-should-be-object" title="Direct link to heading">#</a></h2><p>In V 1.6.5 an update was made that in the future will become a breaking change. You will need to update you config to reflect this before V 2.0.0 is released. In the meantime, your previous config will continue to function normally, but you will see a validation warning. The change means that the structure of the <code>appConfig.auth</code> object is now an object, which has a <code>users</code> property.</p><p>For more info, see <a href="https://github.com/Lissy93/dashy/discussions/177" target="_blank" rel="noopener noreferrer">this announcement</a>.</p><p>You can fix this by replacing:</p><div class="codeBlockContainer_J+bg"><div class="codeBlockContent_csEI yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token key atrule">auth</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">user</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> xxx</span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">hash</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> xxx</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>with</p><div class="codeBlockContainer_J+bg"><div class="codeBlockContent_csEI yaml"><pre tabindex="0" class="prism-code language-yaml codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token key atrule">auth</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">users</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"></span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">-</span><span class="token plain"> </span><span class="token key atrule">user</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> xxx</span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> </span><span class="token key atrule">hash</span><span class="token punctuation" style="color:rgb(248, 248, 242)">:</span><span class="token plain"> xxx</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="config-not-updating"></a>Config Not Updating<a class="hash-link" href="#config-not-updating" title="Direct link to heading">#</a></h2><p>Dashy has the option to save settings and config locally, in browser storage. Anything here will take precedence over whatever is in your config file, sometimes with unintended consequences. If you&#x27;ve updated the config file manually, and are not seeing changes reflected in the UI, then try visiting the site in Incognito mode. If that works, then the solution is just to clear local storage. This can be done from the config menu, under &quot;Clear Local Settings&quot;.</p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="config-still-not-updating"></a>Config Still not Updating<a class="hash-link" href="#config-still-not-updating" title="Direct link to heading">#</a></h2><p>Sometimes your text editor updates files <a href="https://linuxhandbook.com/inode-linux/" target="_blank" rel="noopener noreferrer">inode</a>, meaning changes will not be picked up by the Docker container. This <a href="https://medium.com/@jonsbun/why-need-to-be-careful-when-mounting-single-files-into-a-docker-container-4f929340834" target="_blank" rel="noopener noreferrer">article</a> explains things further.</p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="styles-and-assets-not-updating"></a>Styles and Assets not Updating<a class="hash-link" href="#styles-and-assets-not-updating" title="Direct link to heading">#</a></h2><p>If you find that your styles and other visual assets work when visiting <code>ip:port</code> by not <code>dashy.domain.com</code>, then this is usually caused by caching. In your browser, do a hard-refresh (<kbd>Ctrl</kbd> + <kbd>F5</kbd>). If you use Cloudflare, then you can clear the cache through the management console, or set the cache level to Bypass for certain files, under the Rules tab.</p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="dockerhub-toomanyrequests"></a>DockerHub <code>toomanyrequests</code><a class="hash-link" href="#dockerhub-toomanyrequests" title="Direct link to heading">#</a></h2><p>This situation relates to error messages similar to one of the following, returned when pulling, updating or running the Docker container from Docker Hub.</p><div class="codeBlockContainer_J+bg"><div class="codeBlockContent_csEI"><pre tabindex="0" class="prism-code language-undefined codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Continuing execution. Pulling image lissy93/dashy:release-1.6.0 </span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">error pulling image configuration: toomanyrequests</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>or</p><div class="codeBlockContainer_J+bg"><div class="codeBlockContent_csEI"><pre tabindex="0" class="prism-code language-undefined codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>When DockerHub returns one of these errors, or a <code>429</code> status, that means you&#x27;ve hit your rate limit. This was <a href="https://www.docker.com/blog/scaling-docker-to-serve-millions-more-developers-network-egress/" target="_blank" rel="noopener noreferrer">introduced</a> last year, and prevents unauthenticated or free users from running docker pull more than 100 times per 6 hours.
You can <a href="https://www.docker.com/blog/checking-your-current-docker-pull-rate-limits-and-status/" target="_blank" rel="noopener noreferrer">check your rate limit status</a> by looking for the <code>ratelimit-remaining</code> header in any DockerHub responses. </p><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="solution-1---use-an-alternate-container-registry"></a>Solution 1 - Use an alternate container registry<a class="hash-link" href="#solution-1---use-an-alternate-container-registry" title="Direct link to heading">#</a></h4><ul><li>Dashy is also availible through GHCR, which at present does not have any hard limits. Just use <code>docker pull ghcr.io/lissy93/dashy:latest</code> to fetch the image</li><li>You can also build the image from source, by cloning the repo, and running <code>docker build -t dashy .</code> or use the pre-made docker compose</li></ul><h4><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="solution-2---increase-your-rate-limits"></a>Solution 2 - Increase your rate limits<a class="hash-link" href="#solution-2---increase-your-rate-limits" title="Direct link to heading">#</a></h4><ul><li>Logging in to DockerHub will increase your rate limit from 100 requests to 200 requests per 6 hour period</li><li>Upgrading to a Pro for $5/month will increase your image requests to 5,000 per day, and any plans above have no rate limits</li><li>Since rate limits are counted based on your IP address, proxying your requests, or using a VPN may work</li></ul><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="config-validation-errors"></a>Config Validation Errors<a class="hash-link" href="#config-validation-errors" title="Direct link to heading">#</a></h2><p>The configuration file is validated against <a href="https://github.com/Lissy93/dashy/blob/master/src/utils/ConfigSchema.json" target="_blank" rel="noopener noreferrer">Dashy&#x27;s Schema</a> using AJV.</p><p>First, check that your syntax is valid, using <a href="https://codebeautify.org/yaml-validator/" target="_blank" rel="noopener noreferrer">YAML Validator</a> or <a href="https://codebeautify.org/jsonvalidator" target="_blank" rel="noopener noreferrer">JSON Validator</a>. If the issue persists, then take a look at the <a href="https://github.com/Lissy93/dashy/blob/master/src/utils/ConfigSchema.json" target="_blank" rel="noopener noreferrer">schema</a>, and verify that the field you are trying to add/ modify matches the required format. You can also use <a href="https://www.jsonschemavalidator.net/s/JFUj7X9J" target="_blank" rel="noopener noreferrer">this tool</a> to validate your JSON config against the schema, or run <code>yarn validate-config</code>.</p><p>If you&#x27;re trying to use a recently released feature, and are getting a warning, this is likely because you&#x27;ve not yet updated the the current latest version of Dashy.</p><p>If the issue still persists, you should raise an issue.</p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="node-sass-does-not-yet-support-your-current-environment"></a>Node Sass does not yet support your current environment<a class="hash-link" href="#node-sass-does-not-yet-support-your-current-environment" title="Direct link to heading">#</a></h2><p>Caused by node-sass&#x27;s binaries being built for a for a different architecture
To fix this, just run: <code>yarn rebuild node-sass</code></p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="error-cannot-find-module-_basevalues"></a>Error: Cannot find module &#x27;./_baseValues&#x27;<a class="hash-link" href="#error-cannot-find-module-_basevalues" title="Direct link to heading">#</a></h2><p>Clearing the cache should fix this: <code>yarn cache clean</code>
If the issue persists, remove (<code>rm -rf node_modules\ yarn.lock</code>) and reinstall (<code>yarn</code>) node_modules</p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="invalid-host-header-while-running-through-ngrok"></a>Invalid Host Header while running through ngrok<a class="hash-link" href="#invalid-host-header-while-running-through-ngrok" title="Direct link to heading">#</a></h2><p>Just add the <a href="https://ngrok.com/docs#http-host-header" target="_blank" rel="noopener noreferrer">-host-header</a> flag, e.g. <code>ngrok http 8080 -host-header=&quot;localhost:8080&quot;</code></p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="warnings-in-the-console-during-deploy"></a>Warnings in the Console during deploy<a class="hash-link" href="#warnings-in-the-console-during-deploy" title="Direct link to heading">#</a></h2><p>Please acknowledge the difference between errors and warnings before raising an issue about messages in the console. It&#x27;s not unusual to see warnings about a new version of a certain package being available, an asset bundle bing oversized or a service worker not yet having a cache. These shouldn&#x27;t have any impact on the running application, so please don&#x27;t raise issues about these unless it directly relates to a bug or issue you&#x27;re experiencing. Errors on the other hand should not appear in the console, and they are worth looking into further.</p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="docker-login-fails-on-ubuntu"></a>Docker Login Fails on Ubuntu<a class="hash-link" href="#docker-login-fails-on-ubuntu" title="Direct link to heading">#</a></h2><p>Run <code>sudo apt install gnupg2 pass &amp;&amp; gpg2 -k</code></p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="status-checks-failing"></a>Status Checks Failing<a class="hash-link" href="#status-checks-failing" title="Direct link to heading">#</a></h2><p>If you&#x27;re using status checks, and despite a given service being online, the check is displaying an error, there are a couple of things you can look at:</p><p>If your service requires requests to include any authorization in the headers, then use the <code>statusCheckHeaders</code> property, as described in the <a href="/docs/status-indicators#setting-custom-headers">docs</a>.</p><p>If you are still having issues, it may be because your target application is blocking requests from Dashy&#x27;s IP. This is a <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS" target="_blank" rel="noopener noreferrer">CORS error</a>, and can be fixed by setting the headers on your target app, to include:</p><div class="codeBlockContainer_J+bg"><div class="codeBlockContent_csEI"><pre tabindex="0" class="prism-code language-undefined codeBlock_rtdJ thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_1zSZ"><span class="token-line" style="color:#F8F8F2"><span class="token plain">Access-Control-Allow-Origin: https://location-of-dashy/</span></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Vary: Origin</span></span></code></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_M3SB clean-btn">Copy</button></div></div><p>If the URL you are checking has an unsigned certificate, or is not using HTTPS, then you may need to disable the rejection of insecure requests. This can be done by setting <code>statusCheckAllowInsecure</code> to true for a given item.</p><p>If you get an error, like <code>Service Unavailable: Server resulted in a fatal error</code>, even when it&#x27;s definitely online, this is most likely caused by missing the protocol. Don&#x27;t forget to include <code>https://</code> (or whatever protocol) before the URL, and ensure that if needed, you&#x27;ve specified the port.</p><p>Currently, the status check needs a page to be rendered, so if this URL in your browser does not return anything, then status checks will not work. This may be modified in the future, but in the meantime, a fix would be to make your own status service, which just checks if your app responds with whatever code you&#x27;d like, and then return a 200 plus renders an arbitrary message. Then just point <code>statusCheckUrl</code> to your custom page.</p><p>For further troubleshooting, use an application like <a href="https://postman.com" target="_blank" rel="noopener noreferrer">Postman</a> to diagnose the issue. Set the parameter to <code>GET</code>, and then make a call to: <code>https://[url-of-dashy]/status-check/?&amp;url=[service-url]</code>. Where the service URL must have first been encoded (e.g. with <code>encodeURIComponent()</code> or <a href="https://www.urlencoder.io/" target="_blank" rel="noopener noreferrer">urlencoder.io</a>)</p><p>If you&#x27;re serving Dashy though a CDN, instead of using the Node server or Docker image, then the Node endpoint that makes requests will not be available to you, and all requests will fail. A workaround for this may be implemented in the future, but in the meantime, your only option is to use the Docker or Node deployment method.</p></div><footer class="row docusaurus-mt-lg"><div class="col"><a href="https://github.com/Lissy93/dashy/edit/gh-pages/docs/docs/troubleshooting.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_mS5F" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_wj+Z"></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/management"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">« Management</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/docs/showcase"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">User Showcase »</div></a></div></nav></div></div><div class="col col--3"><div class="tableOfContents_vrFS thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#refused-to-connect-in-modal-or-workspace-view" class="table-of-contents__link"><code>Refused to Connect</code> in Modal or Workspace View</a><ul><li><a href="#nginx" class="table-of-contents__link">NGINX</a></li><li><a href="#caddy" class="table-of-contents__link">Caddy</a></li><li><a href="#apache" class="table-of-contents__link">Apache</a></li></ul></li><li><a href="#yarn-error" class="table-of-contents__link">Yarn Error</a></li><li><a href="#auth-validation-error-should-be-object" class="table-of-contents__link">Auth Validation Error: &quot;should be object&quot;</a></li><li><a href="#config-not-updating" class="table-of-contents__link">Config Not Updating</a></li><li><a href="#config-still-not-updating" class="table-of-contents__link">Config Still not Updating</a></li><li><a href="#styles-and-assets-not-updating" class="table-of-contents__link">Styles and Assets not Updating</a></li><li><a href="#dockerhub-toomanyrequests" class="table-of-contents__link">DockerHub <code>toomanyrequests</code></a></li><li><a href="#config-validation-errors" class="table-of-contents__link">Config Validation Errors</a></li><li><a href="#node-sass-does-not-yet-support-your-current-environment" class="table-of-contents__link">Node Sass does not yet support your current environment</a></li><li><a href="#error-cannot-find-module-_basevalues" class="table-of-contents__link">Error: Cannot find module &#39;./_baseValues&#39;</a></li><li><a href="#invalid-host-header-while-running-through-ngrok" class="table-of-contents__link">Invalid Host Header while running through ngrok</a></li><li><a href="#warnings-in-the-console-during-deploy" class="table-of-contents__link">Warnings in the Console during deploy</a></li><li><a href="#docker-login-fails-on-ubuntu" class="table-of-contents__link">Docker Login Fails on Ubuntu</a></li><li><a href="#status-checks-failing" class="table-of-contents__link">Status Checks Failing</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Intro</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/lissy93/dashy" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub</a></li><li class="footer__item"><a href="https://demo.dashy.to" target="_blank" rel="noopener noreferrer" class="footer__link-item">Live Demo</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/quick-start">Quick Start</a></li><li class="footer__item"><a class="footer__link-item" href="/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Setup Guide</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/deployment">Deploying</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/configuring">Configuring</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/management">Management</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/troubleshooting">Troubleshooting</a></li></ul></div><div class="col footer__col"><div class="footer__title">Feature Docs Pt 1</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/authentication">Authentication</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/alternate-views">Alternate Views</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/backup-restore">Backup &amp; Restore</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/icons">Icons</a></li></ul></div><div class="col footer__col"><div class="footer__title">Feature Docs Pt 2</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/multi-language-support">Language Switching</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/status-indicators">Status Indicators</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/searching">Searching &amp; Shortcuts</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/theming">Theming</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/developing">Developing</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/development-guides">Development Guides</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/contributing">Contributing</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/showcase">Showcase</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/credits">Credits</a></li></ul></div><div class="col footer__col"><div class="footer__title">Misc</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/privacy">Privacy &amp; Security</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/license">License</a></li><li class="footer__item"><a href="https://github.com/Lissy93/dashy/blob/master/.github/LEGAL.md" target="_blank" rel="noopener noreferrer" class="footer__link-item">Legal</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/code-of-conduct">Code of Conduct</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/changelog">Changelog</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright"><a href="https://dashy.to">Dashy</a> - The Self-Hosted Dashboard for your Homelab<br>License under <a href="https://github.com/Lissy93/dashy/blob/master/LICENSE">MIT</a>. Copyright © 2021 <a href="https://aliciasykes.com">Alicia Sykes</a></div></div></div></footer></div>
<script src="/assets/js/runtime~main.d7101778.js"></script>
<script src="/assets/js/main.a34905c6.js"></script>
</body>
</html>