Pleroma Installer / ConfigDB 2.0
On the heels of #1999 and !1633 (closed) -- it's time to modernize the install. We can probably use the work to modularize Pleroma in !2770 (closed) to only startup an installer web endpoint if there is no config.
Goals:
-
Web-based installer
Like PHP apps always used as they were very user friendly. Ask for DB credentials, test database, install schema/run migrations, give useful errors/advice for common problems, test existence of any 3rd-party binaries (convert/ImageMagick, etc).
Write [applicable] settings directly to database or config file so the user does not have to hand-edit the config to remove redundant entries that are already in the database. (not required, but less confusing for debugging if the setting is only in one place; users may not know the database always overrides the config file)
-
Fully atomic configuration with backups.
Each config change needs to create a backup which includes all ConfigDB settings at that point in time. Then we can add a mix task and an AdminFE menu to allow the admin to rollback/forward easily. Bonus if we can extend this to show diffs between versions, but we can add that later as an improvement.