2022-05-09 01:47:54 +02:00
|
|
|
{
|
|
|
|
|
"type": "object",
|
|
|
|
|
"description": "AIO containers definition schema",
|
|
|
|
|
"minProperties": 1,
|
2022-12-30 23:49:54 +01:00
|
|
|
"required": ["aio_services_v1"],
|
2022-05-09 01:47:54 +02:00
|
|
|
"properties": {
|
2022-12-30 23:49:54 +01:00
|
|
|
"aio_services_v1": {
|
2022-05-09 01:47:54 +02:00
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"additionalProperties": false,
|
2022-12-26 02:24:38 +01:00
|
|
|
"minProperties": 2,
|
2023-09-07 14:26:42 +02:00
|
|
|
"required": ["image", "container_name", "image_tag"],
|
2022-05-09 01:47:54 +02:00
|
|
|
"properties": {
|
2022-12-25 00:43:26 +01:00
|
|
|
"image": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"minLength": 1
|
2022-05-09 01:47:54 +02:00
|
|
|
},
|
2023-02-02 15:11:40 +01:00
|
|
|
"expose": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^([0-9]{1,5})$"
|
2023-02-02 15:11:40 +01:00
|
|
|
}
|
|
|
|
|
},
|
2023-03-06 11:36:36 +01:00
|
|
|
"cap_add": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^[A-Z_]+$"
|
2023-03-06 11:36:36 +01:00
|
|
|
}
|
|
|
|
|
},
|
2022-12-25 00:39:22 +01:00
|
|
|
"depends_on": {
|
2022-05-09 01:47:54 +02:00
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^nextcloud-aio-[a-z-]+$"
|
2022-05-09 01:47:54 +02:00
|
|
|
}
|
|
|
|
|
},
|
2022-12-25 00:55:54 +01:00
|
|
|
"display_name": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
2023-05-31 12:00:44 +02:00
|
|
|
"pattern": "^[A-Za-z 0-9]+$"
|
2022-05-09 01:47:54 +02:00
|
|
|
},
|
2022-12-25 00:48:24 +01:00
|
|
|
"environment": {
|
2022-05-09 01:47:54 +02:00
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^.*=.*$",
|
|
|
|
|
"minlength": 1
|
2022-05-09 01:47:54 +02:00
|
|
|
}
|
|
|
|
|
},
|
2022-12-25 00:36:19 +01:00
|
|
|
"container_name": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
2023-09-27 16:40:18 +02:00
|
|
|
"pattern": "^nextcloud-aio-[a-z0-9-]+$"
|
2022-05-09 01:47:54 +02:00
|
|
|
},
|
2022-12-25 01:40:37 +01:00
|
|
|
"internal_port": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
2023-05-01 19:06:13 +02:00
|
|
|
"pattern": "^(([0-9]{1,5})|host|(%[A-Z_]+%))$"
|
2022-05-09 01:47:54 +02:00
|
|
|
},
|
2022-12-25 00:50:17 +01:00
|
|
|
"stop_grace_period": {
|
2022-05-09 01:47:54 +02:00
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
"ports": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
2022-12-25 17:08:41 +01:00
|
|
|
"type": "object",
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"minProperties": 3,
|
|
|
|
|
"properties": {
|
|
|
|
|
"ip_binding": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^(%[A-Z_]+%)?$"
|
2022-12-25 17:08:41 +01:00
|
|
|
},
|
|
|
|
|
"port_number": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^(%[A-Z_]+%)$"
|
2022-12-25 17:08:41 +01:00
|
|
|
},
|
|
|
|
|
"protocol": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
2023-05-01 19:06:13 +02:00
|
|
|
"pattern": "^(tcp|udp)$"
|
2022-12-25 17:08:41 +01:00
|
|
|
}
|
|
|
|
|
}
|
2022-05-09 01:47:54 +02:00
|
|
|
}
|
|
|
|
|
},
|
2022-12-25 00:52:01 +01:00
|
|
|
"restart": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^unless-stopped$"
|
2022-05-09 01:47:54 +02:00
|
|
|
},
|
2023-03-29 10:57:44 +02:00
|
|
|
"shm_size": {
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
2022-05-09 01:47:54 +02:00
|
|
|
"secrets": {
|
2022-12-25 02:45:32 +01:00
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^[A-Z_]+$"
|
2022-12-25 02:45:32 +01:00
|
|
|
}
|
2022-05-09 01:47:54 +02:00
|
|
|
},
|
2023-08-17 16:28:42 +02:00
|
|
|
"image_tag": {
|
|
|
|
|
"type": "string",
|
2023-09-07 14:26:42 +02:00
|
|
|
"pattern": "^([a-z0-9.-]+|%AIO_CHANNEL%)$"
|
2023-08-17 16:28:42 +02:00
|
|
|
},
|
2023-01-03 02:01:03 +01:00
|
|
|
"devices": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^/dev/[a-z]+$"
|
2023-01-03 02:01:03 +01:00
|
|
|
}
|
|
|
|
|
},
|
2023-04-27 19:24:14 +02:00
|
|
|
"apparmor_unconfined": {
|
|
|
|
|
"type": "boolean"
|
|
|
|
|
},
|
2023-05-17 20:48:08 +02:00
|
|
|
"backup_volumes": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^nextcloud_aio_[a-z_]+$"
|
|
|
|
|
}
|
|
|
|
|
},
|
2023-05-01 18:37:33 +02:00
|
|
|
"nextcloud_exec_commands": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string",
|
2023-05-31 00:21:17 +02:00
|
|
|
"pattern": "^(php /var/www/html/occ .*|echo .*)$"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"profiles": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^[a-z-]+$"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"networks": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^nextcloud-aio$"
|
2023-05-01 18:37:33 +02:00
|
|
|
}
|
|
|
|
|
},
|
2023-05-31 16:46:19 +02:00
|
|
|
"read_only": {
|
|
|
|
|
"type": "boolean"
|
|
|
|
|
},
|
2023-08-10 16:41:47 +02:00
|
|
|
"init": {
|
|
|
|
|
"type": "boolean"
|
|
|
|
|
},
|
2023-06-19 13:04:39 +02:00
|
|
|
"tmpfs": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string",
|
2023-07-28 17:08:44 +02:00
|
|
|
"pattern": "^/[a-z/_0-9-:]+$"
|
2023-06-19 13:04:39 +02:00
|
|
|
}
|
|
|
|
|
},
|
2022-05-09 01:47:54 +02:00
|
|
|
"volumes": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"minProperties": 3,
|
|
|
|
|
"properties": {
|
2022-12-30 22:56:37 +01:00
|
|
|
"destination": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
2023-05-01 19:06:13 +02:00
|
|
|
"pattern": "^((/[a-z_/.-]+)|(%[A-Z_]+%))$"
|
2022-05-09 01:47:54 +02:00
|
|
|
},
|
2022-12-30 22:56:37 +01:00
|
|
|
"source": {
|
2023-04-27 18:00:08 +02:00
|
|
|
"type": "string",
|
2023-05-17 20:48:08 +02:00
|
|
|
"pattern": "^((nextcloud_aio_[a-z_]+)|(%[A-Z_]+%))$"
|
|
|
|
|
},
|
2022-05-09 01:47:54 +02:00
|
|
|
"writeable": {
|
|
|
|
|
"type": "boolean"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|