summaryrefslogtreecommitdiffhomepage
path: root/README.md
blob: 19371041c1c9a593a84c34a8c1369fafb5431235 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
## 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"
    }]

}
```