Open jonaswinkler opened 3 years ago
Would something like this be useful?
I’m not sure I would personally use it but seeing how incredibly specific peoples’ workflows are on here I’m sure others would!
Generally, I support the idea to improve approachability of the project. One concern I have is the consistency between configuration on-disk (or in-environment) and the settings in the frontend. The most common (and reasonable) approach would probably be to have values which were manually set in the frontend take precedence over the other ones... but then again, the state would be considered inconsistent. Editing the configuration file would generally not be an option since permissions to modify the file should not be granted. Changing the environment variables suffers the problem that it will not be persistent.
I quite like it, I must say :)
Regarding consistency: I see setting environment variables as defining the default value that can be changed later. As a change in the environment variables does not propagate to the running system, consistency was never guaranteed. Now we would have just another way to set the values, and it would not require restarting the system (or even rebuilding the docker container).
Makes me wonder if this is worth the effort. Probably not. Most of these things don't get touched again after being set up initially.
I don't see it that way, that's why I raised this issue: While I did set some environment variables when I set it up, paperless-ng now has been updated several times, gained new features, but I have not changed the docker setup (partly because the update is automated with Watchtower), partly because I don't read the release notes every time a new version is released, so it's hard to know what's possible now. Similarly, the supported environment variables and their values are not easy to discover, and impossible without documentation.
For me, I'd like to setup paperless-ng with almost no configuration (or even absolutely none) and configure it via the frontend. That way, I can easily update the configuration when new features pop up, or when I want to test something out. Re-configuring docker is a lot more effort. Not to mention the bad UX of "oh, I made a typo in the variable. Now I have to start again" that could be avoided with a frontend.
I have just started on the paperless-ng journey this week. I haven't used docker-compose as much and the docker-compose.env did cause a few loops of figuring out how it works and when it pulls in updates (still hung up on a few things).
Long story short: I would have appreciated to set backend settings in the frontend, especially those that might change (e.g. PAPERLESS_FILENAME_DATE_ORDER) during the process of finding the optimal setup.
It would be comfortable and better UX if I could configure the backend from the frontend (i.e. what I now can do with environment variables). For one thing, it's easier to change it via a browser than to restart the docker container with a different set of env vars. Additionally, it's much easier to discover possible settings.
Originally posted by @fdw in https://github.com/jonaswinkler/paperless-ng/discussions/779