Change:
Steps to reproduce the behavior: and configure , with: logs: : I am not sure whether this means that the service is unavailable, as the page opens as expected... but my configured widget does not work although adguard is reachable from the instance... Possibly related:
Hi, I am also affected by this. I only use and , so far from a complex configuration. I cannot update my config once the initial deployment happened. Restarting does nothing.
I think this is just the option being used slightly wrong. This option is specifically for Homepage's support for passing secrets/values (see ) Notably: If you want to change arbitrary env vars, try modifying the systemd unit directly? If that turns out to be the issue, maybe I'll try to clarify that point in the option description slightly.
I don't use that option, yet I still run into the same error message.
Interesting, I'm not sure what's causing that. I'll try to take a look over the coming few days - I need to try and get a reproducer first, as I've not yet seen that behaviour.
Hey, I can't seem to repro, but I have just noticed that you're on quite an old version of homepage-dashboard there. Would you be able to try out the later version by using an overlay or similar? You can set the package with . For me, this is achieved in my flake by then .
Hmm, okay I did finally get to repro this, but only when using the option. Looking at it, this seems like an internal function of NextJS, and not something I'm sure I can fix from a packaging perspective -- that said, the log message is "only" a warning, and as far as I can tell my dashboard remains completely functional - if anything this might just result in slightly degraded performance, but I didn't notice anything in my instance.
Hi, I'm also having this problem. I've been trying to set this up for the first time today with widgets for Jellyfin, AdGuard and Glance (config , running everything on so should be on the latest version), but when I re- and restart the service, I get this: This is the only error I see, and it gets printed again when I refresh the page with the button in the bottom right. Weirdly I don't see any errors on the web page, but the AdGuard module and all of the Glance modules fail to show up at all. Not sure if that's similar to what was seeing when they said since it could be the page not updating properly from the state it was initially created in. For reference, I've attached a screenshot of the page that the linked config is currently generating. !
Okay, I think I've got a fix in
I think this is now addressed, and once trickles through to it'll be easier to test out. Please feel free to report back if it hasn't solved the problem - locally it seemed good to me! You can track the PR's progress here: https://nixpkgs-
Ah nice, I only knew

Discussion:
environment = { HOMEPAGE_CONFIG_DIR = configDir; <ins> HOMEPAGE_CACHE_DIR = "/var/cache/homepage-dashboard"; </ins> PORT = toString cfg.listenPort; LOG_TARGETS = lib.mkIf managedConfig "stdout"; };

DynamicUser = true; EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile; StateDirectory = lib.mkIf (!managedConfig) "homepage-dashboard"; <ins> CacheDirectory = "homepage-dashboard"; </ins> ExecStart = lib.getExe cfg.package; Restart = "on-failure"; };

nixosTests, enableLocalIcons ? false, nix-update-script, <ins> git, </ins> }: let dashboardIcons = fetchFromGitHub {

patchShebangs .next/standalone/server.js ''; <del> nativeBuildInputs = lib.optionals stdenv.isDarwin [ cctools ]; </del> <ins> nativeBuildInputs = [ git ] ++ lib.optionals stdenv.isDarwin [ cctools ]; </ins> buildInputs = [ nodePackages.node-gyp-build ] ++ lib.optionals stdenv.isDarwin [ IOKit ];

chmod +x $out/share/homepage/server.js <ins> # This patch must be applied here, as it's patching the `dist` directory # of NextJS. Without this, homepage-dashboard errors when trying to # write its prerender cache. # # This patch ensures that the cache implementation respects the env # variable `HOMEPAGE_CACHE_DIR`, which is set by default in the # wrapper below. pushd $out git apply ${./prerender_cache_path.patch} popd </ins> makeWrapper $out/share/homepage/server.js $out/bin/homepage  --set-default PORT 3000  <del> --set-default HOMEPAGE_CONFIG_DIR /var/lib/homepage-dashboard </del> <ins> --set-default HOMEPAGE_CONFIG_DIR /var/lib/homepage-dashboard  --set-default HOMEPAGE_CACHE_DIR /var/cache/homepage-dashboard </ins> ${if enableLocalIcons then installLocalIcons else ""}

<ins> diff --git a/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js b/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js index b1b74d8..a46c80b 100644 --- a/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +++ b/share/homepage/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js @@ -5,11 +5,12 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; var _lruCache = _interopRequireDefault(require("next/dist/compiled/lru-cache")); var _path = _interopRequireDefault(require("../../../shared/lib/isomorphic/path")); +var path = require('node:path'); class FileSystemCache { constructor(ctx){ this.fs = ctx.fs; this.flushToDisk = ctx.flushToDisk; -        this.serverDistDir = ctx.serverDistDir; +        this.serverDistDir = path.join(process.env.HOMEPAGE_CACHE_DIR, "homepage"); this.appDir = !!ctx._appDir; if (ctx.maxMemoryCacheSize) { this.memoryCache = new _lruCache.default({ </ins>