diff --git a/.gitignore b/.gitignore index 6a2e95c..a777481 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ /target -/token \ No newline at end of file +/token diff --git a/packaging/docker/.gitignore b/packaging/docker/.gitignore new file mode 100644 index 0000000..35de6cf --- /dev/null +++ b/packaging/docker/.gitignore @@ -0,0 +1 @@ +/docker-ruche-manager.tgz diff --git a/packaging/docker/Dockerfile b/packaging/docker/Dockerfile new file mode 100644 index 0000000..2a30447 --- /dev/null +++ b/packaging/docker/Dockerfile @@ -0,0 +1,11 @@ +# syntax=docker/dockerfile:1 +FROM denoland/deno:1.46.1 + +USER deno + +COPY --from=project src /ruche-manager/src +COPY --from=project modules.conf /ruche-manager/modules.conf +WORKDIR /ruche-manager +RUN deno cache /ruche-manager/src/bot.ts + +ENTRYPOINT [ "/ruche-manager/src/bot.ts", "/token" ] diff --git a/packaging/docker/build.sh b/packaging/docker/build.sh new file mode 100755 index 0000000..1d56eb3 --- /dev/null +++ b/packaging/docker/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -e +cd "$(dirname "$(realpath "$0")")" + + +project_dir="$(dirname "$(dirname "$PWD")")" +tag="ruche-manager/ruche-manager:latest" + + +docker build --tag="$tag" --build-context=project="$project_dir" . +docker image save --output="docker-ruche-manager.tgz" "$tag" diff --git a/packaging/docker/run.sh b/packaging/docker/run.sh new file mode 100755 index 0000000..16f138e --- /dev/null +++ b/packaging/docker/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e +cd "$(dirname "$(realpath "$0")")" + + +project_dir="$(dirname "$(dirname "$PWD")")" +tag="ruche-manager/ruche-manager:latest" +name="ruche-manager" + + +if ! [ -f "$project_dir/token" ] +then echo "ERROR : Needs discord API token in '$project_dir/token'" && exit +fi + +docker remove --force "$name" +docker build --tag="$tag" --build-context=project="$project_dir" . +docker run \ + --volume="$project_dir/token:/token" \ + --volume="$project_dir/local:/ruche-manager/local" \ + --user="$(id -u):$(id -g)" \ + --restart="unless-stopped" \ + --name="$name" \ + --detach \ + "$tag"