Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds Docker support (cross-platform) #93

Open
wants to merge 33 commits into
base: rewrite
Choose a base branch
from

Conversation

Dids
Copy link

@Dids Dids commented Apr 23, 2020

  • Adds Docker images for both Linux and Windows (all files are under docker/)
  • Adds GitHub Actions CI workflow for building and publishing the Docker images (currently builds for both commits and PRs, but only deploys for commits, tagging the images with the branch name or commit hash)
  • Modifies Music.py to optionally read Lavalink settings from the config file
  • Modifies Settings.py to optionally read custom Settings.json and Settings-Backup paths from the config file

Note that this is currently only compatible with the rewrite branch, but support for databases (Redis, MongoDB etc.) should be trivial to add to the appropriate branch later.

Dids added 30 commits March 23, 2020 13:28
Bot now runs inside a small(ish) Alpine linux image, with support for Lavalink as the music player. All features have not been tested, and the audio quality/experience may require further testing/tweaking. Support for Windows containers is also planned, but no ETA yet.
Added optional settings dict values for configuring Lavalink
Mounting Settings.json is the only confirmed not working thing right now, everything else seems to work
Added optional settings_dict overrides for both Settings.json and Settings-Backup. This allows the important/persisted data to be separate, but also allows the Docker integration to work better with how the bot stores files etc.
Docker will now default to storing bot data under /data (inside the container), which can easily be mounted in any environment.
- CI will now build both pushes (commits) and pull requests
- CI will only deploy images for pushes (commits)
- CI will attempt to use the current branch name for the tag, falling back to the commit hash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant