{"id":36994715,"url":"https://github.com/lucatacconi/crunz-ui","last_synced_at":"2026-01-13T23:46:58.491Z","repository":{"id":47337085,"uuid":"204680086","full_name":"lucatacconi/crunz-ui","owner":"lucatacconi","description":"Natural graphical user interface for Crunz (Crunzphp/Crunz). Allows users to setup tasks natively written in PHP and schedule them configuringing date and time of start, intervals and conditions of init and execution.","archived":false,"fork":false,"pushed_at":"2025-09-17T11:03:43.000Z","size":1020,"stargazers_count":14,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-27T15:23:43.902Z","etag":null,"topics":["administration","api","crontab","crunz","http-vue-loader","jwt-authentication","slim4","vue","vue-router","vuetify"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucatacconi.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":".github/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-27T10:34:40.000Z","updated_at":"2025-09-17T11:03:47.000Z","dependencies_parsed_at":"2024-04-26T17:41:46.153Z","dependency_job_id":"f003c4cb-9b0e-4c36-acda-4b92698dceea","html_url":"https://github.com/lucatacconi/crunz-ui","commit_stats":{"total_commits":786,"total_committers":4,"mean_commits":196.5,"dds":0.3498727735368957,"last_synced_commit":"289da898f9bf930ddab0a1c1450f96e9cf65fd6f"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/lucatacconi/crunz-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucatacconi%2Fcrunz-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucatacconi%2Fcrunz-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucatacconi%2Fcrunz-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucatacconi%2Fcrunz-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucatacconi","download_url":"https://codeload.github.com/lucatacconi/crunz-ui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucatacconi%2Fcrunz-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28405304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T21:51:37.118Z","status":"ssl_error","status_checked_at":"2026-01-13T21:45:14.585Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["administration","api","crontab","crunz","http-vue-loader","jwt-authentication","slim4","vue","vue-router","vuetify"],"created_at":"2026-01-13T23:46:58.401Z","updated_at":"2026-01-13T23:46:58.477Z","avatar_url":"https://github.com/lucatacconi.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crunz-ui\n\n[![Latest Stable Version](https://poser.pugx.org/lucatacconi/crunz-ui/v/stable)](https://packagist.org/packages/lucatacconi/crunz-ui)\n[![Total Downloads](https://poser.pugx.org/lucatacconi/crunz-ui/downloads)](https://packagist.org/packages/lucatacconi/crunz-ui)\n[![Latest Unstable Version](https://poser.pugx.org/lucatacconi/crunz-ui/v/unstable)](https://packagist.org/packages/lucatacconi/crunz-ui)\n[![License](https://poser.pugx.org/lucatacconi/crunz-ui/license)](https://packagist.org/packages/lucatacconi/crunz-ui)\n\n![Crunz-ui](https://user-images.githubusercontent.com/9921890/219971153-9e5ef715-0759-4462-8c2d-3391b278d6ba.png)\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\nCrunz-ui starts from the most famous GitHub [Crunzphp/Crunz](https://github.com/crunzphp/crunz) project and it's proposed to be its natural graphical interface, developed to make its usage more accessible and easy to use. Designed to be extremely light, it uses [lucatacconi/silly-vue-scaffolding](https://github.com/lucatacconi/silly-vue-scaffolding) which guarantees the project its elastic and dynamic structure.\n\n\u003cbr /\u003e\n\n\u003cdetails\u003e\n \u003csummary\u003e\u003cstrong\u003eTable of Contents\u003c/strong\u003e (click to expand)\u003c/summary\u003e\n\n- [What Crunz is and how Crunz-ui connects to it](#what-crunz-is-and-how-crunz-ui-connects-to-it)\n- [What else can Crunz-ui do](#what-else-can-crunz-ui-do)\n- [Browser Support](#browser-support)\n- [System Requirements](#system-requirements)\n- [Pre-installation safety warnings](#pre-installation-safety-warnings)\n- [Installation and application setup](#installation-and-application-setup)\n  - [Docker setup](#docker-setup)\n  - [Composer setup](#composer-setup)\n  - [Never used Crunz before](#never-used-crunz-before)\n  - [Usage on a previous installation of Crunz](#usage-on-a-previous-installation-of-crunz)\n  - [Custom log directory configuration](#custom-log-directory-configuration)\n  - [Accounts configuration](#accounts-configuration)\n  - [Ubuntu/Debian setup example](UBUNTU_EXPL.md)\n- [First login](#first-login)\n- [Contributing informations](CONTRIBUTING.md)\n- [Roadmap](ROADMAP.md)\n- [FAQ / Troubleshooting](FAQ.md)\n- [Lazy Developer Shortcuts](LAZY_AREA.md)\n\u003c/details\u003e\n\n\u003c!-- - [Demo environment](#demo-environment) --\u003e\n\n\u003cbr /\u003e\n\n\u003e :information_source: **Use the link below if you want to skip information about Crunz and Crunz-ui and go straight to setup procedures:**\n\n**[Shortcuts to Docker and Composer setup procedure](LAZY_AREA.md)**\n\n\u003cbr /\u003e\n\n## What Crunz is and how Crunz-ui connects to it\nCrunz is an application that allows users to schedule tasks natively written in PHP, programming date and time of start, interval and conditions of execution, and init.\n\nYou can find details about Crunz and how to write and schedule tasks at the following address: https://github.com/crunzphp/crunz\n\nCrunz task example:\n```php\n\u003c?php\n// tasks/backupTasks.php\n\nuse Crunz\\Schedule;\n\n$schedule = new Schedule();\n$task = $schedule-\u003erun('cp project project-bk');\n$task-\u003edaily();\n\nreturn $schedule;\n```\n\nCrunz-ui natively uses Crunz libraries and functions to read and interpret the configured tasks;\nthen presents tasks in a tabular or graphical display, showing them on a monthly or daily view.\n\n\u003cbr /\u003e\n\n## What else can Crunz-ui do?\n\nIn addition to displaying tasks in tabular or graphic format, Crunz-ui allows you to:\n* Manage tasks through easy-to-use interfaces (create, modify, archive, delete tasks)\n* Upload or download tasks with an intuitive and simple file manager system\n* Quick display of results of the tasks that have been executed (The indicator icons easily show whether the task was performed with errors or successfully)\n* Search and display the outcome of task execution on a specific date or selected through various search parameters\n* Forced run of the task, even outside the scheduled time with an eventual display of the log once the execution is completed\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n![Crunz-ui](https://user-images.githubusercontent.com/9921890/105859101-6cf75080-5fec-11eb-9ede-0b6da2ec9898.png)\n\n\u003c!-- ## Demo environment\n\nIt is possible to test the application in the demo area. All functions are active except the execution of the tasks loaded on the system.\nUser and password for access are pre-filled in the login section.\nIt is possible to access the demo area from the following link:\n\n:link: **[Demo area](https://www.monolite.net/crunz-ui/public/index.php)** - Click to access demo area\n\n\u003cbr /\u003e --\u003e\n\n## Browser Support\n\n| ![Chrome](https://github.com/alrra/browser-logos/blob/main/src/chrome/chrome_48x48.png) | ![Firefox](https://github.com/alrra/browser-logos/blob/main/src/firefox/firefox_48x48.png) | ![Safari](https://github.com/alrra/browser-logos/blob/main/src/safari/safari_48x48.png) | ![Opera](https://github.com/alrra/browser-logos/blob/main/src/opera/opera_48x48.png) | ![Edge](https://github.com/alrra/browser-logos/blob/main/src/edge/edge_48x48.png) | ![IE](https://github.com/alrra/browser-logos/blob/main/src/archive/internet-explorer-tile_10-11/internet-explorer-tile_10-11_48x48.png) |\n| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |\n| Latest ✔ | Latest ✔ | Latest ✔  | Latest ✔  | Latest ✔  | **No** |\n\n\n## System Requirements\n\n* Linux OS and Bash shell\n* Service ntp enabled\n* Apache with rewrite.load module enabled or Nginx and PHP 8.0 or newer,\n* Composer\n* Sudo capabilities\n\n\u003cbr /\u003e\n\n## Pre-installation safety warnings\n\n\u003e :warning: **Crunz and Crunz-ui need that the operator has the permissions to set up crontab entry to schedule the regular execution of the task management process. Crontab entry owner must be carefully selected: using high permissions level user (ex root) could allow tasks to access sensitive files or perform malicious operations on the entire server file system.**\n\n\u003e :warning: **It is very important to change as soon as possible the default password of the Crunz-ui admin user. Leaving the default password could allow malicious users to access the Crunz-ui task manager and load dangerous tasks with the capability to access sensitive files or perform malicious operations on the entire server file system.**\n\n\u003e :warning: **It is important to keep system clock synchronized. In the case of an unsynchronized clock, there could be misalignments in the execution of the tasks or the management of the user sessions.**\n\n\u003e :warning: **For browser security configurations, copy to clipboard buttons are available only if Crunz-ui is released in localhost or in an https domain.**\n\n\u003e :warning: **In countries where is present daylight saving time switch, there may be discrepancies in the task execution time and task outcome display on the day of the time switch.**\n\n\u003cbr /\u003e\n\n## Installation and application setup\n\nThe two quickest ways to install Crunz-ui are with a **Docker** container or by installing via **Composer**\n\n### Docker setup\n\n![Docker](https://user-images.githubusercontent.com/9921890/160177107-15558348-d185-448d-8113-74fe700bd9f7.png)\n\nIf it is not necessary to install Crunz-ui alongside an existing Crunz installation, the simplest way to install it is to configure the software and do its startup through Docker. The Crunz-ui Docker container is the quickest way to have a running and ready-to-use application.\n\nFirst of all, download both files to Github server.\n\n- **[Dockerfile](dockerConf/Dockerfile)** - Docker container configuration file\n- **[Crunz.yml](dockerConf/crunz.yml)** - Crunz standard configuration file\n\nManually edit Crunz configurations present in the Crunz.yml file. Inside the file, there are suggestions about the individual configuration parameters. Please refer to [Crunzphp/Crunz](https://github.com/crunzphp/crunz) for more details on the configuration.\n\n\nInitialize Crunz-iu Docker container. Be careful to select the correct timezone before running the command. (ex. TIMEZONE=Europe/Rome)\n```\nsudo docker build -t crunz-ui --build-arg TIMEZONE=Europe/Rome:\n```\n\nStart Crunz-iu Docker container indicating the port through which to access the web interface (ex. DEST_PORT:ORIG_PORT 80:80 ):\n\n```\nsudo docker run -dp 80:80 --name crunz-ui-app crunz-ui\n```\n\nAccess the application via browser (Refer to [First login](#first-login) section for connection details)\n```\nhttp://LOCAL_IP/crunz-ui (Ex. http://192.168.1.127/crunz-ui)\n```\n\nPlease refer to [Ubuntu/Debian Docker setup example](DOCKER_EXPL.md) for suggestion.\n\n### Composer setup\n\n![Composer](https://user-images.githubusercontent.com/9921890/161096990-07c1a090-bfc7-4a2f-b2c6-824f92d6b9f5.png)\n\nOtherwise It's recommended that you use [Composer](https://getcomposer.org/) to install Crunz-ui.\n\nStarting from your **Web Server**'s **Document Root** folder or from a directory served by a virtual host, begin the application setup by Composer command:\n```\ncomposer create-project lucatacconi/crunz-ui\n```\nThis will install Crunz-ui and all required dependencies.\n\n\u003e :information_source: There is no need to set a large max_execution_time property in your php.ini: Crunz performs tasks as if they were run from the console. When running PHP from the command line the default setting is 0 therefore without time limits.\n\nCruz-ui installed by Composer can work using the Crunz embedded in the packages or using the tasks and configurations of Crunz previously installed on the user's system.\n\nIf you have never used Crunz before or want to use the Crunz integrated into the packages, refer to the [Never used Crunz before](#Never-used-Crunz-before) section.\nIf you want to use Cruz-ui on a version of Crunz previously installed on the user's systems, refer to the [Usage on a previous installation of Crunz](#Usage-on-a-previous-installation-of-Crunz) section.\n\n\u003e :information_source: By default Crunz checks the correctness of the php code before considering the task file. In case of servers with less computing power, checking the syntax of the tasks considerably slows down the display of tables and statistics. You can set the .env parameter CHECK_PHP_TASKS_SYNTAX to false to inhibit syntax checking. In case of syntax errors in the tasks, configuring parameter CHECK_PHP_TASKS_SYNTAX to false could cause anomalous behavior in the Crunz-ui interfaces\n\nCrunz-ui can also be used with Xampp. However, it is necessary to create a symbolic link of the Xampp's PHP in your system executables folder:\n```\nsudo ln -s /opt/lampp/bin/php /usr/bin/\n```\n\nUsing Crunz-ui on Xampp with PHP already present on the server in a separate installation from XAMPP, functions \"Execute and wait log\" present in the Tasks table section menu will fail with the following error: Unable to load dynamic library 'curl.so'. Check [FAQ](FAQ.md) to solve the problem.\n\n### Never used Crunz before\n\nCruz-ui has Crunz packages embedded in its libraries. Once configured, the application can then start viewing, managing and executing tasks.\n\nTo configure the application in this way, once Crunz-ui is installed, proceed as follows:\n\nBy accessing the project folder, you can use the specific function of Crunz to generate the basic configuration file of Crunz itself:\n```\n./vendor/bin/crunz publish:config\n```\n\nThe procedure will ask the user to provide default timezone for task run date calculations; execution will generate the Crunz configuration file with the default settings.\nFor more advanced configurations, refer to the Crunz manual.\n\nAt this point it is necessary to configure all the users who must be able to access the application.\nRefer to [Accounts configuration](#Accounts-configuration) section to configure users. By default, in the basic configuration, the **admin** user is configured with the temporary password **password**.\n\nThen set an ordinary cron job (a crontab entry) which runs every minute, and delegates the responsibility to Crunz-ui event runner:\n```\n* * * * * cd /[BASE_CRUNZUI_PATH] \u0026\u0026 ./crunz-ui.sh\n```\n\nBy default the configured log folder is **./var/logs** inside Crunz-ui folder. To use custom log folder configure the **.env** file with the path of new log folder.\nThe folder must be accessible and writeable by the Web Server user.\n\nIf you have configured a custom log folder, the crontab configuration must be changed as follows:\n```\n* * * * * cd /[BASE_CRUNZUI_PATH] \u0026\u0026 ./crunz-ui.sh -l [LOGS_PATH]\n```\n\nPlease refer to [Apache/PHP in Ubuntu/Debian server setup example](APACHE_UBUNTU_EXPL.md) or [Nginx/PHP in Ubuntu/Debian server setup example](NGINX_UBUNTU_EXPL.md) for suggestion.\n\n### Usage on a previous installation of Crunz\n\nFirst of all you need to tell Crunz-ui the exact location where Crunz is installed.\nTo do this, edit the **.env** file inside the main folder of Crunz-ui by un-commenting the entry **CRUNZ_BASE_DIR** and indicating into that the value of the absolute path of Crunz installation. In order to be able to insert, modify and delete tasks, the Web Server user must have access and write permissions to the tasks folder.\n\nThen copy crunz-ui.sh file and TasksTreeReader.php into the Crunz base folder:\n```\ncp /[BASE_CRUNZUI_PATH]/crunz-ui.sh /[BASE_CRUNZ_PATH]\ncp /[BASE_CRUNZUI_PATH]/TasksTreeReader.php /[BASE_CRUNZ_PATH]\n```\n\nBy default **crunz.ui.sh** batch will search for standard log folder **./var/logs** inside main Crunz folder. Therefore, if you want to use standard configuration, you need to create default folder for logs. The folder must be accessible and writeable by the Web Server user:\n```\ncd /[BASE_CRUNZ_PATH]\nmkdir ./var ./var/logs\n```\n\nModify the Crunz process, configured in Crontab during the Crunz installation, replacing it with the Crunz-ui process:\n```\n* * * * * cd /[BASE_CRUNZ_PATH] \u0026\u0026 ./crunz-ui.sh\n```\n\nConfigure, if needed, Crunz-ui **.env** file with a custom path of the log folder. In this case too it is important that the folder is accessible and writeable by the Web Server user.\nIf you have configured a custom log folder, the crontab configuration must be changed as follows:\n```\n* * * * * cd /[BASE_CRUNZ_PATH] \u0026\u0026 ./crunz-ui.sh -l [LOGS_PATH]\n```\n\nAt this point it is necessary to configure all the users who must be able to access the application.\nRefer to [Accounts configuration](#Accounts-configuration) section to configure users. By default, in the basic configuration, the **admin** user is configured with the temporary password **password**.\n\n### Custom log directory configuration\n\nBy default, the configured log folder is **./var/logs** inside Crunz / Crunz-ui folder. The folder must be accessible and writeable by the Web Server user.\n\nTo configure custom folder set the **.env** file with the path of new log folder.\n\nIf you have configured a custom log folder, the crontab configuration must be changed as follows:\n```\n* * * * * cd /[BASE_CRUNZ_PATH / BASE_CRUNZUI_PATH] \u0026\u0026 ./crunz-ui.sh -l [LOGS_PATH]\n```\n\n### Accounts configuration\n\nAll users enabled to access the application are configured in the configuration file **/config/accounts.json**.\n\nThe accounts.json configuration file has the following format:\n```\n[\n    {\n        \"username\":\"admin\",\n        \"name\":\"Admin User\",\n        \"userType\":\"admin\",\n        \"email\":\"admin@nomail.com\",\n        \"password\":\"password\",\n        \"active\":\"Y\",\n        \"expireDate\":\"2020-10-10\",\n        \"customSessionDuration\":\"\"\n    },\n    {\n        \"username\":\"j.doe\",\n        \"name\":\"Jhon Doe\",\n        \"userType\":\"user\",\n        \"email\":\"j.doe@nomail.com\",\n        \"password\":\"password\",\n        \"active\":\"Y\",\n        \"expireDate\":\"2020-10-10\",\n        \"customSessionDuration\":\"\"\n    },\n    ...\n]\n```\n\nAmong the various information listed, the type of user is also induced, information that is then used to filter the menu items enabled for the user.\nFor simplicity's choice the access configurations have been inserted in a file. However, nothing prevents the implementation of user management based on database reading.\n\n\u003cbr /\u003e\n\n## First login\n\nThe application is preconfigured with a single access user to verify the login procedure and access the dashboard and the main menu.\n\nTo test access use the login **admin** and password **password**\n\n\u003cbr /\u003e\n\n## Contributing\n\nThis project is maintained by a group of awesome contributors. Contributions are extremely welcome :heart:.\nPlease see [Contributing informations](CONTRIBUTING.md) for details.\n\n## Roadmap\n\nPlease see [Roadmap](ROADMAP.md) for details.\n\n## FAQ and Troubleshooting\n\nFor help, FAQ or troubleshooting please refer to [FAQ and Troubleshooting](FAQ.md).\n\n## Credits\n\n* [Luca Tacconi](https://github.com/lucatacconi)\n* [Emanuele Marchesotti](https://github.com/flagellarmirror)\n\n## License\n\nCrunz-ui is licensed under the MIT license. See [License File](LICENSE.md) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucatacconi%2Fcrunz-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucatacconi%2Fcrunz-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucatacconi%2Fcrunz-ui/lists"}