{"id":17536482,"url":"https://github.com/arawa/divims","last_synced_at":"2025-07-24T10:07:18.297Z","repository":{"id":176685615,"uuid":"655611279","full_name":"arawa/divims","owner":"arawa","description":"DiViM-S (or divims) is an opensource orchestrator and autoscaler for BigBlueButton pools behind a Scalelite server","archived":false,"fork":false,"pushed_at":"2025-03-26T15:34:28.000Z","size":1441,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-04T20:09:15.046Z","etag":null,"topics":["autoscaler","autoscaling","bbb","bigbluebutton","orchestrator","scalelite"],"latest_commit_sha":null,"homepage":"https://www.arawa.fr/solutions/produits-arawa/arawa-divims-for-bigbluebutton/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arawa.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","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-06-19T08:46:06.000Z","updated_at":"2025-03-26T15:34:32.000Z","dependencies_parsed_at":"2023-10-11T21:13:36.754Z","dependency_job_id":"ff7bcc7f-8439-443c-9ca1-af6643ee6375","html_url":"https://github.com/arawa/divims","commit_stats":null,"previous_names":["arawa/divims"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arawa%2Fdivims","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arawa%2Fdivims/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arawa%2Fdivims/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arawa%2Fdivims/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arawa","download_url":"https://codeload.github.com/arawa/divims/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248797319,"owners_count":21163117,"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":["autoscaler","autoscaling","bbb","bigbluebutton","orchestrator","scalelite"],"created_at":"2024-10-20T20:00:52.564Z","updated_at":"2025-04-13T23:33:32.105Z","avatar_url":"https://github.com/arawa.png","language":"PHP","funding_links":[],"categories":["PHP","Server administration"],"sub_categories":["Video Management"],"readme":"# ![DiViMS logo](https://www.arawa.fr/wp-content/uploads/2022/11/logo-divims-1-90x90.png.webp) DiViMS - a BigBlueButton orchestrator\n\nDiViMS (or divims) is an opensource orchestrator for [BigBlueButton](https://docs.bigbluebutton.org/) and [Scalelite](https://github.com/blindsidenetworks/scalelite)\n\nIt allows auto-scaling your BBB infrastructure according to the observed load or a forecasted schedule and simultaneously reducing your hosting costs.\n\nCurrently compatible with [Scaleway](https://www.scaleway.com) hosting.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://www.arawa.fr/wp-content/uploads/2023/06/presentation-arawa-divims.png.webp\" alt=\"Divims visual explanation\"\u003e\n\u003c/p\u003e\n\n## How it works\nA CRON job launches a Docker container every 5 minutes (recommended). This container runs a PHP7 app that connects to your Scalelite's pool :\n- Queries Scalelite to retrieve load information (number of participants, meetings and load)\n- Queries each BBB server for system and recordings processing information\n- Makes decision on whether BBB servers should be halted or started\n- Acts on hosting infrastructure (currently only Scaleway) to start (clone) or delete virtual machines\n- Acts on Scalelite to enable, drain or disable BBB servers\n- Sends warnings and alerts to an email address\n\nYou'll find a presentation of DiViMS at BBB World 2022 on Youtube : https://www.youtube.com/watch?v=S35ZNiOtaek\n\n## Requirements\n\nDiViM-s requires a pool of BigBlueButton servers managed by a [Scalelite](https://github.com/blindsidenetworks/scalelite) server.\nDiViM-S code can reside on the same server as Scalelite : independence is guaranteed by Docker.\n\nTo run DiViM-S you should install these dependencies :\n\n- docker-ce\n\n## How to run\n### Build the required docker image\n\n```bash\ndocker build --tag php:parallel --build-arg PUID=$(id -u) --build-arg PGID=$(id -g) --build-arg USER=$(id -un) .\n```\n\n### Add a BBB pool\n\n```\nmkdir -p config/project/\u003cpool-name\u003e\ncp config/config.default.php config/project/\u003cpool-name\u003e/config.php\n```\n\nModify your pool's `config.php` to your needs\n\n### Run\nModify `main.php` to your needs and start app :\n\n```bash\n$ docker container run --rm -v $(pwd):/app/ php:parallel php /app/main.php\n```\n\n## Troubleshooting\n\n### Logger\n\nYou can use the `logger` class to print debug message on the docker console.\n\nTo enable debug mode, use `Logger::DEBUG` as second parameter of `pushHandler` method.\n\nExample :\n\n```php\n$logger-\u003epushHandler(new StreamHandler('php://stdout', Logger::DEBUG));\n```\n\n## Additional Help\n\nIf you need assistance, require a further development (such as develop compatibility with your prefered cloud), you can contact Arawa to learn about professional services to support your project.\n\nPlease visit [project page on Arawa's website](https://www.arawa.fr/solutions/produits-arawa/arawa-divims-for-bigbluebutton/) (French content) or [contact us](https://www.arawa.fr/contact/).\n\n## Sponsors\n\n\u003cimg src=\"https://www.education.gouv.fr/sites/default/files/site_logo/2024-12/MENESR.png\" width=\"100\" /\u003e  \u003ca href=\"https://www.education.gouv.fr/direction-du-numerique-pour-l-education-dne-9983\" alt=\"Site de la Direction du Numérique pour l'Éducation\"\u003eMinistère de l'Éducation Nationale française (Direction du Numérique pour l'Éducation)\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farawa%2Fdivims","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farawa%2Fdivims","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farawa%2Fdivims/lists"}