A simple webapp to manage cronjobs
Go to file
Jeroen De Meerleer 9264dce266
Update composer.json and composer.lock
- Updated doctrine/orm from version ^2.15 to ^2.16
- Updated guzzlehttp/guzzle from version ^7.7 to ^7.8
- Updated nelmio/security-bundle from version ^3.0 to ^v3.0
- Updated symfony/flex from version ^2.3 to ^v2.4
- Updated symfony/webpack-encore-bundle from version "^v2.0" to "^v2.1"
- Updated laminas/laminas-code from version 4.12.0 to 4.13.0
- Updated doctrine/annotations from version "^2.0" to "^2.0.1"
- Updated laminas/laminas-coding-standard from version "^2.
2023-11-12 18:59:21 +01:00
.github/issue_template ENHANCEMENT: created issue_templates 2022-06-24 14:20:03 +02:00
assets Update timepicker restrictions and add a minimum date 2023-09-11 08:17:54 +02:00
bin ENHANCEMENT: using symfony framework 2022-04-27 17:19:54 +02:00
config Refactor run button initialization and timepicker usage 2023-09-03 12:53:44 +02:00
migrations NEW FEATURE: added webhooks 2023-01-16 12:45:27 +01:00
public ENHANCEMENT: using symfony framework 2022-04-27 17:19:54 +02:00
src feat: Add nelmio/security-bundle 2023-07-13 14:11:46 +02:00
templates Update job edit template to increment key value for variables 2023-07-11 16:37:49 +02:00
translations ENHANCEMENT: added visualisation of triggered run 2023-01-17 14:10:17 +01:00
.env.sample ENHANCEMENT: added demo mode 2022-07-01 12:00:36 +02:00
.gitignore Returning to webpack 2022-08-23 13:28:30 +02:00
CHANGELOG.md Added timed scheduled runs 2023-01-10 17:21:49 +01:00
LICENSE.md First implementation of the framework 2021-04-06 19:33:26 +02:00
README.md Updated readme 2022-09-07 12:09:49 +02:00
composer.json Update composer.json and composer.lock 2023-11-12 18:59:21 +01:00
composer.lock Update composer.json and composer.lock 2023-11-12 18:59:21 +01:00
install.sh UPDATED README 2022-09-05 16:13:31 +02:00
package-lock.json Update composer.json and composer.lock 2023-11-12 18:59:21 +01:00
package.json Update composer.json and composer.lock 2023-11-12 18:59:21 +01:00
symfony.lock feat: Add nelmio/security-bundle 2023-07-13 14:11:46 +02:00
version Added timed scheduled runs 2023-01-10 17:21:49 +01:00
webpack.config.js Update framework to version 6.3 2023-06-27 14:40:24 +02:00

README.md

Webcron Management

(c) 2017-2018, 2021- Jeroen De Meerleer me@jeroened.be

Webcron management is an easy-to-use interface to manage cronjobs running on a publicly available http-location.

Building

Requirements for build-server

  • php <= 8.1 (incl composer <= 2, ext-pcntl, ext-openssl, ext-intl)
  • NodeJS <= 16.0 (incl. npm <= 8)

Building

Please run following command on the build server

$ composer install --no-dev --optimize-autoloader
$ npm install
$ npm run build
$ rm -rf node_modules # Node modules are only required for building

Installation

Requirements

  • php <= 8.1
    • ext-openssl
    • ext-intl
    • ext-pcntl (highly recommended)
  • MariaDB
  • SSH-access to the server
  • Ability to change the webroot directory
  • Ability to run a script as daemon (eg. supervisor or systemd units)

Installation

  1. Create a build yourself or download the build from the releases page

  2. Upload the build to the webserver.

  3. Set up your webhosting to use the /public directory as web root

  4. Create the .env file by copying .env.sample to .env and change the values

  5. Run php bin/console doctrine:migrations:migrate to create or migrate the database

  6. Create a first user by running php bin/console webcron:user add

  7. Set up the daemon script using systemd, supervisord or similar system

    If this is not possible running the daemon using a cronjob is still possible using below gist (Not recommended)

0 * * * * cd /path/to/webcron/ && php webcron daemon --time-limit=3600 > /dev/null 1&>2

Upgrading

Requirements

Same requirements and deploying

Procedure

  1. Remove all files except .env from the webserver
  2. Upload the new build to the webserver
  3. Run php bin/console doctrine:migrations:migrate to migrate the database

Common pitfalls

I can't do an automatic system upgrade!

Doing a system upgrade requires sudo which has a certain number security measurements. To enable running anything with sudo (eg. sudo apt dist-upgrade -y) the user needs to be able to run sudo without tty and password.

TL;DR