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/Dockerfile b/Dockerfile deleted file mode 100644 index ee8f222..0000000 --- a/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM denoland/deno:debian -RUN mkdir /app - -WORKDIR /app - -COPY . ./ - -RUN chmod +x ./run.sh -RUN chmod +x ./src/bot.ts - -ENTRYPOINT [ "./run.sh" ] diff --git a/docker.sh b/docker.sh deleted file mode 100755 index 1fb4402..0000000 --- a/docker.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -docker stop ruche-manager -docker remove ruche-manager -docker build . --tag ruche-manager/ruche-manager:latest -docker run -d --name ruche-manager --restart unless-stopped ruche-manager/ruche-manager:latest diff --git a/modules.conf b/modules.conf index 6a22e9e..19026c8 100644 --- a/modules.conf +++ b/modules.conf @@ -12,3 +12,5 @@ Deploiment Dev à l'Échelle Programmation GPU PFEE +Éléments de Recherche Opé +Marque Personnelle 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" diff --git a/run.sh b/run.sh index 80ad14f..1a0cc0f 100755 --- a/run.sh +++ b/run.sh @@ -6,4 +6,4 @@ if ! [ -f ./token ] then echo "ERROR : Needs discord API token in ./token" && exit fi -DEBUG=871777993922588712 ./src/bot.ts ./token \ No newline at end of file +DEBUG=871777993922588712 ./src/bot.ts ./token