dan-dr / one-click-apps

Repo for CapRover One Click Apps (https://github.com/caprover/caprover)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Repo for CapRover One Click Apps

To create a new one click app:

  • Find/create a docker-compose file for the one click app
  • Convert yaml file to json
  • Copy the content into the one-click app structure. See this for the reference: wordpress.json
  • Variables are prefixed with $$cap
  • Variables can be anywhere in the JSON and they will be replaced by what user enters
  • There are 2 special variables called $$cap_appname and $$cap_root_domain which exist for all oneclick apps. If your app needs environment variables with the URL value of the app, you can use $$cap_appname.$$cap_root_domain which resolves to something like myappname.rootdomain.com
  • Each custom variable must have id, label. They may also have defaultValue, validRegex, description. (NB: fields are not required. If validRegex is not set, the field can be set as empty and ignored by the user.)
  • Other than image, environment, ports, volumes, depends_on, other parameters are currently being ignored by CapRover. Make sure they are not crucial.
  • Instead of image property in a service, you can use dockerfileLines which is an array of strings.
  • Some webapps, use a non-standard HTTP port. For example, Adminer's Docker image uses port 8080. In this case, add containerHttpPort to the service. See adminer.json for example.
  • Add the icon as a png file to the logos directory.

Test your One Click Apps

After creating your One-Click app json, like this, you need to test it before creating a Pull Request. Here is how you test it:

  • Login to your CapRover dashboard
  • Go to apps and click on One-Click Apps/Databases
  • Select >> TEMPLATE << at the bottom of the dropdown list
  • Copy and paste your JSON into the text area, and click NEXT.
  • Enter values and make sure it's working as expected.

About

Repo for CapRover One Click Apps (https://github.com/caprover/caprover)

License:Apache License 2.0


Languages

Language:JavaScript 61.5%Language:Shell 38.5%