No description
Find a file
2023-12-03 05:47:57 +01:00
.github/workflows Fix ambiguous Identifier 2023-08-25 18:20:37 +02:00
src Improve Log File Directory Structure 2023-12-03 05:47:57 +01:00
tests Initial commit 2023-07-29 22:48:38 +00:00
.gitignore Progress 2023-08-21 05:14:14 +02:00
debug.Dockerfile Improve Log File Directory Structure 2023-12-03 05:47:57 +01:00
docker-build-run-debug-local.sh Upgrade Meta 2023-10-19 22:58:29 +02:00
docker-compose.local.database.yml Re-Vamp Identification Hashing 2023-11-08 02:30:21 +01:00
docker-compose.local.yml Improve Log File Directory Structure 2023-12-03 05:47:57 +01:00
docker-compose.yml Improve Log File Directory Structure 2023-12-03 05:47:57 +01:00
Dockerfile Improve Log File Directory Structure 2023-12-03 05:47:57 +01:00
FAQ.md Confirm any Context has any Notification Target enabled 2023-11-09 17:57:17 +01:00
HOW-TO-ZOOM-API.md Add Tutorial explaining Retrieval of Zoom User ID 2023-08-10 00:06:50 +02:00
LICENSE Change Licence to AGPL 2023-08-14 22:28:23 +02:00
nim.cfg Add Redis Library 2023-08-04 22:25:08 +02:00
README.md Allow non-English Characters in Pattern Keywords 2023-11-08 03:40:28 +01:00
zoominvitr.nimble Improve Log File Directory Structure 2023-12-03 05:47:57 +01:00

Nimble

Source Language

Last Commit

Licence Liberapay patrons

What

Automatically invite peers to scheduled Zoom Meetings.

Why

No need for manual invitations.

How

First, check out how to get access to Zoom's API.

Second, prepare system for Redis.

option="vm.overcommit_memory=1"
sudo sysctl -w "{option}"
sudo echo "{option}" >> /etc/sysctl.conf

Thirdly, run the docker-compose.yml, after adjusting its values & setting up your personalised Zoom Meetings configuration. Make sure to set the user directive according to your needs. For example, if your OS user is of the name zoominvitr & is of the UID 1001, then adjust this in the docker-compose.yml file.

Now, create the storage tree.

id zoominvitr # uid=1001(zoominvitr) gid=1001(zoominvitr) groups=1001(zoominvitr)
su - zoominvitr
mkdir -p ./zoominvitr/database
mkdir -p ./zoominvitr/app
mkdir -p ./zoominvitr/logs

Where

Linux via Docker

Goals

  • Reliability

Project Status

Production

TODO

  • Support E-Mail
  • Add good enough keyword filter via configuration
  • Quit early on invalid configuration
  • Error out on duplicate patternKeywords across Contexts
  • Allow usage of multiple Zoom accounts for single Context
  • Add Documentation on how to setup Zoom API Access
  • Add Documentation on how to retrieve User ID
  • Change Licence to AGPL
  • Open Source
  • Verify automatic Docker Hub Deployment
  • Make SSL/TLS work on Alpine inside Docker
  • Optimise Docker Compose YAML files
  • Improve Error Handling on Database Connection Defect
  • Cache Zoom responses for 1, 12 or 24 hours
  • Minimise Zoom API call amount
  • Save Contexts in Database
  • Make Meta Options configurable via Configuration File
  • Fix ambiguous Identifier
  • Fix API Response Caching
  • Implement appVersion
  • Publish via Nimble
  • Do not force both patternKeywordsNo or patternKeywordsYes to exist; either is enough
  • Allow either a patternKeywordsNo or a patternKeywordsYes to be duplicated across contexts
  • Do not push for 3 days schedule if 7 days notification was already pushed within 3 days
  • Allow non-English characters in patternKeywordsNo and patternKeywordsYes
  • Publish Configuration File Documentation

License

Copyright © 2023 Akito the@akito.ooo

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.