diff --git a/blueprints/quant-ux/docker-compose.yml b/blueprints/quant-ux/docker-compose.yml new file mode 100644 index 00000000..e96a9d6a --- /dev/null +++ b/blueprints/quant-ux/docker-compose.yml @@ -0,0 +1,69 @@ +version: '3' + +services: + mongo: + restart: always + image: mongo + volumes: + - mongo_data:/data/db + qux-fe: + restart: always + image: klausenschaefersinho/quant-ux + environment: + - QUX_PROXY_URL=http://quant-ux-backend:8080 + - QUX_AUTH=${QUX_AUTH} + - QUX_KEYCLOAK_REALM=${QUX_KEYCLOAK_REALM} + - QUX_KEYCLOAK_CLIENT=${QUX_KEYCLOAK_CLIENT} + - QUX_KEYCLOAK_URL=${QUX_KEYCLOAK_URL} + - QUX_WS_URL=${QUX_WS_URL} + links: + - mongo + - qux-be + ports: + - 8082 + depends_on: + - qux-be + + qux-be: + restart: always + image: klausenschaefersinho/quant-ux-backend + volumes: + - quant_ux_data:/app-data + environment: + - QUX_HTTP_HOST=${QUX_HTTP_HOST} + - QUX_HTTP_PORT=8080 + - QUX_MONGO_DB_NAME=${QUX_MONGO_DB_NAME} + - QUX_MONGO_TABLE_PREFIX=${QUX_MONGO_TABLE_PREFIX} + - QUX_MONGO_CONNECTION_STRING=mongodb://quant-ux-mongo:27017 + - QUX_MAIL_USER=${QUX_MAIL_USER} + - QUX_MAIL_PASSWORD=${QUX_MAIL_PASSWORD} + - QUX_MAIL_HOST=${QUX_MAIL_HOST} + - QUX_JWT_PASSWORD=${QUX_JWT_PASSWORD} + - QUX_IMAGE_FOLDER_USER=/app-data/qux-images + - QUX_IMAGE_FOLDER_APPS=/app-data/qux-image-apps + - TZ=${TZ} + - QUX_AUTH_SERVICE=${QUX_AUTH_SERVICE} + - QUX_KEYCLOAK_SERVER=${QUX_KEYCLOAK_SERVER} + - QUX_KEYCLOAK_REALM=${QUX_KEYCLOAK_REALM} + - QUX_USER_ALLOW_SIGNUP=${QUX_USER_ALLOW_SIGNUP} + - QUX_USER_ALLOWED_DOMAINS=${QUX_USER_ALLOWED_DOMAINS} + depends_on: + - mongo + + qux-ws: + restart: always + image: klausenschaefersinho/quant-ux-websocket + environment: + - QUX_SERVER=http://quant-ux-backend:8080/ + - QUX_SERVER_PORT=8086 + ports: + - 8086 + links: + - qux-be + depends_on: + - qux-be + +volumes: + mongo_data: + quant_ux_data: + diff --git a/blueprints/quant-ux/logo.svg b/blueprints/quant-ux/logo.svg new file mode 100644 index 00000000..1c71b3c8 --- /dev/null +++ b/blueprints/quant-ux/logo.svg @@ -0,0 +1,2 @@ + + diff --git a/blueprints/quant-ux/template.toml b/blueprints/quant-ux/template.toml new file mode 100644 index 00000000..912bc5c7 --- /dev/null +++ b/blueprints/quant-ux/template.toml @@ -0,0 +1,50 @@ +[variables] +main_domain = "${domain}" +ws_domain = "${domain}" +qux_auth = "qux" +qux_jwt_password = "${password:64}" +qux_mongo_db_name = "quantux" +qux_mongo_table_prefix = "quantux" +qux_mail_user = "${email}" +qux_mail_password = "${password:32}" +qux_mail_host = "mail.example.com" +qux_timezone = "America/Chicago" +qux_auth_service = "qux" +qux_user_allow_signup = "true" +qux_user_allowed_domains = "*" +qux_keycloak_realm = "" +qux_keycloak_client = "" +qux_keycloak_url = "" +qux_keycloak_server = "" + +[config] +env = [ + "QUX_HTTP_HOST=https://${main_domain}", + "QUX_AUTH=${qux_auth}", + "QUX_JWT_PASSWORD=${qux_jwt_password}", + "QUX_MONGO_DB_NAME=${qux_mongo_db_name}", + "QUX_MONGO_TABLE_PREFIX=${qux_mongo_table_prefix}", + "QUX_MAIL_USER=${qux_mail_user}", + "QUX_MAIL_PASSWORD=${qux_mail_password}", + "QUX_MAIL_HOST=${qux_mail_host}", + "TZ=${qux_timezone}", + "QUX_AUTH_SERVICE=${qux_auth_service}", + "QUX_KEYCLOAK_SERVER=${qux_keycloak_server}", + "QUX_KEYCLOAK_REALM=${qux_keycloak_realm}", + "QUX_KEYCLOAK_CLIENT=${qux_keycloak_client}", + "QUX_KEYCLOAK_URL=${qux_keycloak_url}", + "QUX_USER_ALLOW_SIGNUP=${qux_user_allow_signup}", + "QUX_USER_ALLOWED_DOMAINS=${qux_user_allowed_domains}", + "QUX_WS_URL=wss://${ws_domain}" +] + +[[config.domains]] +serviceName = "qux-fe" +port = 8082 +host = "${main_domain}" + +[[config.domains]] +serviceName = "qux-ws" +port = 8086 +host = "${ws_domain}" + diff --git a/meta.json b/meta.json index 840d6609..4f2d3960 100644 --- a/meta.json +++ b/meta.json @@ -4882,6 +4882,25 @@ "search" ] }, + { + "id": "quant-ux", + "name": "Quant-UX", + "version": "latest", + "description": "Quant-UX is an open-source UX design and prototyping tool that allows you to create interactive prototypes, conduct user research, and analyze user behavior.", + "logo": "logo.svg", + "links": { + "github": "https://github.com/KlausSchaefers/quant-ux", + "website": "https://www.quant-ux.com/", + "docs": "https://www.quant-ux.com/" + }, + "tags": [ + "design", + "ux", + "prototyping", + "user-research", + "analytics" + ] + }, { "id": "rabbitmq", "name": "RabbitMQ",