## Test Repo for CaptainDuckDuck V1 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 structure as below - Variables are prefixed with `$$cap` - There is one special variable called `$$cap_appname$$` which exists for all oneclick apps - Varibles can be anywhere in the JSON and they will be replaced by what user enters - Each variable must have `id`, `type`, `label`. It may also have `defaultValue`, `validRegex`, `description`. - Other than `image`, `environment`, `ports`, `volumes`, `depends_on`, other parameters are ignored. Make sure they are not important. ``` { "captainVersion": "1", "documentation": "Taken from https://docs.docker.com/compose/wordpress/ port mapping removed from WP as it's not needed", "dockerCompose": { "version": "3.3", "services": { "db": { "image": "mysql:$$cap_mysql_version", "volumes": [ "db_data:/var/lib/mysql" ], "restart": "always", "environment": { "MYSQL_ROOT_PASSWORD": "$$cap_db_pass", "MYSQL_DATABASE": "wordpress", "MYSQL_USER": "$$cap_db_user", "MYSQL_PASSWORD": "$$cap_db_pass" } }, "wordpress": { "depends_on": [ "$$cap_appname$$-db" ], "image": "wordpress:$$cap_wp_version", "restart": "always", "environment": { "WORDPRESS_DB_HOST": "$$cap_appname$$-db:3306", "WORDPRESS_DB_USER": "$$cap_db_user", "WORDPRESS_DB_PASSWORD": "$$cap_db_pass" } } }, "volumes": { "db_data": {} } }, "variables": [ { "id": "$$cap_db_user", "label": "Database user", "defaultValue": "wordpressuser", "type": "text", "testRegex": "/^[a-z0-9\\-]+$/" }, { "id": "$$cap_db_pass", "label": "Database password", "description": "", "type": "text", "validRegex": ".{22,}" }, { "id": "$$cap_wp_version", "label": "WordPress Version", "defaultValue": "latest", "description": "Checkout their docker page for the valid tags", "type": "text" }, { "id": "$$cap_mysql_version", "label": "MySQL Version", "defaultValue": "latest", "description": "Checkout their docker page for the valid tags", "type": "text" }] } ```