Join with ID and Passcode | Join with URL |
---|---|
The entire mechanism runs in a Docker container. So all you need to do is install Docker and use the image from Registry.
Docker images are build and pushed automatically to Docker Hub and GitHub Container Registry.
So you can choose and use one of them:
ghcr.io/kastldratza/zoomrec:master
kastldratza/zoomrec:latest
For my examples in this README I used kastldratza/zoomrec:latest
CSV must be formatted as in example/meetings.csv
weekday | time | duration | id | password | description | record |
---|---|---|---|---|---|---|
monday | 09:55 | 60 | 111111111111 | 741699 | Important_Meeting | true |
monday | 14:00 | 90 | 222222222222 | 321523 | Unimportant_Meeting | false |
tuesday | 17:00 | 90 | https://zoom.us/j/123456789?pwd=abc | Meeting_with_URL | true |
You can connect to zoomrec via vnc and see what is happening.
Hostname | Port | Password |
---|---|---|
localhost | 5901 | zoomrec |
Zoomrec can notify you via Telegram about starting and ending a recording or if joining a meeting failed. All you need is a bot token and a chat id of a Telegram channel.
At first create a new telegram bot to get the bot token. After that create a new channel and add the bot with sufficient permissions to write messages in that channel. Finally get the chat id of your channel and look below how to pass your Telegram details to Zoomrec.
To have access to the recordings, a volume is mounted, so you need to create a folder that container users can access.
[ IMPORTANT ]
mkdir -p recordings/screenshots
chown -R 1000:1000 recordings
mkdir -p audio
chown -R 1000:1000 audio
docker run -d --restart unless-stopped \
-e TZ=Europe/Berlin \
-v $(pwd)/recordings:/home/zoomrec/recordings \
-v $(pwd)/example/audio:/home/zoomrec/audio \
-v $(pwd)/example/meetings.csv:/home/zoomrec/meetings.csv:ro \
-p 5901:5901 \
--security-opt seccomp:unconfined \
kastldratza/zoomrec:latest
docker run -d --restart unless-stopped \
-e DEBUG=True \
-v $(pwd)/recordings:/home/zoomrec/recordings \
-v $(pwd)/example/audio:/home/zoomrec/audio \
-v $(pwd)/example/meetings.csv:/home/zoomrec/meetings.csv:ro \
-p 5901:5901 \
--security-opt seccomp:unconfined \
kastldratza/zoomrec:latest
docker run -d --restart unless-stopped \
-e TELEGRAM_BOT_TOKEN="YOUR_BOT_TOKEN" \
-e TELEGRAM_CHAT_ID="-100_YOUR_CHAT_ID" \
-v $(pwd)/recordings:/home/zoomrec/recordings \
-v $(pwd)/example/audio:/home/zoomrec/audio \
-v $(pwd)/example/meetings.csv:/home/zoomrec/meetings.csv:ro \
-p 5901:5901 \
--security-opt seccomp:unconfined \
kastldratza/zoomrec:latest
docker run -d --restart unless-stopped \
-e DISPLAY_NAME="zoomrec" \
-v $(pwd)/recordings:/home/zoomrec/recordings \
-v $(pwd)/example/audio:/home/zoomrec/audio \
-v $(pwd)/example/meetings.csv:/home/zoomrec/meetings.csv:ro \
-p 5901:5901 \
--security-opt seccomp:unconfined \
kastldratza/zoomrec:latest
docker run -d --restart unless-stopped \
-v %cd%\recordings:/home/zoomrec/recordings \
-v %cd%\example\audio:/home/zoomrec/audio \
-v %cd%\example\meetings.csv:/home/zoomrec/meetings.csv:ro \
-p 5901:5901 \
--security-opt seccomp:unconfined \
kastldratza/zoomrec:latest
docker run -d --restart unless-stopped `
-v ${PWD}/recordings:/home/zoomrec/recordings `
-v ${PWD}/example/audio:/home/zoomrec/audio `
-v ${PWD}/example/meetings.csv:/home/zoomrec/meetings.csv:ro `
-p 5901:5901 `
--security-opt seccomp:unconfined `
kastldratza/zoomrec:latest
docker run -d --restart unless-stopped \
-v $(pwd)/recordings:/home/zoomrec/recordings \
-v $(pwd)/example/audio:/home/zoomrec/audio \
-v $(pwd)/example/meetings.csv:/home/zoomrec/meetings.csv:ro \
-p 5901:5901 \
--security-opt seccomp:unconfined \
kastldratza/zoomrec:latest
# Switch to example directory
cd example
# Build new image by customized Dockerfile
docker build -t kastldratza/zoomrec-custom:latest .
# Run image without mounting meetings.csv and audio directory
# Linux
docker run -d --restart unless-stopped -v $(pwd)/recordings:/home/zoomrec/recordings -p 5901:5901 --security-opt seccomp:unconfined kastldratza/zoomrec-custom:latest
# Windows / PowerShell
docker run -d --restart unless-stopped -v ${PWD}/recordings:/home/zoomrec/recordings -p 5901:5901 --security-opt seccomp:unconfined kastldratza/zoomrec-custom:latest
# Windows / cmd
docker run -d --restart unless-stopped -v %cd%\recordings:/home/zoomrec/recordings -p 5901:5901 --security-opt seccomp:unconfined kastldratza/zoomrec-custom:latest
Create unittests for different use cases:
Feel free. However, if you want to support me and my work, I have some crypto addresses here.
name | address |
---|---|
Bitcoin (BTC) | show |
Ethereum (ETH) | show |
Dogecoin (DOGE) | show |
Cardano (ADA) | show |
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.