{"id":19762659,"url":"https://github.com/opensooq/diglett","last_synced_at":"2025-04-30T14:31:08.764Z","repository":{"id":90375713,"uuid":"60609718","full_name":"OpenSooq/Diglett","owner":"OpenSooq","description":"Diglett is a cron management system that manage all your cron jobs without modifying crontab. Handles locking, logging, error emails, and more.","archived":false,"fork":false,"pushed_at":"2017-06-09T08:27:02.000Z","size":134,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-10-29T16:21:26.481Z","etag":null,"topics":["cron","cron-manager","handles-locking","notifications","systemd-service"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenSooq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-06-07T11:59:47.000Z","updated_at":"2022-09-16T12:23:47.000Z","dependencies_parsed_at":"2023-06-15T20:15:41.575Z","dependency_job_id":null,"html_url":"https://github.com/OpenSooq/Diglett","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSooq%2FDiglett","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSooq%2FDiglett/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSooq%2FDiglett/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenSooq%2FDiglett/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenSooq","download_url":"https://codeload.github.com/OpenSooq/Diglett/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224214135,"owners_count":17274524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cron","cron-manager","handles-locking","notifications","systemd-service"],"created_at":"2024-11-12T04:06:10.350Z","updated_at":"2024-11-12T04:06:11.142Z","avatar_url":"https://github.com/OpenSooq.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Diglett\nA cron management system that manage all your cronjobs over multiple servers without modifying crontab. Handles locking, logging, and more.\n\n\n\n![screen shot 2016-06-15 at 10 38 34 pm](https://cloud.githubusercontent.com/assets/4533327/16156450/fd6a956a-34bc-11e6-9cb5-15c9a236772e.png)\n\nYou can choose any project you have and see all crons with time of execution and last status of every cron. In addition to manage these crons via UI. \n\n\u003cimg width=\"981\" alt=\"screen shot 2016-06-17 at 6 58 50 pm\" src=\"https://cloud.githubusercontent.com/assets/4533327/16156559/8e663f56-34bd-11e6-99f1-48b297cd24f3.png\"\u003e\n\nYou can broadcast your task to all your servers. \n\n![screen shot 2016-06-15 at 10 39 21 pm](https://cloud.githubusercontent.com/assets/4533327/16156543/7c52f458-34bd-11e6-8de1-897b5b236d1f.png)\n\nRead More \n--------------------\nOn Opensooq Engineering Blog : http://engineering.opensooq.com/manage-cronjobs-over-multiple-servers/\n\nAlerting\n--------------------\nDiglett uses two methods of alerting for now, Email and Push Notifications.\n\n### Emails\n\nMainly depends on mail-utlis on linux system, therefore it should be installed on your Diglett Server.\n\n### Push Notification\n\nFor now, Diglett is using only one push notification backend called SimplePush. To use it, you should install the application on your Android and insert the key in config.ini file.\n\nAlso, you can disable the push notification feature from the same file.\n\n## What's New\n-------------------\nDiglett now has a systemD service that monitor active hosts and change them in case of faliures.\n\nInstallation\n--------------------\nThis guide is orianted to CentOS/Fedora Systems.\n\n- Install Nginx as a webserver and Mongodb as DB.\n```\n$ sudo yum update -y\n$ sudo yum install -y nginx git mongodb-server mongodb\n```\n\n- Clone diglett\n```\n$ git clone https://github.com/OpenSooq/Diglett.git ~/diglett\n```\n- Copy systemd service file and nginx configuration file.\n```\n$ sudo cp ~/diglett/examples/diglett@.service /etc/systemd/system/\n$ sudo cp ~/diglett/examples/nginx.conf /etc/nginx/conf.d/diglett.conf\n```\n- Install required packages\n```\n$ cat ~/diglett/requirements.txt | grep -v ^# | xargs sudo dnf install -y\n$ sudo yum install python-pip \u0026\u0026 sudo pip install pymongo==3.0.0\n```\n\n- Change the UID and GID in uwsgi.ini and in diglett@.service :\n```\n$ vim ~/diglett/uwsgi.ini and change the following :\n...\nuid = username\ngid = username\n...\n$ sudo vim /etc/systemd/system/diglett@.service\n...\nUser= username\nGroup= username\n...\n```\n- Change the admin user to a user that has root/sudo access to all servers.\n```\n$ vim  ~/diglett/config.ini\n...\n[manager]\nadmin= username\nmanager_url= http://PROJECT_IP\n...\n```\n- Initialize the database\n```\n$ mongo diglett \u003c examples/initialize_db.js\n```\n- Start and enable services :\n```\n$ sudo systemctl enable nginx \u0026\u0026 sudo systemctl start nginx\n$ sudo systemctl enable mongod \u0026\u0026 sudo systemctl start mongod\n$ sudo systemctl start diglett@3030\n```\n- Start the Diglett-WatchDog service\n```\n$ sudo cp ~/diglett/examples/diglett-watchdog.service /etc/systemd/system/\n$ systemctl enable diglett-watchdog.service \n$ systemctl start diglett-watchdog.service \n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensooq%2Fdiglett","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopensooq%2Fdiglett","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensooq%2Fdiglett/lists"}