* proposition of updating readme adding bold for clicable sections rename enviromental into environment add the icon to the process fix link name of the app who does not match with the current README * take into account dev review + important Note
23 lines
2.0 KiB
Markdown
23 lines
2.0 KiB
Markdown
## Repo for CapRover One Click Apps
|
|
|
|
Process:
|
|
- 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](https://github.com/caprover/one-click-apps/blob/master/public/v2/apps/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](https://github.com/caprover/one-click-apps/blob/master/public/v2/apps/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](https://github.com/caprover/one-click-apps/blob/master/public/v2/apps/adminer.json), 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.
|