one-click-apps/public/v2/apps/directus.json

119 lines
4.5 KiB
JSON

{
"captainVersion": "2",
"documentation": "Taken from https://github.com/directus/docker.",
"displayName": "",
"description": "Directus is an open-source tool for managing content across all your omni-channel digital experiences",
"dockerCompose": {
"version": "7",
"services": {
"$$cap_appname-db": {
"image": "mysql:5.7",
"notExposeAsWebApp": "true",
"volumes": [
"$$cap_appname-db-data:/var/lib/mysql/"
],
"environment": {
"MYSQL_DATABASE": "$$cap_mysql_database_name",
"MYSQL_ROOT_PASSWORD": "$$cap_mysql_root_passwd",
"MYSQL_USER": "$$cap_mysql_user",
"MYSQL_PASSWORD": "$$cap_mysql_passwd"
},
"healthcheck": {
"test": "mysql -u$$cap_mysql_user -p$$cap_mysql_passwd -e \"SHOW DATABASES;\"",
"interval": "10s",
"timeout": "6s",
"retries": "10"
},
"restart": "always"
},
"$$cap_appname-api": {
"depends_on": {
"$$cap_appname-db": {
"condition" : "service_healthy"
}
},
"image": "directus/api:2.0.18",
"containerHttpPort":"80",
"restart": "always",
"environment": {
"DATABASE_HOST": "srv-captain--$$cap_appname-db",
"DATABASE_NAME": "$$cap_mysql_database_name",
"DATABASE_USERNAME": "$$cap_mysql_user",
"DATABASE_PASSWORD":"$$cap_mysql_passwd",
"ADMIN_EMAIL":"$$cap_directus_admin_username",
"ADMIN_PASSWORD":"$$cap_directus_admin_passwd"
}
},
"$$cap_appname-app": {
"depends_on": {
"$$cap_appname-db": {
"condition" : "service_healthy"
},
"$$cap_appname-api" : {}
},
"image": "directus/app:7.0.18",
"containerHttpPort":"80",
"restart": "always",
"environment": {
"API_ENDPOINT": "API; $$cap_api_endpoint/_/"
}
}
}
},
"instructions":{
"end":"Directus is deployed and available as $$cap_appname-app. \n\n It may take a few minutes for Directus to initialize.\n",
"start":"Directus is a free and open souce content management system and API wrapper for SQL databases. The API instance provides a realtime REST API for interacting with your database, while the App instance provides a web based CMS for managaging the database. \n For more information and available options, see https://github.com/directus/docker."
},
"variables":[
{
"description":"Name of the Directus backing database instance.",
"defaultValue" : "directus",
"id":"$$cap_mysql_database_name",
"label":"mySQL Database Name",
"validRegex": "/.{1,}/"
},
{
"description":"Master password for the Directus backing database instance.",
"defaultValue" : "ultr@s3curep@ssword",
"id":"$$cap_mysql_root_passwd",
"label":"mySQL Root Password",
"validRegex":"/^(?=.*\\d).{10,}$/"
},
{
"description":"User for the Directus backing database instance.",
"defaultValue" : "directus",
"id":"$$cap_mysql_user",
"label":"mySQL User",
"validRegex": "/.{1,}/"
},
{
"description":"User password for the Directus backing database instance.",
"defaultValue" : "s3curep@ssword",
"id":"$$cap_mysql_passwd",
"label":"mySQL User Password",
"validRegex":"/^(?=.*\\d).{10,}$/"
},
{
"description":"Admin login email for the Directus app.",
"defaultValue" : "admin@example.com",
"id":"$$cap_directus_admin_username",
"label":"Directus App Admin Email",
"validRegex": "/.{1,}/"
},
{
"description":"Admin login password for the Directus app.",
"defaultValue" : "s3curep@ssword",
"id":"$$cap_directus_admin_passwd",
"label":"Directus App Admin Password",
"validRegex":"/^(?=.*\\d).{10,}$/"
},
{
"description":"A URL in the format of http://appname-api.rootdomain.com. \n The admin web app will connect to the endpoint using this URL.",
"id":"$$cap_api_endpoint",
"label":"Directus API Endpoint URL",
"validRegex": "/.{1,}/"
}
]
}