3.8 KiB
Docker usage instructions
Docker distribution of DiscordChatExporter provides a way to run the app in a virtualized and isolated environment. Due to the nature of Docker, you also don't need to install any prerequisites otherwise required by DCE.
Note: Only the CLI flavor of DiscordChatExporter is available for use with Docker.
Pulling
This will download the Docker image from the registry to your computer. You can run this command again to update when a new version is released.
docker pull tyrrrz/discordchatexporter:stable
Note the :stable
tag. DiscordChatExporter images are tagged according to the following patterns:
stable
— latest stable version release. This tag is updated with each release of a new project version. Recommended for personal use.x.y.z
(e.g.2.30.1
) — specific stable version release. This tag is pushed when the corresponding version is released and never updated thereafter. Recommended for use in automation scenarios.latest
— latest (potentially unstable) build. This tag is updated with each new commit to themaster
branch. Not recommended, unless you want to test a new feature that has not been released in a stable version yet.
You can see all available tags here.
Usage
To run the CLI in Docker and render help text:
docker run --rm tyrrrz/discordchatexporter:stable
To export a channel:
docker run --rm -v /path/on/machine:/out tyrrrz/discordchatexporter:stable export -t TOKEN -c CHANNELID
If you want colored output and real-time progress reporting, pass the -it
(interactive + pseudo-terminal) option:
docker run --rm -it -v /path/on/machine:/out tyrrrz/discordchatexporter:stable export -t TOKEN -c CHANNELID
The -v /path/on/machine:/out
option instructs Docker to bind the /out
directory inside the container to a path on your host machine. Replace /path/on/machine
with the directory you want the files to be saved at.
Note: If you are running SELinux, you will need to add the
:z
option after/out
, e.g.:docker run --rm -v /path/on/machine:/out:z tyrrrz/discordchatexporter:stable export -t TOKEN -c CHANNELID
For more information, refer to the Docker docs SELinux labels for bind mounts page.
You can also use the current working directory as the output directory by specifying:
-v $PWD:/out
in Bash-v $pwd.Path:/out
in PowerShell
For more information, please refer to the Dockerfile and Docker documentation.
To get your Token and Channel IDs, please refer to this page.
Unix permissions issues
This image was designed with a user running as uid:gid of 1000:1000.
If your current user has different IDs, and you want to generate files directly editable for your user, you might want to run the container like this:
mkdir data # or chown -R $(id -u):$(id -g) data
docker run -it --rm -v $PWD/data:/out --user $(id -u):$(id -g) tyrrrz/discordchatexporter:stable export -t TOKEN -g CHANNELID
Environment variables
DiscordChatExpoter CLI accepts the DISCORD_TOKEN
environment variable as a fallback for the --token
option. You can set this variable either with the --env
Docker option or with a combination of the --env-file
Docker option and a .env
file.
Please refer to the Docker documentation for more information.