za419 / CadenceBot

A Discord bot for Cadence Radio
MIT License
2 stars 1 forks source link

Transfer to running via Docker #105

Open za419 opened 1 year ago

za419 commented 1 year ago

Since inception, CadenceBot has been running on AWS EC2 instances, because that was easy.

Now that Cadence itself is investing heavily into Docker, I think it's time to follow suit. Docker will confer numerous advantages, such as being able to test the bot locally (with some setup from Discord), and likely carry a lower cost to maintain instances. It also offers some interesting ideas for the future of integrating CadenceBot into the Cadence deployment, so that a new instance of Cadence can (optionally or always) come with a freshly configured bot instance which is already configured to talk to it.

This enhancement does not involve any new features - The build including this should be functionally equivalent to running the bot on AWS directly as of the previous merge.

I envision that this will likely only require sunsetting setup.sh and auto-setup.sh, heavily trimming down first-time-setup.sh if not removing it outright (these settings can become environment variables or parameters to the build step), and creating an appropriate Dockerfile to provide the service. As such, I consider this quick enough to be packaged in 1.6.0.

If this assumption turns out to be incorrect (for some reason, CadenceBot doesn't play nice within Docker or the Dockerfile is very difficult), it would be acceptable to defer this into a 1.7.0 release so we can have a v5-compatible official release ASAP.