# Discord Meeting Summary Bot — Deployment ## Local testing 1. Create a `.env` file: ```env DISCORD_BOT_TOKEN=your_discord_bot_token OPENROUTER_API_KEY=your_openrouter_api_key ``` 2. Run locally with Python: ```bash cd /opt/data/discord-meeting-bot source .venv/bin/activate python3 bot.py ``` 3. In Discord: - `/set_output #your-channel` - `/join` - talk in voice - `/leave` ## Docker / CasaOS This repository now includes: - `Dockerfile` - `docker-compose.yml` - `.dockerignore` ### Build and run with Docker Compose ```bash cd /opt/data/discord-meeting-bot docker compose up -d --build ``` ### Persistent data The compose file stores: - `config.json` — saved channel settings - `recordings/` — temporary meeting audio ### CasaOS setup In CasaOS, create a custom app from the compose file or use the Docker custom app UI and point it at this repo. Use a persistent directory like: ```text /DATA/AppData/discord-meeting-bot ``` Mount it so the container sees: - `/app/config.json` - `/app/recordings` Make sure the container gets these environment variables: - `DISCORD_BOT_TOKEN` - `OPENROUTER_API_KEY` ### Logs Check the container logs if something fails: ```bash docker compose logs -f ``` ## Notes - The bot only responds to commands in the configured output channel, except `/set_output`. - `/join` requires the user to be in a voice channel. - `/leave` stops recording and posts the summary to the configured output channel.