Public | Automated Build

Last pushed: 3 months ago
Short Description
iroffer-dinoex mod XDCC Bot with cUrl, GeoIP, Ruby & UPnP support in a container~
Full Description


An IRC File Server using DCC: iroffer mod dinoex

Compiled with cUrl, GeoIP, Ruby & UPnP.


docker create --name=iroffer \
--net=host \
-v <path to config>:/config \
-v <path to files>:/files \
-p 30000-31000:30000-31000 \


  • -v /config Where we look for mybot.config
  • -v /files Local path for files
  • -p 30000-31000 The port(s)

Initial Run:

Upon first run, you will find a sample config named mybot.config.

By default (with the sample config) the bot will connect to the Rizon IRC Network.

This is done as a way to verify that the bot can connect.

Make your edits to mybot.config and re-run. Pay special attention to volumes and their file paths!

If mybot.config already exists, then that file will be loaded instead.

Generating a password hash:

If you need to hash a password, run docker run -it avluis/iroffer -c.

Follow the prompts to generate your password hash.

You can include the path to your config if desired (appends the hash to file):

docker run -it avluis/iroffer -c /config/mybot.config


You don't need to open every port defined above.

Just create as many as you think you will need (x amount of connections).

Make certain to start container with host flag; NAT & DCC don't mix very well.

You can try enabling UPnP mode if you can't enable host networking for your container.

Organizing Files:

Additional volumes can be mounted and then defined in the mybot.config file if needed.

This is done by appending additional volume mount flags when creating/running this image.


docker create --name=iroffer \
--net=host \
-v <path to config>:/config \
-v <path to files>:/files \
-v <path to more-file>:/more-files
-p 30000-31000:30000-31000 \

You can add as many volume mounts as you need.

Environment Variables:

This image makes use of environment variables to allow for customization if needed.

These variables match what is used on the sample mybot.config while building the image.

The only variable to pay special attention to is IROFFER_CONFIG_DIR.

This variable takes care of pointing iroffer to mybot.config so it is recommended to leave as is.

If your volume mounting structure differs from default then you need to define this variable:

docker create --name=iroffer \
--net=host \
-e <alt-path to config>:/alt-path/config \
-v <alt-path to config>:/alt-path/config \
-v <path to files>:/files \
-p 30000-31000:30000-31000 \

The same applies to IROFFER_DATA_DIR, IROFFER_LOG_DIR and several other variables.


Make certain that you update the paths in mybot.config when setting IROFFER_DATA_DIR and IROFFER_LOG_DIR.

You will also need to update the path entries for pidfile, logfile, statefile and xdcclistfile.

Make certain to updates the paths for any features that you have enabled as well.

If you don't care for logs, you can disable them by prefixing # to logfile in mybot.config (line 23).

This applies to all other features -- so make certain to look over mybot.config before adding files or joining a channel.

Additional commands:

Version: docker run -it avluis/iroffer -v

Help: docker run -it avluis/iroffer -?|-h

Bypass EntryPoint: docker run -it --entrypoint /bin/bash avluis/iroffer

Docker Pull Command
Source Repository