mjolnir/mjolnir-entrypoint.sh
gnuxie 604c3f5f1c Change entrypoint in Dockerfile so that we can start the appservice.
We could have used another Dockerfile for the appservice,
extending the exising one but we decided not to because there
would have been lots of fiddling around the entrypoint
and logistics involved around adding a tag for it via github actions.
Not to mention that this would be duplicating the image
just to run it with a different binary.

This solution is much simpler, backwards compatible, and conscious about the future.
2022-11-15 17:05:30 +00:00

15 lines
777 B
Bash
Executable File

#!/bin/sh
# This is used as the entrypoint in the mjolnir Dockerfile.
# We want to transition away form people running the image without specifying `bot` or `appservice`.
# So if eventually cli arguments are provided for the bot version, we want this to be the opportunity to move to `bot`.
# Therefore using arguments without specifying `bot` (or appservice) is unsupported.
# We maintain the behaviour where if it looks like someone is providing an executable to `docker run`, then we will execute that instead.
# This aids configuration and debugging of the image if for example node needed to be started via another method.
case "$1" in
bot) shift; set -- node /mjolnir/index.js "$@";;
appservice) shift; set -- node /mjolnir/appservice/cli.js "$@";;
esac
exec "$@";