Files
ProxmoxVE/ct
CanbiZ (MickLesk) 46dfe21e68 suggestarr: keep the data where the app actually reads it (#17317)
* suggestarr: keep the data where the app actually reads it

The env file sets CONFIG_DIR=/opt/suggestarr_data and the service passes
it through, but SuggestArr never reads that variable. Its database
manager builds the path from the application directory:

  DB_PATH = os.path.join(BASE_DIR, 'config', 'config_files', 'requests.db')

so config.yaml, requests.db and secret.key live under /opt/suggestarr,
which the update wipes with CLEAN_INSTALL. Every update came back as a
fresh install.

Make config/config_files a symlink to /opt/suggestarr_data and lay it
down again after each deploy, since the deploy replaces it with a real
directory. Existing installs have their files copied across first, with
cp -an so anything already in the data directory wins.

CONFIG_DIR stays in the env file: it is inert today and costs nothing if
upstream starts reading it.

* suggestarr: let a failed migration stop the update

The || true was wrong and the review caught it. CLEAN_INSTALL wipes
/opt/suggestarr right after this copy, so swallowing a failure here
means the source is deleted with nothing carried across.

The guard was not even doing anything: cp -an exits 0 when it skips a
file that already exists in the target, which is the only case that
looked like it needed one. It only returns non-zero on a real failure,
which is exactly when the update has to stop - and it now stops before
the deploy, with the original data still in place.

  cp -an, target file exists  -> exit 0, continues
  cp -an, source missing      -> exit 1, ERR trap, aborts before deploy

2>/dev/null goes as well, so the reason is visible.
2026-09-18 08:43:49 +02:00
..
2026-09-15 09:16:43 +02:00
2026-08-24 17:09:34 +02:00
2026-08-26 22:09:11 +10:00
2026-08-24 17:11:26 +02:00
2026-09-14 15:50:54 +02:00
2026-08-25 16:09:04 +02:00
2026-08-26 22:09:19 +10:00
2026-09-07 16:57:57 +02:00
2026-09-10 15:10:59 +02:00
2026-09-08 11:20:32 +02:00
2026-08-30 20:53:34 +02:00
2026-08-26 13:42:52 +02:00
2026-09-12 22:11:22 +02:00
2026-08-26 22:07:45 +10:00
2026-09-16 12:01:52 +02:00
2026-08-26 13:42:13 +02:00
2026-09-12 11:52:55 +02:00
2026-09-12 14:24:00 +02:00
2026-08-26 08:48:51 +02:00
2026-09-16 16:00:31 +02:00
2026-09-02 16:31:59 +02:00
2026-09-07 16:51:29 +02:00
2026-09-11 23:40:58 +02:00
2026-09-09 15:25:01 +02:00
2026-09-10 15:02:09 +02:00
2026-09-01 22:25:05 +02:00
2026-09-07 16:53:13 +02:00
2026-09-11 07:43:35 +02:00
2026-08-30 20:53:12 +02:00
2026-08-26 13:42:32 +02:00
2026-08-31 08:49:37 +02:00
2026-08-26 13:41:49 +02:00
2026-09-18 08:42:54 +02:00
2026-09-02 16:32:44 +02:00
2026-09-10 15:02:18 +02:00
2026-08-25 15:11:31 +02:00
2026-09-02 16:31:34 +02:00
2026-08-24 17:07:31 +02:00
2026-09-10 13:49:15 +02:00
2026-08-27 09:56:12 +02:00
2026-08-30 20:55:03 +02:00
2026-09-08 11:18:20 +02:00
2026-09-15 09:16:43 +02:00