Merge pull request 'add docker support' (#3) from feat_docker into master

Reviewed-on: #3
This commit is contained in:
mb 2024-08-29 21:06:07 +02:00
commit 3a03022991
5 changed files with 48 additions and 1 deletions

1
packaging/docker/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/docker-ruche-manager.tgz

View file

@ -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" ]

11
packaging/docker/build.sh Executable file
View file

@ -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"

24
packaging/docker/run.sh Executable file
View file

@ -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"