cicdodo

cicdodo

Docker app from data-jordan's Repository

Overview

CICDodo is a Discord bot interface for ARK: Survival Ascended mod creators who want to automatically send messages when new releases are approved

CICDodo

A Discord bot that monitors CurseForge mods and announces new releases to specified Discord channels.

Creating a Discord Bot

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

Configuration

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 .env

Then edit the .env file with your settings:

  • MOD_IDS: Comma-separated list of CurseForge mod IDs to monitor
  • DEBUG_CHANNEL_ID: Discord channel ID for debug messages
  • RELEASES_CHANNEL_IDS: Discord channel IDs for release announcements, separated by commas, the index of the mod ID will be used to determine which channel to post to
  • BOT_TOKEN: Your Discord bot token
  • CURSEFORGE_API_KEY: Your CurseForge API key
  • Additional optional settings are available in the .env.example file

Running the Bot

Option 1: Docker Compose (Recommended)

# 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

Option 2: Docker CLI

# Run the container
docker run -d \
  --name cicdodo \
  --restart unless-stopped \
  -v ./releases:/app/releases \
  --env-file .env \
  ghcr.io/jordan-dalby/cicdodo:latest

Option 3: Unraid

  1. Access the Unraid Community Applications
  2. Search for "CICDodo"
  3. Click "Install"
  4. Configure the following variables:
    • Discord Bot Token
    • CurseForge API Key
    • Debug Channel ID
    • Releases Channel ID
    • Mod IDs (comma-separated)
  5. Click "Apply"

Data Persistence

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.

Updating

Docker Compose

docker-compose pull
docker-compose up -d

Docker CLI

docker 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:latest

Unraid

Updates can be installed through the Unraid web interface when they become available.

Screenshot

Install Cicdodo on Unraid in a few clicks.

Find Cicdodo in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Cicdodo Review the template variables and paths Click Install

Related apps

Details

Repository
ghcr.io/jordan-dalby/cicdodo:latest
Last Updated2026-07-15
First Seen2024-12-12

Runtime arguments

Network
bridge
Shell
bash
Privileged
false

Template configuration

Releases DirectoryPathrw

Directory for release files

Target
/app/releases
Default
/mnt/user/appdata/cicdodo/releases
Value
/mnt/user/appdata/cicdodo/releases
Mod IDsVariable

Comma-separated list of CurseForge mod IDs to monitor

Target
MOD_IDS
Default
123456,789012
Debug Channel IDVariable

Discord channel ID for debug messages

Target
DEBUG_CHANNEL_ID
Releases Channel IDsVariable

Discord channel IDs for release announcements

Target
RELEASES_CHANNEL_IDS
Bot TokenVariable

Discord bot token

Target
BOT_TOKEN
Default
your_discord_bot_token_here
CurseForge API KeyVariable

CurseForge API key

Target
CURSEFORGE_API_KEY
Message TagVariable

Tag to use in announcement messages

Target
MESSAGE_TAG
Default
@everyone
Value
@everyone
Message HeaderVariable

Header template for announcement messages

Target
MESSAGE_HEADER
Default
Version {version} is now available!
Value
Version {version} is now available!
Message FooterVariable

Footer template for announcement messages

Target
MESSAGE_FOOTER
Default
Update now!
Value
Update now!
Show LogoVariable

Whether to show the mod logo in announcements

Target
SHOW_LOGO
Default
true
Value
true
Announce MessagesVariable

Whether to send announcement messages

Target
ANNOUNCE_MESSAGES
Default
true
Value
true
Log LevelVariable

Logging level (DEBUG, INFO, WARNING, ERROR)

Target
LOG_LEVEL
Default
INFO
Value
INFO
Debug ModeVariable

Enable debug mode

Target
DEBUG
Default
false
Value
false