A Discord bot that monitors CurseForge mods and announces new releases to specified Discord channels.
To run CICDodo you'll need a bot that can send messages, follow these instructions to create one: https://discordpy.readthedocs.io/en/stable/discord.html
Before running the bot, you need to create a .env file with your configuration. Use the provided .env.example as a template:
# Copy the example environment file
cp .env.example .envThen edit the .env file with your settings:
MOD_IDS: Comma-separated list of CurseForge mod IDs to monitorDEBUG_CHANNEL_ID: Discord channel ID for debug messagesRELEASES_CHANNEL_ID: Discord channel ID for release announcementsBOT_TOKEN: Your Discord bot tokenCURSEFORGE_API_KEY: Your CurseForge API key- Additional optional settings are available in the
.env.examplefile
# docker-compose.yml
services:
bot:
image: ghcr.io/jordan-dalby/cicdodo:latest
volumes:
- ./releases:/app/releases/
env_file:
- .env
restart: unless-stopped# Pull and run the container
docker-compose up -d
# View logs
docker-compose logs -f# Run the container
docker run -d \
--name cicdodo \
--restart unless-stopped \
-v ./releases:/app/releases \
--env-file .env \
ghcr.io/jordan-dalby/cicdodo:latest- Access the Unraid Community Applications
- Search for "CICDodo"
- Click "Install"
- Configure the following variables:
- Discord Bot Token
- CurseForge API Key
- Debug Channel ID
- Releases Channel ID
- Mod IDs (comma-separated)
- Click "Apply"
The bot stores release information in the ./releases directory, which is mounted as a volume in both Docker configurations. This ensures that release tracking persists across container restarts.
docker-compose pull
docker-compose up -ddocker pull ghcr.io/jordan-dalby/cicdodo:latest
docker stop cicdodo
docker rm cicdodo
docker run -d \
--name cicdodo \
--restart unless-stopped \
-v ./releases:/app/releases \
--env-file .env \
ghcr.io/jordan-dalby/cicdodo:latestUpdates can be installed through the Unraid web interface when they become available.
