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

85 lines
3.3 KiB
JSON

{
"captainVersion": "2",
"documentation": "Hasura GraphQL Engine",
"displayName": "",
"description": "Instant realtime GraphQL APIs on any Postgres application, existing or new",
"dockerCompose": {
"version": "3.6",
"services": {
"$$cap_appname-db": {
"image": "postgres:$$cap_postgres_version",
"notExposeAsWebApp": "true",
"volumes": ["$$cap_appname-db-data:/var/lib/postgresql/data"],
"restart": "always",
"environment": {
"POSTGRES_USER": "$$cap_pg_user",
"POSTGRES_PASSWORD": "$$cap_pg_pass",
"POSTGRES_DB": "$$cap_pg_db",
"POSTGRES_INITDB_ARGS": "$$cap_pg_initdb_args"
}
},
"$$cap_appname": {
"image": "hasura/graphql-engine:$$cap_hasura_version",
"containerHttpPort": "8080",
"depends_on": ["$$cap_appname-db"],
"restart": "always",
"environment": {
"HASURA_GRAPHQL_DATABASE_URL": "postgres://$$cap_pg_user:$$cap_pg_pass@srv-captain--$$cap_appname-db:5432/$$cap_pg_db",
"HASURA_GRAPHQL_ENABLE_CONSOLE": "true",
"HASURA_GRAPHQL_ADMIN_SECRET": "$$cap_admin_secret",
"HASURA_GRAPHQL_ENABLED_LOG_TYPES": "startup, http-log, webhook-log, websocket-log, query-log"
}
}
}
},
"instructions": {
"end": "Hasura is deployed and available as $$cap_appname. \n\n IMPORTANT: It will take up to 2 minutes for Hasura to be ready. Before that, you might see 502 error page.\n",
"start": "Instant Realtime GraphQL on Postgres with web admin cosole. This Docker Compose setup runs Hasura GraphQL Engine along with a Postgres database with the PostGIS extension."
},
"variables": [
{
"defaultValue": "v1.2.2",
"description": "Check out their GitHub page for their latest version https://github.com/hasura/graphql-engine",
"id": "$$cap_hasura_version",
"label": "Hasura Version",
"validRegex": "/^([^\\s^\\/])+$/"
},
{
"defaultValue": "12",
"id": "$$cap_postgres_version",
"label": "Postgres Version",
"validRegex": "/^([^\\s^\\/])+$/"
},
{
"description": "The admin secret gives you access to the console.",
"id": "$$cap_admin_secret",
"label": "Hasura admin secret(password)",
"validRegex": "/^(?=.*\\d).{10,}$/"
},
{
"id": "$$cap_pg_user",
"label": "Postgres Username",
"description": "",
"validRegex": "/.{1,}/"
},
{
"id": "$$cap_pg_pass",
"label": "Postgres Password",
"description": "",
"validRegex": "/.{1,}/"
},
{
"id": "$$cap_pg_db",
"label": "Postgres Default Database",
"description": "",
"validRegex": "/.{1,}/"
},
{
"id": "$$cap_pg_initdb_args",
"label": "OPTIONAL: Arguments for 'postgres initdb'",
"description": "For example, --data-checksums",
"validRegex": "/.{0,}/"
}
]
}