Commit 6a4418243a42
Changed files (1)
modules
wallabag
modules/wallabag/default.nix
@@ -32,7 +32,7 @@ let
mailer_dsn: '${cfg.mailerDsn}'
locale: ${cfg.locale}
- secret: '%env(WALLABAG_SECRET)%'
+ secret: __WALLABAG_SECRET_PLACEHOLDER__
twofactor_sender: ${cfg.twofactorSender}
fosuser_registration: ${boolToString cfg.registration}
@@ -76,6 +76,29 @@ let
mkdir -p "$DATA_DIR/data/db"
mkdir -p "$DATA_DIR/data/assets"
+ # Symlink all package top-level entries into data dir, skipping
+ # directories we manage (app, var, web/uploads)
+ for entry in "$PACKAGE"/*; do
+ name=$(basename "$entry")
+ case "$name" in app|var|web) continue ;; esac
+ ln -sfn "$entry" "$DATA_DIR/$name"
+ done
+
+ # Symlink app-level entries except config (which we manage)
+ for entry in "$PACKAGE"/app/*; do
+ name=$(basename "$entry")
+ [ "$name" = "config" ] && continue
+ ln -sfn "$entry" "$DATA_DIR/app/$name"
+ done
+
+ # Symlink config files except parameters.yml (which we generate)
+ for f in "$PACKAGE"/app/config/*; do
+ fname=$(basename "$f")
+ [ "$fname" = "parameters.yml" ] && continue
+ [ "$fname" = "parameters.yml.dist" ] && continue
+ ln -sfn "$f" "$DATA_DIR/app/config/$fname"
+ done
+
# Copy parameters.yml (install with write permission since we patch it)
install -m 0640 ${parametersYml} "$DATA_DIR/app/config/parameters.yml"
@@ -101,7 +124,9 @@ let
fi
export WALLABAG_DATA="$DATA_DIR"
- export WALLABAG_SECRET="$WALLABAG_SECRET_VALUE"
+ # Patch secret into parameters.yml
+ ${pkgs.gnused}/bin/sed -i "s|__WALLABAG_SECRET_PLACEHOLDER__|$WALLABAG_SECRET_VALUE|" \
+ "$DATA_DIR/app/config/parameters.yml"
# Clear cache on every start (required after upgrades)
rm -rf "$DATA_DIR/var/cache/prod/"*
@@ -110,7 +135,7 @@ let
${cfg.package}/bin/console doctrine:migrations:migrate --no-interaction --env=prod || true
# Install craue settings if first run
- ${cfg.package}/bin/console wallabag:install --env=prod --no-interaction --reset=no 2>/dev/null || true
+ ${cfg.package}/bin/console wallabag:install --env=prod --no-interaction 2>/dev/null || true
'';
phpPackage = pkgs.php83.withExtensions (
@@ -289,7 +314,7 @@ in
settings = {
"listen.mode" = mkDefault "0660";
"listen.owner" = mkDefault cfg.user;
- "listen.group" = mkDefault cfg.group;
+ "listen.group" = mkDefault config.services.caddy.group;
"pm" = mkDefault "dynamic";
"pm.max_children" = mkDefault 10;
"pm.start_servers" = mkDefault 2;
@@ -307,6 +332,8 @@ in
extraConfig = ''
root * ${cfg.package}/web
php_fastcgi unix/${config.services.phpfpm.pools.wallabag.socket} {
+ split .php
+ index app.php
env WALLABAG_DATA ${cfg.dataDir}
}
file_server