Add Dockerfile, docker-compose.yml, and docker.env

Omnibot can be run using Docker and docker-compose using the provided
files.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2020-08-18 15:17:53 -07:00
parent 5742bf52e2
commit 88bd7a6231
3 changed files with 41 additions and 0 deletions

26
Dockerfile Normal file
View File

@@ -0,0 +1,26 @@
FROM elixir:1.10
# XXX #
# Rust is required because of the "meeseeks" dependency because it uses a Rust
# library for some reason. I'll start looking for alternatives so we don't have
# to worry about installing it in the future because that is not a small
# dependency.
# It's impossible to pass a command line parameter (-y) to a shell script being
# read through stdin, so this line downloads, runs, and removes that script.
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /tmp/rustup.sh && \
chmod +x /tmp/rustup.sh && \
/tmp/rustup.sh -y && \
rm /tmp/rustup.sh
# Also set the PATH to include /root/.cargo/bin, where Rust was installed to
ENV PATH="/root/.cargo/bin:$PATH"
# END XXX #
RUN mkdir /app
WORKDIR /app
RUN mix local.hex --force
CMD mix run --no-halt