caprover icon indicating copy to clipboard operation
caprover copied to clipboard

Support variations of the same app that use different database configurations

Open newz2000 opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe. Many great one-click apps include a database. For example, keycloak includes a postgres dependency that sets up and configures a postgres image. Botpress also includes a postgres dependency that sets up and configures a postgres image.

But what if you install keycloak and botpress on the same caprover installation? You'll get two postgres dependencies, so there will be two separate postgres images running.

Also, some one-click apps could support different database configurations. For example, Keycloak can support postgres, mariadb, and mysql.

Some one-click apps have been duplicated to allow a version with and without a database. For example, wordpress has two separate installation configurations; one with the mysql database dependency and one without.

However, having a different one-click app for every possible database option would make the interface cluttered. It would also make it more difficult to choose the setup.

Describe the solution you'd like It would be great if the one-click app configuration format allowed for variations of the same image. For example:

  • There would be only one wordpress option
  • On the configuration screen, you would choose to install the database dependency or use an existing database
  • This would allow you to choose between:
    • Install and configure MySql
    • Install and configure Mariadb
    • Use a pre-configured database (maybe marked with an "advanced" notation)

This could enable other types of configurations, not just database choices. For example, Imagor:

  • Imagor with local storage
  • Imagor with S3 storage
  • Imagor that installs MinIO S3 compatible storage (not sure if this actually works)

Describe alternatives you've considered I have considered forking several of the one-click apps and allowing them to work with a "no database" option or with multiple database options. For example, keycloak (with MySQL), keycloak (with PostgreSQL), keycloak (no database)… it would work in the short term but would get clunky.

newz2000 avatar Apr 08 '23 02:04 newz2000