dockerize
This commit is contained in:
97
DOCKER.md
Normal file
97
DOCKER.md
Normal file
@ -0,0 +1,97 @@
|
||||
# Docker Deployment for Discord-Jellyseerr Bot
|
||||
|
||||
This document contains instructions for deploying the Discord-Jellyseerr Bot using Docker.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Docker installed on your host machine
|
||||
- Docker Compose installed on your host machine
|
||||
- A valid Discord bot token
|
||||
- Access to a Jellyseerr instance
|
||||
|
||||
## Deployment Steps
|
||||
|
||||
### 1. Configure Environment Variables
|
||||
|
||||
Make sure your `.env` file is properly configured with the following variables:
|
||||
|
||||
```
|
||||
# Discord Bot Token (required)
|
||||
DISCORD_BOT_TOKEN=your_discord_bot_token_here
|
||||
|
||||
# Bot command prefix (default is !)
|
||||
BOT_PREFIX=!
|
||||
|
||||
# Jellyseerr Configuration (required)
|
||||
JELLYSEERR_URL=http://your-jellyseerr-instance:5055
|
||||
JELLYSEERR_EMAIL=your_jellyseerr_email@example.com
|
||||
JELLYSEERR_PASSWORD=your_jellyseerr_password
|
||||
|
||||
# Notification Settings
|
||||
# Set to 'true' to enable notifications for these events
|
||||
NOTIFY_REQUEST_APPROVED=true
|
||||
NOTIFY_REQUEST_DECLINED=true
|
||||
NOTIFY_MEDIA_AVAILABLE=true
|
||||
|
||||
# Notification Channel ID (leave empty to disable notifications)
|
||||
NOTIFICATION_CHANNEL_ID=your_channel_id_here
|
||||
|
||||
# UI Settings
|
||||
EMBED_COLOR=0x3498db
|
||||
```
|
||||
|
||||
### 2. Build and Deploy with Docker Compose
|
||||
|
||||
Run the following command in the project directory to build and start the bot:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
This will:
|
||||
- Build the Docker image for the bot
|
||||
- Start the container in detached mode
|
||||
- Mount the project directory to the container
|
||||
- Mount the logs directory for persistent logs
|
||||
|
||||
### 3. View Logs
|
||||
|
||||
You can view the logs of the running container with:
|
||||
|
||||
```bash
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### 4. Stop the Bot
|
||||
|
||||
To stop the bot, run:
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
### 5. Update the Bot
|
||||
|
||||
To update the bot after making changes to the code:
|
||||
|
||||
```bash
|
||||
docker-compose build
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Persistent Data
|
||||
|
||||
The Docker setup mounts the following directories for persistent data:
|
||||
- The entire project directory for easy updates
|
||||
- The logs directory to retain log files
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you encounter issues:
|
||||
|
||||
1. Check the logs using `docker-compose logs -f`
|
||||
2. Verify your `.env` file has the correct credentials
|
||||
3. Ensure your Discord bot token is valid
|
||||
4. Confirm you can access your Jellyseerr instance from the Docker host
|
||||
|
||||
For authentication issues, verify that the Jellyseerr user account has the necessary permissions and that local authentication is enabled in Jellyseerr.
|
Reference in New Issue
Block a user