{ "type": "object", "description": "AIO containers definition schema", "minProperties": 1, "required": ["aio_services_v1"], "properties": { "aio_services_v1": { "type": "array", "items": { "type": "object", "additionalProperties": false, "minProperties": 2, "required": ["image", "container_name"], "properties": { "image": { "type": "string" }, "expose": { "type": "array", "items": { "type": "string" } }, "depends_on": { "type": "array", "items": { "type": "string" } }, "display_name": { "type": "string" }, "environment": { "type": "array", "items": { "type": "string" } }, "container_name": { "type": "string" }, "internal_port": { "type": "string" }, "stop_grace_period": { "type": "integer" }, "ports": { "type": "array", "items": { "type": "object", "additionalProperties": false, "minProperties": 3, "properties": { "ip_binding": { "type": "string" }, "port_number": { "type": "string" }, "protocol": { "type": "string" } } } }, "restart": { "type": "string" }, "secrets": { "type": "array", "items": { "type": "string" } }, "devices": { "type": "array", "items": { "type": "string" } }, "volumes": { "type": "array", "items": { "type": "object", "additionalProperties": false, "minProperties": 3, "properties": { "destination": { "type": "string" }, "source": { "type": "string" }, "writeable": { "type": "boolean" } } } } } } } } }