{"id":15020040,"url":"https://github.com/rkoschmitzky/monokel","last_synced_at":"2026-01-21T21:33:17.995Z","repository":{"id":95249059,"uuid":"593407745","full_name":"rkoschmitzky/monokel","owner":"rkoschmitzky","description":"A simple but flexible and containerized observer pipeline for filesystem events featured by docker.","archived":false,"fork":false,"pushed_at":"2023-02-07T23:30:34.000Z","size":48,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-28T15:04:43.763Z","etag":null,"topics":["docker","docker-compose","events","pipeline","python","watchdog"],"latest_commit_sha":null,"homepage":"","language":"Python","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/rkoschmitzky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-25T23:14:55.000Z","updated_at":"2023-05-19T12:53:56.000Z","dependencies_parsed_at":"2023-04-26T15:46:41.683Z","dependency_job_id":null,"html_url":"https://github.com/rkoschmitzky/monokel","commit_stats":{"total_commits":32,"total_committers":1,"mean_commits":32.0,"dds":0.0,"last_synced_commit":"4dd401547ac4a33430f7f050d478bed260ab9f21"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rkoschmitzky/monokel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkoschmitzky%2Fmonokel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkoschmitzky%2Fmonokel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkoschmitzky%2Fmonokel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkoschmitzky%2Fmonokel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rkoschmitzky","download_url":"https://codeload.github.com/rkoschmitzky/monokel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkoschmitzky%2Fmonokel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28644094,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T21:29:11.980Z","status":"ssl_error","status_checked_at":"2026-01-21T21:24:31.872Z","response_time":86,"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":["docker","docker-compose","events","pipeline","python","watchdog"],"created_at":"2024-09-24T19:54:30.333Z","updated_at":"2026-01-21T21:33:17.979Z","avatar_url":"https://github.com/rkoschmitzky.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monokel\nMonokel sits on top of [Watchdog](https://pythonhosted.org/watchdog/) and exposes an easy way on how to register filesystem event handlers that will eventually run inside a [Docker](https://www.docker.com/) container.\n\n## Install\n\nInstall and update using [pip](https://pip.pypa.io/en/stable/getting-started/):\n\n```\n$ pip install -U monokel\n```\n\n## Getting Started\n\n### The build step\nTo run an event loop that observes filesystem events from within the container we have to configure and build the actual docker-compose file first.\n\nMonokel provides a build command that will do most of that for you and creates everything the resulting compose file needs to set up the final service. \n\n```\n$ monokel build --help\n```\n\nThere are components you can optionally provide and a mandatory one - the python file we call **_the config_**.\n\n### The (python) config\nThe idea of **_the config_** is to provide a single entry point as a file for the event loop that will eventually run within the docker container. It defines what [Observer](https://pythonhosted.org/watchdog/api.html#module-watchdog.observers) to run and which [EventHandlers](https://pythonhosted.org/watchdog/api.html#module-watchdog.events) to schedule for given paths. \n\nAs your eventhandlers might become very specific and require external packages it is by intention that you can make use of them from within the config as long as they can be found in PYPI and installed via pip. See [config requirements](https://github.com/rkoschmitzky/monokel/blob/main/README.md#the-config-requirements).\n\nThe config file itself can have any name as you can provide the location to the script path.\n\n### The config requirements\nTBC...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frkoschmitzky%2Fmonokel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frkoschmitzky%2Fmonokel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frkoschmitzky%2Fmonokel/lists"}