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:
26
Dockerfile
Normal file
26
Dockerfile
Normal 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
|
||||||
13
docker-compose.yml
Normal file
13
docker-compose.yml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
version: "3.8"
|
||||||
|
services:
|
||||||
|
omnibot:
|
||||||
|
#image: "elixir:1.10"
|
||||||
|
build: .
|
||||||
|
#environment:
|
||||||
|
#MIX_ENV: prod
|
||||||
|
env_file: docker.env
|
||||||
|
volumes:
|
||||||
|
- ".:/app"
|
||||||
|
working_dir: "/app"
|
||||||
|
restart: always
|
||||||
|
#entrypoint: "mix local.hex --force; mix run --no-halt"
|
||||||
2
docker.env
Normal file
2
docker.env
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
MIX_ENV=prod
|
||||||
|
OMNIBOT_CONFIG="omnibot.exs"
|
||||||
Reference in New Issue
Block a user