From 1140663b3c59cb6e7c1e220284e82afe4661e145 Mon Sep 17 00:00:00 2001 From: Kasra Bigdeli Date: Tue, 25 Dec 2018 22:13:01 -0800 Subject: [PATCH] first commit --- README.md | 90 +++++++++++++++++++++++++++++++- one-click-apps/v1/wordpress.json | 75 ++++++++++++++++++++++++++ 2 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 one-click-apps/v1/wordpress.json diff --git a/README.md b/README.md index 38dfc62..1937104 100644 --- a/README.md +++ b/README.md @@ -1 +1,89 @@ -# testing-v1-one-click-apps \ No newline at end of file +## 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" + }] + +} +``` \ No newline at end of file diff --git a/one-click-apps/v1/wordpress.json b/one-click-apps/v1/wordpress.json new file mode 100644 index 0000000..f3e79f8 --- /dev/null +++ b/one-click-apps/v1/wordpress.json @@ -0,0 +1,75 @@ +{ + "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" + }] + +} \ No newline at end of file