Repository files navigation

Confizard

This project is about filling the gap in modern software configurators.

Parent project: OwnLab
OwnLabLogo

Configuration & Installation

Quick Start

TL;DR Simply visit confizard.hjhp.io, follow the steps and use the generated script to deploy the application (see also recursion).

The guide below will be deprecated after the final version of Confizard is released (at least that is currently the main goal πŸ˜‰).
NOTE: Requires docker engine to be installed on the system (see Docker Engine Official Installation Guide).
It is possible to quickly test and experiment with Confizard due to its self-configuring capabilities.

  1. Visit Confizard App Example hosted on confizard.hjhp.io.
  2. Configure Form For Your Application: Following configurable steps this project is able to configure itself.
  3. Set Up Your Own Confizard Instance: Using generated script on last step this project is able to deploy itself locally as a docker container.

Advanced usage

After grasping the basics, the following are the functionalities currently supported by this project.

  1. Simple catalog structure: All required configuration files are in folder steps-data (located in this repo in (repo-root)/frontend/public/steps-data). This folder contains the steps list file and translations used in the project. Example usage:
docker run -it --name confizard-app -p 80:80 -v ./steps-data:/etc/nginx/html/zero/steps-data hjhp/confizard:latest
  1. Internationalization: To support translations, the following configurations are necessary:
    • Steps in file steps-data/steps.default.yaml need to use KEYS instead of VALUES.
    • In file steps-data/supportedLocales.json should be provided a list of supported locales.
    • In files steps-data/(locale).json key-value pairs should be provided supporting vue-i18n syntax (see also Vue-I18n syntax guide).
  2. Syntax used in steps.default.yaml: Example below introduces syntax with description in comments:
- id: 0# used to define the order of initial steps# below it's possible to use i18n syntax to internationalize parts of form content visible by end user like: step title and step description. For fields array its: label and description. title: "step.translate.example.title"description: "It's step description field."fields: # [] # its possible to leave this array empty in case of using step as additional info
- name: "ENV_NAME_USED_IN_SCRIPT"label: "Human-readable label of env"type: "text"# supported input types are: text, number, checkbox, password, multiline# all fields below are optional for field configurationdescription: "Human-readable description of current field"default: "Default value if not provided"multiplier: 0# it allows to duplicate current field in step (TODO: provide info about final env syntax)sensitive: false # flags this field to mask its value in the final script review as well as table of configured envsobligatory: false # flags this field as required before going to next stepconfigurable: false # it enables current field to add additional fields like field name or field type to be filled by end user# all fields below are optional for step configurationscript: | echo 'Hello! You can use the environment variables configured in the fields here.'icon: "BookOpenIcon"# currently supporting: BookOpenIcon, CircleStackIcon, CheckIcon with CheckIcon being defaultmultiplier: 0# it allows to duplicate current step in form (TODO: provide info about final env syntax)configurable: false # it enables current step to add additional fields like step title or step description to be filled by end user# last step used for summary can also have script
- id: 1title: "step.finish.title"description: "step.finish.description"script: "echo 'Final step completed in Confizard'"
  1. Hosting configuration files externally - It is possible to host configuration files (located in folder steps-data) on external server (for example nginx). There are two supported options:

Description

Every open-source project, to be quickly reusable by others, needs its own configuration wizard that shows end users how to configure the project and step-by-step explanation of the installation process. Confizard project aims for that specific field to provide a solution suitable for all projects: a configurable (and auto-configurable) wizard. Its solutions focus on using environments and scripts to provide an easy-to-maintain and understandable process. An Free and Open Source Software project author can provide end users with a simple form where based on user input translated then to system environments the final app can be automatically configured, installed and deployed based on user choices. It should never send data outside (the entire process should be encapsulated within the user's browser to ensure that no sensitive environment variables are leaked). Bug tracking features should only send data externally in testing environments.

Gallery

Intro

Roadmap

ROADMAP.md file includes upcoming features and future plans.

Changelog

CHANGELOG.md file includes project changes in each release.

Support

Everyone is welcome to submit an issue ticket on either GitHub or GitLab (depending on which platform this mirror of the project is hosted). Submitted issues will be automatically reviewed, and the main developer will be notified. If you prefer private support (e.g., if you do not wish to share logs publicly), you can contact the project main developer via email at support@hjhp.io.

Security

If you identify any security problems, please contact us immediately with the necessary details via email at security@hjhp.io.
Please note that the email could end up in the spam folder. If you do not receive a timely response, please try emailing again.
If the detected vulnerability is critical and the response to emails is not fast enough, please create an issue ticket to inform others and mitigate potential risks. For more information please refer to SECURITY.md file.

Contributing

Everyone is welcome to contribute via GitHub pull requests or GitLab merge requests. After reviewing and merging into the respective branches (github-main / gitlab-main), the final version of the software will be merged into the main branch on the private Git instance, and then all existing mirrors will be updated.
Instructions on how to contribute can be found in CONTRIBUTING.md file.

Attribution

This project is maintained by its contributors. The main tools and technologies used are listed in the ATTRIBUTION-manual.md file. Automatically detected dependencies and their acknowledgments are listed in the ATTRIBUTION.md. file.

License

TL;DR: This project is licensed under the MIT License.
Everyone is welcome to fork and use it for private and commercial purposes.
Full license can be found in LICENSE file.

Project status

The project is in its initial state.
The scope and targets may change after discussions in issues.

About

βš™οΈπŸ§™πŸ¦– - Confizard - A self-configurable wizard for effortless app configuration, setup and deployment. Configuration wizard is designed to provide easy for end user configuration of Your application. Mirrors list: https://github.com/HJHPio/Confizard; https://gitlab.com/HJHPio/Confizard

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Confizard

This project is about filling the gap in modern software configurators.

Parent project: OwnLab
OwnLabLogo

Configuration & Installation

Quick Start

TL;DR Simply visit confizard.hjhp.io, follow the steps and use the generated script to deploy the application (see also recursion).

The guide below will be deprecated after the final version of Confizard is released (at least that is currently the main goal πŸ˜‰).
NOTE: Requires docker engine to be installed on the system (see Docker Engine Official Installation Guide).
It is possible to quickly test and experiment with Confizard due to its self-configuring capabilities.

  1. Visit Confizard App Example hosted on confizard.hjhp.io.
  2. Configure Form For Your Application: Following configurable steps this project is able to configure itself.
  3. Set Up Your Own Confizard Instance: Using generated script on last step this project is able to deploy itself locally as a docker container.

Advanced usage

After grasping the basics, the following are the functionalities currently supported by this project.

  1. Simple catalog structure: All required configuration files are in folder steps-data (located in this repo in (repo-root)/frontend/public/steps-data). This folder contains the steps list file and translations used in the project. Example usage:
docker run -it --name confizard-app -p 80:80 -v ./steps-data:/etc/nginx/html/zero/steps-data hjhp/confizard:latest
  1. Internationalization: To support translations, the following configurations are necessary:
    • Steps in file steps-data/steps.default.yaml need to use KEYS instead of VALUES.
    • In file steps-data/supportedLocales.json should be provided a list of supported locales.
    • In files steps-data/(locale).json key-value pairs should be provided supporting vue-i18n syntax (see also Vue-I18n syntax guide).
  2. Syntax used in steps.default.yaml: Example below introduces syntax with description in comments:
- id: 0# used to define the order of initial steps# below it's possible to use i18n syntax to internationalize parts of form content visible by end user like: step title and step description. For fields array its: label and description. title: "step.translate.example.title"description: "It's step description field."fields: # [] # its possible to leave this array empty in case of using step as additional info
- name: "ENV_NAME_USED_IN_SCRIPT"label: "Human-readable label of env"type: "text"# supported input types are: text, number, checkbox, password, multiline# all fields below are optional for field configurationdescription: "Human-readable description of current field"default: "Default value if not provided"multiplier: 0# it allows to duplicate current field in step (TODO: provide info about final env syntax)sensitive: false # flags this field to mask its value in the final script review as well as table of configured envsobligatory: false # flags this field as required before going to next stepconfigurable: false # it enables current field to add additional fields like field name or field type to be filled by end user# all fields below are optional for step configurationscript: | echo 'Hello! You can use the environment variables configured in the fields here.'icon: "BookOpenIcon"# currently supporting: BookOpenIcon, CircleStackIcon, CheckIcon with CheckIcon being defaultmultiplier: 0# it allows to duplicate current step in form (TODO: provide info about final env syntax)configurable: false # it enables current step to add additional fields like step title or step description to be filled by end user# last step used for summary can also have script
- id: 1title: "step.finish.title"description: "step.finish.description"script: "echo 'Final step completed in Confizard'"
  1. Hosting configuration files externally - It is possible to host configuration files (located in folder steps-data) on external server (for example nginx). There are two supported options:

Description

Every open-source project, to be quickly reusable by others, needs its own configuration wizard that shows end users how to configure the project and step-by-step explanation of the installation process. Confizard project aims for that specific field to provide a solution suitable for all projects: a configurable (and auto-configurable) wizard. Its solutions focus on using environments and scripts to provide an easy-to-maintain and understandable process. An Free and Open Source Software project author can provide end users with a simple form where based on user input translated then to system environments the final app can be automatically configured, installed and deployed based on user choices. It should never send data outside (the entire process should be encapsulated within the user's browser to ensure that no sensitive environment variables are leaked). Bug tracking features should only send data externally in testing environments.

Gallery

Intro

Roadmap

ROADMAP.md file includes upcoming features and future plans.

Changelog

CHANGELOG.md file includes project changes in each release.

Support

Everyone is welcome to submit an issue ticket on either GitHub or GitLab (depending on which platform this mirror of the project is hosted). Submitted issues will be automatically reviewed, and the main developer will be notified. If you prefer private support (e.g., if you do not wish to share logs publicly), you can contact the project main developer via email at support@hjhp.io.

Security

If you identify any security problems, please contact us immediately with the necessary details via email at security@hjhp.io.
Please note that the email could end up in the spam folder. If you do not receive a timely response, please try emailing again.
If the detected vulnerability is critical and the response to emails is not fast enough, please create an issue ticket to inform others and mitigate potential risks. For more information please refer to SECURITY.md file.

Contributing

Everyone is welcome to contribute via GitHub pull requests or GitLab merge requests. After reviewing and merging into the respective branches (github-main / gitlab-main), the final version of the software will be merged into the main branch on the private Git instance, and then all existing mirrors will be updated.
Instructions on how to contribute can be found in CONTRIBUTING.md file.

Attribution

This project is maintained by its contributors. The main tools and technologies used are listed in the ATTRIBUTION-manual.md file. Automatically detected dependencies and their acknowledgments are listed in the ATTRIBUTION.md. file.

License

TL;DR: This project is licensed under the MIT License.
Everyone is welcome to fork and use it for private and commercial purposes.
Full license can be found in LICENSE file.

Project status

The project is in its initial state.
The scope and targets may change after discussions in issues.

About

βš™οΈπŸ§™πŸ¦– - Confizard - A self-configurable wizard for effortless app configuration, setup and deployment. Configuration wizard is designed to provide easy for end user configuration of Your application. Mirrors list: https://github.com/HJHPio/Confizard; https://gitlab.com/HJHPio/Confizard

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Confizard

This project is about filling the gap in modern software configurators.

Parent project: OwnLab
OwnLabLogo

Configuration & Installation

Quick Start

TL;DR Simply visit confizard.hjhp.io, follow the steps and use the generated script to deploy the application (see also recursion).

The guide below will be deprecated after the final version of Confizard is released (at least that is currently the main goal πŸ˜‰).
NOTE: Requires docker engine to be installed on the system (see Docker Engine Official Installation Guide).
It is possible to quickly test and experiment with Confizard due to its self-configuring capabilities.

  1. Visit Confizard App Example hosted on confizard.hjhp.io.
  2. Configure Form For Your Application: Following configurable steps this project is able to configure itself.
  3. Set Up Your Own Confizard Instance: Using generated script on last step this project is able to deploy itself locally as a docker container.

Advanced usage

After grasping the basics, the following are the functionalities currently supported by this project.

  1. Simple catalog structure: All required configuration files are in folder steps-data (located in this repo in (repo-root)/frontend/public/steps-data). This folder contains the steps list file and translations used in the project. Example usage:
docker run -it --name confizard-app -p 80:80 -v ./steps-data:/etc/nginx/html/zero/steps-data hjhp/confizard:latest
  1. Internationalization: To support translations, the following configurations are necessary:
    • Steps in file steps-data/steps.default.yaml need to use KEYS instead of VALUES.
    • In file steps-data/supportedLocales.json should be provided a list of supported locales.
    • In files steps-data/(locale).json key-value pairs should be provided supporting vue-i18n syntax (see also Vue-I18n syntax guide).
  2. Syntax used in steps.default.yaml: Example below introduces syntax with description in comments:
- id: 0# used to define the order of initial steps# below it's possible to use i18n syntax to internationalize parts of form content visible by end user like: step title and step description. For fields array its: label and description. title: "step.translate.example.title"description: "It's step description field."fields: # [] # its possible to leave this array empty in case of using step as additional info
- name: "ENV_NAME_USED_IN_SCRIPT"label: "Human-readable label of env"type: "text"# supported input types are: text, number, checkbox, password, multiline# all fields below are optional for field configurationdescription: "Human-readable description of current field"default: "Default value if not provided"multiplier: 0# it allows to duplicate current field in step (TODO: provide info about final env syntax)sensitive: false # flags this field to mask its value in the final script review as well as table of configured envsobligatory: false # flags this field as required before going to next stepconfigurable: false # it enables current field to add additional fields like field name or field type to be filled by end user# all fields below are optional for step configurationscript: | echo 'Hello! You can use the environment variables configured in the fields here.'icon: "BookOpenIcon"# currently supporting: BookOpenIcon, CircleStackIcon, CheckIcon with CheckIcon being defaultmultiplier: 0# it allows to duplicate current step in form (TODO: provide info about final env syntax)configurable: false # it enables current step to add additional fields like step title or step description to be filled by end user# last step used for summary can also have script
- id: 1title: "step.finish.title"description: "step.finish.description"script: "echo 'Final step completed in Confizard'"
  1. Hosting configuration files externally - It is possible to host configuration files (located in folder steps-data) on external server (for example nginx). There are two supported options:

Description

Every open-source project, to be quickly reusable by others, needs its own configuration wizard that shows end users how to configure the project and step-by-step explanation of the installation process. Confizard project aims for that specific field to provide a solution suitable for all projects: a configurable (and auto-configurable) wizard. Its solutions focus on using environments and scripts to provide an easy-to-maintain and understandable process. An Free and Open Source Software project author can provide end users with a simple form where based on user input translated then to system environments the final app can be automatically configured, installed and deployed based on user choices. It should never send data outside (the entire process should be encapsulated within the user's browser to ensure that no sensitive environment variables are leaked). Bug tracking features should only send data externally in testing environments.

Gallery

Intro

Roadmap

ROADMAP.md file includes upcoming features and future plans.

Changelog

CHANGELOG.md file includes project changes in each release.

Support

Everyone is welcome to submit an issue ticket on either GitHub or GitLab (depending on which platform this mirror of the project is hosted). Submitted issues will be automatically reviewed, and the main developer will be notified. If you prefer private support (e.g., if you do not wish to share logs publicly), you can contact the project main developer via email at support@hjhp.io.

Security

If you identify any security problems, please contact us immediately with the necessary details via email at security@hjhp.io.
Please note that the email could end up in the spam folder. If you do not receive a timely response, please try emailing again.
If the detected vulnerability is critical and the response to emails is not fast enough, please create an issue ticket to inform others and mitigate potential risks. For more information please refer to SECURITY.md file.

Contributing

Everyone is welcome to contribute via GitHub pull requests or GitLab merge requests. After reviewing and merging into the respective branches (github-main / gitlab-main), the final version of the software will be merged into the main branch on the private Git instance, and then all existing mirrors will be updated.
Instructions on how to contribute can be found in CONTRIBUTING.md file.

Attribution

This project is maintained by its contributors. The main tools and technologies used are listed in the ATTRIBUTION-manual.md file. Automatically detected dependencies and their acknowledgments are listed in the ATTRIBUTION.md. file.

License

TL;DR: This project is licensed under the MIT License.
Everyone is welcome to fork and use it for private and commercial purposes.
Full license can be found in LICENSE file.

Project status

The project is in its initial state.
The scope and targets may change after discussions in issues.

About

βš™οΈπŸ§™πŸ¦– - Confizard - A self-configurable wizard for effortless app configuration, setup and deployment. Configuration wizard is designed to provide easy for end user configuration of Your application. Mirrors list: https://github.com/HJHPio/Confizard; https://gitlab.com/HJHPio/Confizard

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Confizard

This project is about filling the gap in modern software configurators.

Parent project: OwnLab
OwnLabLogo

Configuration & Installation

Quick Start

TL;DR Simply visit confizard.hjhp.io, follow the steps and use the generated script to deploy the application (see also recursion).

The guide below will be deprecated after the final version of Confizard is released (at least that is currently the main goal πŸ˜‰).
NOTE: Requires docker engine to be installed on the system (see Docker Engine Official Installation Guide).
It is possible to quickly test and experiment with Confizard due to its self-configuring capabilities.

  1. Visit Confizard App Example hosted on confizard.hjhp.io.
  2. Configure Form For Your Application: Following configurable steps this project is able to configure itself.
  3. Set Up Your Own Confizard Instance: Using generated script on last step this project is able to deploy itself locally as a docker container.

Advanced usage

After grasping the basics, the following are the functionalities currently supported by this project.

  1. Simple catalog structure: All required configuration files are in folder steps-data (located in this repo in (repo-root)/frontend/public/steps-data). This folder contains the steps list file and translations used in the project. Example usage:
docker run -it --name confizard-app -p 80:80 -v ./steps-data:/etc/nginx/html/zero/steps-data hjhp/confizard:latest
  1. Internationalization: To support translations, the following configurations are necessary:
    • Steps in file steps-data/steps.default.yaml need to use KEYS instead of VALUES.
    • In file steps-data/supportedLocales.json should be provided a list of supported locales.
    • In files steps-data/(locale).json key-value pairs should be provided supporting vue-i18n syntax (see also Vue-I18n syntax guide).
  2. Syntax used in steps.default.yaml: Example below introduces syntax with description in comments:
- id: 0# used to define the order of initial steps# below it's possible to use i18n syntax to internationalize parts of form content visible by end user like: step title and step description. For fields array its: label and description. title: "step.translate.example.title"description: "It's step description field."fields: # [] # its possible to leave this array empty in case of using step as additional info
- name: "ENV_NAME_USED_IN_SCRIPT"label: "Human-readable label of env"type: "text"# supported input types are: text, number, checkbox, password, multiline# all fields below are optional for field configurationdescription: "Human-readable description of current field"default: "Default value if not provided"multiplier: 0# it allows to duplicate current field in step (TODO: provide info about final env syntax)sensitive: false # flags this field to mask its value in the final script review as well as table of configured envsobligatory: false # flags this field as required before going to next stepconfigurable: false # it enables current field to add additional fields like field name or field type to be filled by end user# all fields below are optional for step configurationscript: | echo 'Hello! You can use the environment variables configured in the fields here.'icon: "BookOpenIcon"# currently supporting: BookOpenIcon, CircleStackIcon, CheckIcon with CheckIcon being defaultmultiplier: 0# it allows to duplicate current step in form (TODO: provide info about final env syntax)configurable: false # it enables current step to add additional fields like step title or step description to be filled by end user# last step used for summary can also have script
- id: 1title: "step.finish.title"description: "step.finish.description"script: "echo 'Final step completed in Confizard'"
  1. Hosting configuration files externally - It is possible to host configuration files (located in folder steps-data) on external server (for example nginx). There are two supported options:

Description

Every open-source project, to be quickly reusable by others, needs its own configuration wizard that shows end users how to configure the project and step-by-step explanation of the installation process. Confizard project aims for that specific field to provide a solution suitable for all projects: a configurable (and auto-configurable) wizard. Its solutions focus on using environments and scripts to provide an easy-to-maintain and understandable process. An Free and Open Source Software project author can provide end users with a simple form where based on user input translated then to system environments the final app can be automatically configured, installed and deployed based on user choices. It should never send data outside (the entire process should be encapsulated within the user's browser to ensure that no sensitive environment variables are leaked). Bug tracking features should only send data externally in testing environments.

Gallery

Intro

Roadmap

ROADMAP.md file includes upcoming features and future plans.

Changelog

CHANGELOG.md file includes project changes in each release.

Support

Everyone is welcome to submit an issue ticket on either GitHub or GitLab (depending on which platform this mirror of the project is hosted). Submitted issues will be automatically reviewed, and the main developer will be notified. If you prefer private support (e.g., if you do not wish to share logs publicly), you can contact the project main developer via email at support@hjhp.io.

Security

If you identify any security problems, please contact us immediately with the necessary details via email at security@hjhp.io.
Please note that the email could end up in the spam folder. If you do not receive a timely response, please try emailing again.
If the detected vulnerability is critical and the response to emails is not fast enough, please create an issue ticket to inform others and mitigate potential risks. For more information please refer to SECURITY.md file.

Contributing

Everyone is welcome to contribute via GitHub pull requests or GitLab merge requests. After reviewing and merging into the respective branches (github-main / gitlab-main), the final version of the software will be merged into the main branch on the private Git instance, and then all existing mirrors will be updated.
Instructions on how to contribute can be found in CONTRIBUTING.md file.

Attribution

This project is maintained by its contributors. The main tools and technologies used are listed in the ATTRIBUTION-manual.md file. Automatically detected dependencies and their acknowledgments are listed in the ATTRIBUTION.md. file.

License

TL;DR: This project is licensed under the MIT License.
Everyone is welcome to fork and use it for private and commercial purposes.
Full license can be found in LICENSE file.

Project status

The project is in its initial state.
The scope and targets may change after discussions in issues.

About

βš™οΈπŸ§™πŸ¦– - Confizard - A self-configurable wizard for effortless app configuration, setup and deployment. Configuration wizard is designed to provide easy for end user configuration of Your application. Mirrors list: https://github.com/HJHPio/Confizard; https://gitlab.com/HJHPio/Confizard

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Confizard

This project is about filling the gap in modern software configurators.

Parent project: OwnLab
OwnLabLogo

Configuration & Installation

Quick Start

TL;DR Simply visit confizard.hjhp.io, follow the steps and use the generated script to deploy the application (see also recursion).

The guide below will be deprecated after the final version of Confizard is released (at least that is currently the main goal πŸ˜‰).
NOTE: Requires docker engine to be installed on the system (see Docker Engine Official Installation Guide).
It is possible to quickly test and experiment with Confizard due to its self-configuring capabilities.

  1. Visit Confizard App Example hosted on confizard.hjhp.io.
  2. Configure Form For Your Application: Following configurable steps this project is able to configure itself.
  3. Set Up Your Own Confizard Instance: Using generated script on last step this project is able to deploy itself locally as a docker container.

Advanced usage

After grasping the basics, the following are the functionalities currently supported by this project.

  1. Simple catalog structure: All required configuration files are in folder steps-data (located in this repo in (repo-root)/frontend/public/steps-data). This folder contains the steps list file and translations used in the project. Example usage:
docker run -it --name confizard-app -p 80:80 -v ./steps-data:/etc/nginx/html/zero/steps-data hjhp/confizard:latest
  1. Internationalization: To support translations, the following configurations are necessary:
    • Steps in file steps-data/steps.default.yaml need to use KEYS instead of VALUES.
    • In file steps-data/supportedLocales.json should be provided a list of supported locales.
    • In files steps-data/(locale).json key-value pairs should be provided supporting vue-i18n syntax (see also Vue-I18n syntax guide).
  2. Syntax used in steps.default.yaml: Example below introduces syntax with description in comments:
- id: 0# used to define the order of initial steps# below it's possible to use i18n syntax to internationalize parts of form content visible by end user like: step title and step description. For fields array its: label and description. title: "step.translate.example.title"description: "It's step description field."fields: # [] # its possible to leave this array empty in case of using step as additional info
- name: "ENV_NAME_USED_IN_SCRIPT"label: "Human-readable label of env"type: "text"# supported input types are: text, number, checkbox, password, multiline# all fields below are optional for field configurationdescription: "Human-readable description of current field"default: "Default value if not provided"multiplier: 0# it allows to duplicate current field in step (TODO: provide info about final env syntax)sensitive: false # flags this field to mask its value in the final script review as well as table of configured envsobligatory: false # flags this field as required before going to next stepconfigurable: false # it enables current field to add additional fields like field name or field type to be filled by end user# all fields below are optional for step configurationscript: | echo 'Hello! You can use the environment variables configured in the fields here.'icon: "BookOpenIcon"# currently supporting: BookOpenIcon, CircleStackIcon, CheckIcon with CheckIcon being defaultmultiplier: 0# it allows to duplicate current step in form (TODO: provide info about final env syntax)configurable: false # it enables current step to add additional fields like step title or step description to be filled by end user# last step used for summary can also have script
- id: 1title: "step.finish.title"description: "step.finish.description"script: "echo 'Final step completed in Confizard'"
  1. Hosting configuration files externally - It is possible to host configuration files (located in folder steps-data) on external server (for example nginx). There are two supported options:

Description

Every open-source project, to be quickly reusable by others, needs its own configuration wizard that shows end users how to configure the project and step-by-step explanation of the installation process. Confizard project aims for that specific field to provide a solution suitable for all projects: a configurable (and auto-configurable) wizard. Its solutions focus on using environments and scripts to provide an easy-to-maintain and understandable process. An Free and Open Source Software project author can provide end users with a simple form where based on user input translated then to system environments the final app can be automatically configured, installed and deployed based on user choices. It should never send data outside (the entire process should be encapsulated within the user's browser to ensure that no sensitive environment variables are leaked). Bug tracking features should only send data externally in testing environments.

Gallery

Intro

Roadmap

ROADMAP.md file includes upcoming features and future plans.

Changelog

CHANGELOG.md file includes project changes in each release.

Support

Everyone is welcome to submit an issue ticket on either GitHub or GitLab (depending on which platform this mirror of the project is hosted). Submitted issues will be automatically reviewed, and the main developer will be notified. If you prefer private support (e.g., if you do not wish to share logs publicly), you can contact the project main developer via email at support@hjhp.io.

Security

If you identify any security problems, please contact us immediately with the necessary details via email at security@hjhp.io.
Please note that the email could end up in the spam folder. If you do not receive a timely response, please try emailing again.
If the detected vulnerability is critical and the response to emails is not fast enough, please create an issue ticket to inform others and mitigate potential risks. For more information please refer to SECURITY.md file.

Contributing

Everyone is welcome to contribute via GitHub pull requests or GitLab merge requests. After reviewing and merging into the respective branches (github-main / gitlab-main), the final version of the software will be merged into the main branch on the private Git instance, and then all existing mirrors will be updated.
Instructions on how to contribute can be found in CONTRIBUTING.md file.

Attribution

This project is maintained by its contributors. The main tools and technologies used are listed in the ATTRIBUTION-manual.md file. Automatically detected dependencies and their acknowledgments are listed in the ATTRIBUTION.md. file.

License

TL;DR: This project is licensed under the MIT License.
Everyone is welcome to fork and use it for private and commercial purposes.
Full license can be found in LICENSE file.

Project status

The project is in its initial state.
The scope and targets may change after discussions in issues.

About

βš™οΈπŸ§™πŸ¦– - Confizard - A self-configurable wizard for effortless app configuration, setup and deployment. Configuration wizard is designed to provide easy for end user configuration of Your application. Mirrors list: https://github.com/HJHPio/Confizard; https://gitlab.com/HJHPio/Confizard

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Confizard

This project is about filling the gap in modern software configurators.

Parent project: OwnLab
OwnLabLogo

Configuration & Installation

Quick Start

TL;DR Simply visit confizard.hjhp.io, follow the steps and use the generated script to deploy the application (see also recursion).

The guide below will be deprecated after the final version of Confizard is released (at least that is currently the main goal πŸ˜‰).
NOTE: Requires docker engine to be installed on the system (see Docker Engine Official Installation Guide).
It is possible to quickly test and experiment with Confizard due to its self-configuring capabilities.

  1. Visit Confizard App Example hosted on confizard.hjhp.io.
  2. Configure Form For Your Application: Following configurable steps this project is able to configure itself.
  3. Set Up Your Own Confizard Instance: Using generated script on last step this project is able to deploy itself locally as a docker container.

Advanced usage

After grasping the basics, the following are the functionalities currently supported by this project.

  1. Simple catalog structure: All required configuration files are in folder steps-data (located in this repo in (repo-root)/frontend/public/steps-data). This folder contains the steps list file and translations used in the project. Example usage:
docker run -it --name confizard-app -p 80:80 -v ./steps-data:/etc/nginx/html/zero/steps-data hjhp/confizard:latest
  1. Internationalization: To support translations, the following configurations are necessary:
    • Steps in file steps-data/steps.default.yaml need to use KEYS instead of VALUES.
    • In file steps-data/supportedLocales.json should be provided a list of supported locales.
    • In files steps-data/(locale).json key-value pairs should be provided supporting vue-i18n syntax (see also Vue-I18n syntax guide).
  2. Syntax used in steps.default.yaml: Example below introduces syntax with description in comments:
- id: 0# used to define the order of initial steps# below it's possible to use i18n syntax to internationalize parts of form content visible by end user like: step title and step description. For fields array its: label and description. title: "step.translate.example.title"description: "It's step description field."fields: # [] # its possible to leave this array empty in case of using step as additional info
- name: "ENV_NAME_USED_IN_SCRIPT"label: "Human-readable label of env"type: "text"# supported input types are: text, number, checkbox, password, multiline# all fields below are optional for field configurationdescription: "Human-readable description of current field"default: "Default value if not provided"multiplier: 0# it allows to duplicate current field in step (TODO: provide info about final env syntax)sensitive: false # flags this field to mask its value in the final script review as well as table of configured envsobligatory: false # flags this field as required before going to next stepconfigurable: false # it enables current field to add additional fields like field name or field type to be filled by end user# all fields below are optional for step configurationscript: | echo 'Hello! You can use the environment variables configured in the fields here.'icon: "BookOpenIcon"# currently supporting: BookOpenIcon, CircleStackIcon, CheckIcon with CheckIcon being defaultmultiplier: 0# it allows to duplicate current step in form (TODO: provide info about final env syntax)configurable: false # it enables current step to add additional fields like step title or step description to be filled by end user# last step used for summary can also have script
- id: 1title: "step.finish.title"description: "step.finish.description"script: "echo 'Final step completed in Confizard'"
  1. Hosting configuration files externally - It is possible to host configuration files (located in folder steps-data) on external server (for example nginx). There are two supported options:

Description

Every open-source project, to be quickly reusable by others, needs its own configuration wizard that shows end users how to configure the project and step-by-step explanation of the installation process. Confizard project aims for that specific field to provide a solution suitable for all projects: a configurable (and auto-configurable) wizard. Its solutions focus on using environments and scripts to provide an easy-to-maintain and understandable process. An Free and Open Source Software project author can provide end users with a simple form where based on user input translated then to system environments the final app can be automatically configured, installed and deployed based on user choices. It should never send data outside (the entire process should be encapsulated within the user's browser to ensure that no sensitive environment variables are leaked). Bug tracking features should only send data externally in testing environments.

Gallery

Intro

Roadmap

ROADMAP.md file includes upcoming features and future plans.

Changelog

CHANGELOG.md file includes project changes in each release.

Support

Everyone is welcome to submit an issue ticket on either GitHub or GitLab (depending on which platform this mirror of the project is hosted). Submitted issues will be automatically reviewed, and the main developer will be notified. If you prefer private support (e.g., if you do not wish to share logs publicly), you can contact the project main developer via email at support@hjhp.io.

Security

If you identify any security problems, please contact us immediately with the necessary details via email at security@hjhp.io.
Please note that the email could end up in the spam folder. If you do not receive a timely response, please try emailing again.
If the detected vulnerability is critical and the response to emails is not fast enough, please create an issue ticket to inform others and mitigate potential risks. For more information please refer to SECURITY.md file.

Contributing

Everyone is welcome to contribute via GitHub pull requests or GitLab merge requests. After reviewing and merging into the respective branches (github-main / gitlab-main), the final version of the software will be merged into the main branch on the private Git instance, and then all existing mirrors will be updated.
Instructions on how to contribute can be found in CONTRIBUTING.md file.

Attribution

This project is maintained by its contributors. The main tools and technologies used are listed in the ATTRIBUTION-manual.md file. Automatically detected dependencies and their acknowledgments are listed in the ATTRIBUTION.md. file.

License

TL;DR: This project is licensed under the MIT License.
Everyone is welcome to fork and use it for private and commercial purposes.
Full license can be found in LICENSE file.

Project status

The project is in its initial state.
The scope and targets may change after discussions in issues.

About

βš™οΈπŸ§™πŸ¦– - Confizard - A self-configurable wizard for effortless app configuration, setup and deployment. Configuration wizard is designed to provide easy for end user configuration of Your application. Mirrors list: https://github.com/HJHPio/Confizard; https://gitlab.com/HJHPio/Confizard

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Confizard

This project is about filling the gap in modern software configurators.

Parent project: OwnLab
OwnLabLogo

Configuration & Installation

Quick Start

TL;DR Simply visit confizard.hjhp.io, follow the steps and use the generated script to deploy the application (see also recursion).

The guide below will be deprecated after the final version of Confizard is released (at least that is currently the main goal πŸ˜‰).
NOTE: Requires docker engine to be installed on the system (see Docker Engine Official Installation Guide).
It is possible to quickly test and experiment with Confizard due to its self-configuring capabilities.

  1. Visit Confizard App Example hosted on confizard.hjhp.io.
  2. Configure Form For Your Application: Following configurable steps this project is able to configure itself.
  3. Set Up Your Own Confizard Instance: Using generated script on last step this project is able to deploy itself locally as a docker container.

Advanced usage

After grasping the basics, the following are the functionalities currently supported by this project.

  1. Simple catalog structure: All required configuration files are in folder steps-data (located in this repo in (repo-root)/frontend/public/steps-data). This folder contains the steps list file and translations used in the project. Example usage:
docker run -it --name confizard-app -p 80:80 -v ./steps-data:/etc/nginx/html/zero/steps-data hjhp/confizard:latest
  1. Internationalization: To support translations, the following configurations are necessary:
    • Steps in file steps-data/steps.default.yaml need to use KEYS instead of VALUES.
    • In file steps-data/supportedLocales.json should be provided a list of supported locales.
    • In files steps-data/(locale).json key-value pairs should be provided supporting vue-i18n syntax (see also Vue-I18n syntax guide).
  2. Syntax used in steps.default.yaml: Example below introduces syntax with description in comments:
- id: 0# used to define the order of initial steps# below it's possible to use i18n syntax to internationalize parts of form content visible by end user like: step title and step description. For fields array its: label and description. title: "step.translate.example.title"description: "It's step description field."fields: # [] # its possible to leave this array empty in case of using step as additional info
- name: "ENV_NAME_USED_IN_SCRIPT"label: "Human-readable label of env"type: "text"# supported input types are: text, number, checkbox, password, multiline# all fields below are optional for field configurationdescription: "Human-readable description of current field"default: "Default value if not provided"multiplier: 0# it allows to duplicate current field in step (TODO: provide info about final env syntax)sensitive: false # flags this field to mask its value in the final script review as well as table of configured envsobligatory: false # flags this field as required before going to next stepconfigurable: false # it enables current field to add additional fields like field name or field type to be filled by end user# all fields below are optional for step configurationscript: | echo 'Hello! You can use the environment variables configured in the fields here.'icon: "BookOpenIcon"# currently supporting: BookOpenIcon, CircleStackIcon, CheckIcon with CheckIcon being defaultmultiplier: 0# it allows to duplicate current step in form (TODO: provide info about final env syntax)configurable: false # it enables current step to add additional fields like step title or step description to be filled by end user# last step used for summary can also have script
- id: 1title: "step.finish.title"description: "step.finish.description"script: "echo 'Final step completed in Confizard'"
  1. Hosting configuration files externally - It is possible to host configuration files (located in folder steps-data) on external server (for example nginx). There are two supported options:

Description

Every open-source project, to be quickly reusable by others, needs its own configuration wizard that shows end users how to configure the project and step-by-step explanation of the installation process. Confizard project aims for that specific field to provide a solution suitable for all projects: a configurable (and auto-configurable) wizard. Its solutions focus on using environments and scripts to provide an easy-to-maintain and understandable process. An Free and Open Source Software project author can provide end users with a simple form where based on user input translated then to system environments the final app can be automatically configured, installed and deployed based on user choices. It should never send data outside (the entire process should be encapsulated within the user's browser to ensure that no sensitive environment variables are leaked). Bug tracking features should only send data externally in testing environments.

Gallery

Intro

Roadmap

ROADMAP.md file includes upcoming features and future plans.

Changelog

CHANGELOG.md file includes project changes in each release.

Support

Everyone is welcome to submit an issue ticket on either GitHub or GitLab (depending on which platform this mirror of the project is hosted). Submitted issues will be automatically reviewed, and the main developer will be notified. If you prefer private support (e.g., if you do not wish to share logs publicly), you can contact the project main developer via email at support@hjhp.io.

Security

If you identify any security problems, please contact us immediately with the necessary details via email at security@hjhp.io.
Please note that the email could end up in the spam folder. If you do not receive a timely response, please try emailing again.
If the detected vulnerability is critical and the response to emails is not fast enough, please create an issue ticket to inform others and mitigate potential risks. For more information please refer to SECURITY.md file.

Contributing

Everyone is welcome to contribute via GitHub pull requests or GitLab merge requests. After reviewing and merging into the respective branches (github-main / gitlab-main), the final version of the software will be merged into the main branch on the private Git instance, and then all existing mirrors will be updated.
Instructions on how to contribute can be found in CONTRIBUTING.md file.

Attribution

This project is maintained by its contributors. The main tools and technologies used are listed in the ATTRIBUTION-manual.md file. Automatically detected dependencies and their acknowledgments are listed in the ATTRIBUTION.md. file.

License

TL;DR: This project is licensed under the MIT License.
Everyone is welcome to fork and use it for private and commercial purposes.
Full license can be found in LICENSE file.

Project status

The project is in its initial state.
The scope and targets may change after discussions in issues.

About

βš™οΈπŸ§™πŸ¦– - Confizard - A self-configurable wizard for effortless app configuration, setup and deployment. Configuration wizard is designed to provide easy for end user configuration of Your application. Mirrors list: https://github.com/HJHPio/Confizard; https://gitlab.com/HJHPio/Confizard

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Confizard

This project is about filling the gap in modern software configurators.

Parent project: OwnLab
OwnLabLogo

Configuration & Installation

Quick Start

TL;DR Simply visit confizard.hjhp.io, follow the steps and use the generated script to deploy the application (see also recursion).

The guide below will be deprecated after the final version of Confizard is released (at least that is currently the main goal πŸ˜‰).
NOTE: Requires docker engine to be installed on the system (see Docker Engine Official Installation Guide).
It is possible to quickly test and experiment with Confizard due to its self-configuring capabilities.

  1. Visit Confizard App Example hosted on confizard.hjhp.io.
  2. Configure Form For Your Application: Following configurable steps this project is able to configure itself.
  3. Set Up Your Own Confizard Instance: Using generated script on last step this project is able to deploy itself locally as a docker container.

Advanced usage

After grasping the basics, the following are the functionalities currently supported by this project.

  1. Simple catalog structure: All required configuration files are in folder steps-data (located in this repo in (repo-root)/frontend/public/steps-data). This folder contains the steps list file and translations used in the project. Example usage:
docker run -it --name confizard-app -p 80:80 -v ./steps-data:/etc/nginx/html/zero/steps-data hjhp/confizard:latest
  1. Internationalization: To support translations, the following configurations are necessary:
    • Steps in file steps-data/steps.default.yaml need to use KEYS instead of VALUES.
    • In file steps-data/supportedLocales.json should be provided a list of supported locales.
    • In files steps-data/(locale).json key-value pairs should be provided supporting vue-i18n syntax (see also Vue-I18n syntax guide).
  2. Syntax used in steps.default.yaml: Example below introduces syntax with description in comments:
- id: 0# used to define the order of initial steps# below it's possible to use i18n syntax to internationalize parts of form content visible by end user like: step title and step description. For fields array its: label and description. title: "step.translate.example.title"description: "It's step description field."fields: # [] # its possible to leave this array empty in case of using step as additional info
- name: "ENV_NAME_USED_IN_SCRIPT"label: "Human-readable label of env"type: "text"# supported input types are: text, number, checkbox, password, multiline# all fields below are optional for field configurationdescription: "Human-readable description of current field"default: "Default value if not provided"multiplier: 0# it allows to duplicate current field in step (TODO: provide info about final env syntax)sensitive: false # flags this field to mask its value in the final script review as well as table of configured envsobligatory: false # flags this field as required before going to next stepconfigurable: false # it enables current field to add additional fields like field name or field type to be filled by end user# all fields below are optional for step configurationscript: | echo 'Hello! You can use the environment variables configured in the fields here.'icon: "BookOpenIcon"# currently supporting: BookOpenIcon, CircleStackIcon, CheckIcon with CheckIcon being defaultmultiplier: 0# it allows to duplicate current step in form (TODO: provide info about final env syntax)configurable: false # it enables current step to add additional fields like step title or step description to be filled by end user# last step used for summary can also have script
- id: 1title: "step.finish.title"description: "step.finish.description"script: "echo 'Final step completed in Confizard'"
  1. Hosting configuration files externally - It is possible to host configuration files (located in folder steps-data) on external server (for example nginx). There are two supported options:

Description

Every open-source project, to be quickly reusable by others, needs its own configuration wizard that shows end users how to configure the project and step-by-step explanation of the installation process. Confizard project aims for that specific field to provide a solution suitable for all projects: a configurable (and auto-configurable) wizard. Its solutions focus on using environments and scripts to provide an easy-to-maintain and understandable process. An Free and Open Source Software project author can provide end users with a simple form where based on user input translated then to system environments the final app can be automatically configured, installed and deployed based on user choices. It should never send data outside (the entire process should be encapsulated within the user's browser to ensure that no sensitive environment variables are leaked). Bug tracking features should only send data externally in testing environments.

Gallery

Intro

Roadmap

ROADMAP.md file includes upcoming features and future plans.

Changelog

CHANGELOG.md file includes project changes in each release.

Support

Everyone is welcome to submit an issue ticket on either GitHub or GitLab (depending on which platform this mirror of the project is hosted). Submitted issues will be automatically reviewed, and the main developer will be notified. If you prefer private support (e.g., if you do not wish to share logs publicly), you can contact the project main developer via email at support@hjhp.io.

Security

If you identify any security problems, please contact us immediately with the necessary details via email at security@hjhp.io.
Please note that the email could end up in the spam folder. If you do not receive a timely response, please try emailing again.
If the detected vulnerability is critical and the response to emails is not fast enough, please create an issue ticket to inform others and mitigate potential risks. For more information please refer to SECURITY.md file.

Contributing

Everyone is welcome to contribute via GitHub pull requests or GitLab merge requests. After reviewing and merging into the respective branches (github-main / gitlab-main), the final version of the software will be merged into the main branch on the private Git instance, and then all existing mirrors will be updated.
Instructions on how to contribute can be found in CONTRIBUTING.md file.

Attribution

This project is maintained by its contributors. The main tools and technologies used are listed in the ATTRIBUTION-manual.md file. Automatically detected dependencies and their acknowledgments are listed in the ATTRIBUTION.md. file.

License

TL;DR: This project is licensed under the MIT License.
Everyone is welcome to fork and use it for private and commercial purposes.
Full license can be found in LICENSE file.

Project status

The project is in its initial state.
The scope and targets may change after discussions in issues.

About

βš™οΈπŸ§™πŸ¦– - Confizard - A self-configurable wizard for effortless app configuration, setup and deployment. Configuration wizard is designed to provide easy for end user configuration of Your application. Mirrors list: https://github.com/HJHPio/Confizard; https://gitlab.com/HJHPio/Confizard

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages