Initial push
This commit is contained in:
133
DOCKER-GUIDE.md
Normal file
133
DOCKER-GUIDE.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# Docker Guide for Cat Bot
|
||||
|
||||
This guide will help you run the Discord cat bot using Docker, which provides an isolated and consistent environment for the bot to run.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [Docker](https://docs.docker.com/get-docker/) installed on your system
|
||||
- [Docker Compose](https://docs.docker.com/compose/install/) installed on your system
|
||||
- A valid Discord bot token in your `.env` file
|
||||
|
||||
## Setup
|
||||
|
||||
1. Make sure your `.env` file is properly configured with your Discord bot token and other settings:
|
||||
|
||||
```
|
||||
DISCORD_TOKEN=your_discord_bot_token
|
||||
|
||||
# Message response chance (0-100)
|
||||
MESSAGE_RESPONSE_CHANCE=10
|
||||
|
||||
# Voice channel settings
|
||||
MIN_VOICE_JOIN_INTERVAL=300
|
||||
MAX_VOICE_JOIN_INTERVAL=1800
|
||||
MIN_VOICE_STAY_DURATION=60
|
||||
MAX_VOICE_STAY_DURATION=300
|
||||
MIN_VOICE_MEOW_INTERVAL=5
|
||||
MAX_VOICE_MEOW_INTERVAL=30
|
||||
|
||||
# Cat personalization
|
||||
CAT_PRONOUN=their
|
||||
```
|
||||
|
||||
2. Add your cat sound files to the `src/audio` directory (create it if it doesn't exist):
|
||||
- meow1.mp3
|
||||
- meow2.mp3
|
||||
- meow3.mp3
|
||||
- purr.mp3
|
||||
- hiss.mp3
|
||||
- yowl.mp3
|
||||
|
||||
## Running the Bot
|
||||
|
||||
### Easy Method
|
||||
|
||||
Use the included helper script:
|
||||
|
||||
```bash
|
||||
# Make it executable
|
||||
chmod +x run-docker.sh
|
||||
|
||||
# Run it
|
||||
./run-docker.sh
|
||||
```
|
||||
|
||||
This script will set the correct user permissions, build, and run the container showing logs.
|
||||
|
||||
### Manual Method
|
||||
|
||||
From the project root directory:
|
||||
|
||||
```bash
|
||||
# Export your user ID and group ID
|
||||
export UID=$(id -u)
|
||||
export GID=$(id -g)
|
||||
|
||||
# Start the container
|
||||
docker-compose up -d
|
||||
|
||||
# View logs
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### Stopping the Bot
|
||||
|
||||
To stop the bot:
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
## Updating the Bot
|
||||
|
||||
If you make changes to the bot code:
|
||||
|
||||
1. Stop the bot: `docker-compose down`
|
||||
2. Rebuild the image: `docker-compose build`
|
||||
3. Start the bot again: `docker-compose up -d`
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Audio File Issues
|
||||
|
||||
If the bot isn't playing sounds in voice channels:
|
||||
|
||||
1. Check that your audio files exist in the `src/audio` directory
|
||||
2. Verify they're in MP3 format and match the expected filenames
|
||||
3. Look at the container logs to see if the files are being detected:
|
||||
```bash
|
||||
docker-compose logs | grep "audio"
|
||||
```
|
||||
|
||||
### Bot Token Issues
|
||||
|
||||
If the bot can't connect to Discord:
|
||||
|
||||
1. Make sure your `.env` file is properly mounted in the container
|
||||
2. Check that your token is valid and privileged intents are enabled
|
||||
3. Verify logs for any connection errors:
|
||||
```bash
|
||||
docker-compose logs
|
||||
```
|
||||
|
||||
### File Permission Issues
|
||||
|
||||
If you encounter file permission problems:
|
||||
|
||||
1. Use the `run-docker.sh` script which sets proper user IDs
|
||||
2. Or manually set the user ID when running:
|
||||
```bash
|
||||
export UID=$(id -u) GID=$(id -g)
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Container Not Starting
|
||||
|
||||
If the container fails to start or continuously restarts:
|
||||
|
||||
1. Check the logs: `docker-compose logs`
|
||||
2. Verify your container has network access to reach Discord's servers
|
||||
3. Make sure you have ffmpeg installed in the container:
|
||||
```bash
|
||||
docker-compose exec cat-bot apk info | grep ffmpeg
|
||||
```
|
Reference in New Issue
Block a user