| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424 | 
							- {
 
-   "$schema": "http://json-schema.org/draft-04/schema#",
 
-   "id": "config_schema_v2.0.json",
 
-   "type": "object",
 
-   "properties": {
 
-     "version": {
 
-       "type": "string"
 
-     },
 
-     "services": {
 
-       "id": "#/properties/services",
 
-       "type": "object",
 
-       "patternProperties": {
 
-         "^[a-zA-Z0-9._-]+$": {
 
-           "$ref": "#/definitions/service"
 
-         }
 
-       },
 
-       "additionalProperties": false
 
-     },
 
-     "networks": {
 
-       "id": "#/properties/networks",
 
-       "type": "object",
 
-       "patternProperties": {
 
-         "^[a-zA-Z0-9._-]+$": {
 
-           "$ref": "#/definitions/network"
 
-         }
 
-       }
 
-     },
 
-     "volumes": {
 
-       "id": "#/properties/volumes",
 
-       "type": "object",
 
-       "patternProperties": {
 
-         "^[a-zA-Z0-9._-]+$": {
 
-           "$ref": "#/definitions/volume"
 
-         }
 
-       },
 
-       "additionalProperties": false
 
-     }
 
-   },
 
-   "patternProperties": {"^x-": {}},
 
-   "additionalProperties": false,
 
-   "definitions": {
 
-     "service": {
 
-       "id": "#/definitions/service",
 
-       "type": "object",
 
-       "properties": {
 
-         "blkio_config": {
 
-           "type": "object",
 
-           "properties": {
 
-             "device_read_bps": {
 
-               "type": "array",
 
-               "items": {"$ref": "#/definitions/blkio_limit"}
 
-             },
 
-             "device_read_iops": {
 
-               "type": "array",
 
-               "items": {"$ref": "#/definitions/blkio_limit"}
 
-             },
 
-             "device_write_bps": {
 
-               "type": "array",
 
-               "items": {"$ref": "#/definitions/blkio_limit"}
 
-             },
 
-             "device_write_iops": {
 
-               "type": "array",
 
-               "items": {"$ref": "#/definitions/blkio_limit"}
 
-             },
 
-             "weight": {"type": "integer"},
 
-             "weight_device": {
 
-               "type": "array",
 
-               "items": {"$ref": "#/definitions/blkio_weight"}
 
-             }
 
-           },
 
-           "additionalProperties": false
 
-         },
 
-         "build": {
 
-           "oneOf": [
 
-             {"type": "string"},
 
-             {
 
-               "type": "object",
 
-               "properties": {
 
-                 "context": {"type": "string"},
 
-                 "dockerfile": {"type": "string"},
 
-                 "args": {"$ref": "#/definitions/list_or_dict"}
 
-               },
 
-               "additionalProperties": false
 
-             }
 
-           ]
 
-         },
 
-         "cap_add": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
 
-         "cap_drop": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
 
-         "cgroup_parent": {"type": "string"},
 
-         "command": {
 
-           "oneOf": [
 
-             {"type": "string"},
 
-             {"type": "array", "items": {"type": "string"}}
 
-           ]
 
-         },
 
-         "container_name": {"type": "string"},
 
-         "cpu_shares": {"type": ["number", "string"]},
 
-         "cpu_quota": {"type": ["number", "string"]},
 
-         "cpuset": {"type": "string"},
 
-         "depends_on": {"$ref": "#/definitions/list_of_strings"},
 
-         "devices": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
 
-         "dns": {"$ref": "#/definitions/string_or_list"},
 
-         "dns_opt": {
 
-           "type": "array",
 
-           "items": {
 
-             "type": "string"
 
-           },
 
-           "uniqueItems": true
 
-         },
 
-         "dns_search": {"$ref": "#/definitions/string_or_list"},
 
-         "domainname": {"type": "string"},
 
-         "entrypoint": {
 
-           "oneOf": [
 
-             {"type": "string"},
 
-             {"type": "array", "items": {"type": "string"}}
 
-           ]
 
-         },
 
-         "env_file": {"$ref": "#/definitions/string_or_list"},
 
-         "environment": {"$ref": "#/definitions/list_or_dict"},
 
-         "expose": {
 
-           "type": "array",
 
-           "items": {
 
-             "type": ["string", "number"],
 
-             "format": "expose"
 
-           },
 
-           "uniqueItems": true
 
-         },
 
-         "extends": {
 
-           "oneOf": [
 
-             {
 
-               "type": "string"
 
-             },
 
-             {
 
-               "type": "object",
 
-               "properties": {
 
-                 "service": {"type": "string"},
 
-                 "file": {"type": "string"}
 
-               },
 
-               "required": ["service"],
 
-               "additionalProperties": false
 
-             }
 
-           ]
 
-         },
 
-         "external_links": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
 
-         "extra_hosts": {"$ref": "#/definitions/list_or_dict"},
 
-         "hostname": {"type": "string"},
 
-         "image": {"type": "string"},
 
-         "ipc": {"type": "string"},
 
-         "labels": {"$ref": "#/definitions/labels"},
 
-         "links": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
 
-         "logging": {
 
-             "type": "object",
 
-             "properties": {
 
-                 "driver": {"type": "string"},
 
-                 "options": {"type": "object"}
 
-             },
 
-             "additionalProperties": false
 
-         },
 
-         "mac_address": {"type": "string"},
 
-         "mem_limit": {"type": ["number", "string"]},
 
-         "mem_reservation": {"type": ["string", "integer"]},
 
-         "mem_swappiness": {"type": "integer"},
 
-         "memswap_limit": {"type": ["number", "string"]},
 
-         "network_mode": {"type": "string"},
 
-         "networks": {
 
-           "oneOf": [
 
-             {"$ref": "#/definitions/list_of_strings"},
 
-             {
 
-               "type": "object",
 
-               "patternProperties": {
 
-                 "^[a-zA-Z0-9._-]+$": {
 
-                   "oneOf": [
 
-                     {
 
-                       "type": "object",
 
-                       "properties": {
 
-                         "aliases": {"$ref": "#/definitions/list_of_strings"},
 
-                         "ipv4_address": {"type": "string"},
 
-                         "ipv6_address": {"type": "string"},
 
-                         "priority": {"type": "number"}
 
-                       },
 
-                       "additionalProperties": false
 
-                     },
 
-                     {"type": "null"}
 
-                   ]
 
-                 }
 
-               },
 
-               "additionalProperties": false
 
-             }
 
-           ]
 
-         },
 
-         "oom_score_adj": {"type": "integer", "minimum": -1000, "maximum": 1000},
 
-         "group_add": {
 
-             "type": "array",
 
-             "items": {
 
-                 "type": ["string", "number"]
 
-             },
 
-             "uniqueItems": true
 
-         },
 
-         "pid": {"type": ["string", "null"]},
 
-         "ports": {
 
-           "type": "array",
 
-           "items": {
 
-             "type": ["string", "number"],
 
-             "format": "ports"
 
-           },
 
-           "uniqueItems": true
 
-         },
 
-         "privileged": {"type": "boolean"},
 
-         "read_only": {"type": "boolean"},
 
-         "restart": {"type": "string"},
 
-         "security_opt": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
 
-         "shm_size": {"type": ["number", "string"]},
 
-         "stdin_open": {"type": "boolean"},
 
-         "stop_grace_period": {"type": "string", "format": "duration"},
 
-         "stop_signal": {"type": "string"},
 
-         "tmpfs": {"$ref": "#/definitions/string_or_list"},
 
-         "tty": {"type": "boolean"},
 
-         "ulimits": {
 
-           "type": "object",
 
-           "patternProperties": {
 
-             "^[a-z]+$": {
 
-               "oneOf": [
 
-                 {"type": "integer"},
 
-                 {
 
-                   "type":"object",
 
-                   "properties": {
 
-                     "hard": {"type": "integer"},
 
-                     "soft": {"type": "integer"}
 
-                   },
 
-                   "required": ["soft", "hard"],
 
-                   "additionalProperties": false
 
-                 }
 
-               ]
 
-             }
 
-           }
 
-         },
 
-         "user": {"type": "string"},
 
-         "volumes": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
 
-         "volume_driver": {"type": "string"},
 
-         "volumes_from": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
 
-         "working_dir": {"type": "string"}
 
-       },
 
-       "dependencies": {
 
-         "memswap_limit": ["mem_limit"]
 
-       },
 
-       "additionalProperties": false
 
-     },
 
-     "network": {
 
-       "id": "#/definitions/network",
 
-       "type": "object",
 
-       "properties": {
 
-         "driver": {"type": "string"},
 
-         "driver_opts": {
 
-           "type": "object",
 
-           "patternProperties": {
 
-             "^.+$": {"type": ["string", "number"]}
 
-           }
 
-         },
 
-         "ipam": {
 
-             "type": "object",
 
-             "properties": {
 
-                 "driver": {"type": "string"},
 
-                 "config": {
 
-                     "type": "array",
 
-                     "items": {"$ref": "#/definitions/ipam_config"}
 
-                 },
 
-                 "options": {
 
-                   "type": "object",
 
-                   "patternProperties": {
 
-                     "^.+$": {"type": "string"}
 
-                   },
 
-                   "additionalProperties": false
 
-                 }
 
-             },
 
-             "additionalProperties": false
 
-         },
 
-         "external": {
 
-           "type": ["boolean", "object"],
 
-           "properties": {
 
-             "name": {"type": "string"}
 
-           },
 
-           "additionalProperties": false
 
-         },
 
-         "internal": {"type": "boolean"}
 
-       },
 
-       "additionalProperties": false
 
-     },
 
-     "ipam_config": {
 
-       "id": "#/definitions/ipam_config",
 
-       "type": "object",
 
-       "properties": {
 
-         "subnet": {"type": "string"},
 
-         "ip_range": {"type": "string"},
 
-         "gateway": {"type": "string"},
 
-         "aux_addresses": {
 
-           "type": "object",
 
-           "patternProperties": {
 
-             "^.+$": {"type": "string"}
 
-           },
 
-           "additionalProperties": false
 
-         }
 
-       },
 
-       "additionalProperties": false
 
-     },
 
-     "volume": {
 
-       "id": "#/definitions/volume",
 
-       "type": ["object", "null"],
 
-       "properties": {
 
-         "driver": {"type": "string"},
 
-         "driver_opts": {
 
-           "type": "object",
 
-           "patternProperties": {
 
-             "^.+$": {"type": ["string", "number"]}
 
-           }
 
-         },
 
-         "external": {
 
-           "type": ["boolean", "object"],
 
-           "properties": {
 
-             "name": {"type": "string"}
 
-           },
 
-           "additionalProperties": false
 
-         }
 
-       },
 
-       "additionalProperties": false
 
-     },
 
-     "string_or_list": {
 
-       "oneOf": [
 
-         {"type": "string"},
 
-         {"$ref": "#/definitions/list_of_strings"}
 
-       ]
 
-     },
 
-     "list_of_strings": {
 
-       "type": "array",
 
-       "items": {"type": "string"},
 
-       "uniqueItems": true
 
-     },
 
-     "list_or_dict": {
 
-       "oneOf": [
 
-         {
 
-           "type": "object",
 
-           "patternProperties": {
 
-             ".+": {
 
-               "type": ["string", "number", "null"]
 
-             }
 
-           },
 
-           "additionalProperties": false
 
-         },
 
-         {"type": "array", "items": {"type": "string"}, "uniqueItems": true}
 
-       ]
 
-     },
 
-     "labels": {
 
-       "oneOf": [
 
-         {
 
-           "type": "object",
 
-           "patternProperties": {
 
-             ".+": {
 
-               "type": "string"
 
-             }
 
-           },
 
-           "additionalProperties": false
 
-         },
 
-         {"type": "array", "items": {"type": "string"}, "uniqueItems": true}
 
-       ]
 
-     },
 
-     "blkio_limit": {
 
-       "type": "object",
 
-       "properties": {
 
-         "path": {"type": "string"},
 
-         "rate": {"type": ["integer", "string"]}
 
-       },
 
-       "additionalProperties": false
 
-     },
 
-     "blkio_weight": {
 
-       "type": "object",
 
-       "properties": {
 
-         "path": {"type": "string"},
 
-         "weight": {"type": "integer"}
 
-       },
 
-       "additionalProperties": false
 
-     },
 
-     "constraints": {
 
-       "service": {
 
-         "id": "#/definitions/constraints/service",
 
-         "anyOf": [
 
-           {"required": ["build"]},
 
-           {"required": ["image"]}
 
-         ],
 
-         "properties": {
 
-           "build": {
 
-             "required": ["context"]
 
-           }
 
-         }
 
-       }
 
-     }
 
-   }
 
- }
 
 
  |