add docker support #3
8 changed files with 49 additions and 18 deletions
11
Dockerfile
11
Dockerfile
|
@ -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" ]
|
|
@ -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
|
1
packaging/docker/.gitignore
vendored
Normal file
1
packaging/docker/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/docker-ruche-manager.tgz
|
11
packaging/docker/Dockerfile
Normal file
11
packaging/docker/Dockerfile
Normal 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
11
packaging/docker/build.sh
Executable 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
24
packaging/docker/run.sh
Executable 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"
|
Loading…
Add table
Add a link
Reference in a new issue