This is the container that runs on https://slack.bazel.build/.

To update the invite link, simply push a new commit to the `master` branch. The Cloud Run service monitors this GitHub repo and will update the serving image accordingly.
