{"id":24922823,"url":"https://github.com/gorzechowski/gwatchd","last_synced_at":"2025-03-28T11:16:32.870Z","repository":{"id":33503945,"uuid":"37149905","full_name":"gorzechowski/gwatchd","owner":"gorzechowski","description":null,"archived":false,"fork":false,"pushed_at":"2017-03-22T14:40:00.000Z","size":1865,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-02T11:33:45.334Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gorzechowski.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-09T18:19:25.000Z","updated_at":"2022-02-15T21:43:19.000Z","dependencies_parsed_at":"2022-08-07T22:00:20.118Z","dependency_job_id":null,"html_url":"https://github.com/gorzechowski/gwatchd","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorzechowski%2Fgwatchd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorzechowski%2Fgwatchd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorzechowski%2Fgwatchd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorzechowski%2Fgwatchd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorzechowski","download_url":"https://codeload.github.com/gorzechowski/gwatchd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246017722,"owners_count":20710240,"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":[],"created_at":"2025-02-02T11:33:49.190Z","updated_at":"2025-03-28T11:16:32.846Z","avatar_url":"https://github.com/gorzechowski.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/gorzechowski/gwatchd.svg?branch=master)](https://travis-ci.org/gorzechowski/gwatchd)\n\n# GWatchD - Watcher Daemon\n\n## Description\nGWatchD uses inotify/kqueue to monitor file system events. If an event occur, it executes processes (called \"job\") assigned to directory in which watcher reported any change.\n\nEach job is a plugin which has own config file located in `config/job` dir with name like `\u003cjob_name\u003e.json`, for example `synchronize.json`. Daemon also has own config file: `config/config.json`.\n\nLogs can be found in `logs` and `logs/job` dirs. Daemon and plugins have separate log files (just like config files).\n\n## Available jobs\n- [**Command**](https://github.com/gorzechowski/gwatchd/blob/master/docs/command-job.md)\n- [**Synchronize**](https://github.com/gorzechowski/gwatchd/blob/master/docs/synchronize-job.md)\n\n## Daemon configuration\n\nOptional properties:\n\n| Property                                  | Description                                |\n| ----------------------------------------: | ------------------------------------------ |\n| log.maxFileSize `\u003cinteger\u003e`: 5120         | Max size of daemon log file in kilobytes   |\n| log.dirPath `\u003cstring\u003e`: logs              | Path where daemon and jobs logs are stored |\n| socket.address `\u003cstring\u003e`                 | Websocket server listen address. If empty, server will not be initialized. |\n| socket.port `\u003cinteger\u003e`                   | Websocket server listen port. If empty, server will not be initialized. |\n\nExample config:\n```json\n{\n    \"log\": {\n        \"maxFileSize\": 10000,\n        \"dirPath\": \"/home/user/logs/gwatchd\"\n    },\n    \"socket\": {\n        \"address\": \"127.0.0.1\",\n        \"port\": 8080\n    }\n}\n```\n\n## License\n[GPLv2](http://www.fsf.org/licensing/licenses/info/GPLv2.html) or any later GPL version.\n\n## Disclaimer\nBesides the usual disclaimer in the license, we want to specifically emphasize that neither the authors nor any organization the authors are associated with can and will hold responsible for data-loss caused by possible malfunctions of GWatchD.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgorzechowski%2Fgwatchd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgorzechowski%2Fgwatchd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgorzechowski%2Fgwatchd/lists"}