diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..eb5a316 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +target diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..b163e91 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,7 @@ +pipeline: + docker: + image: docker.io/plugins/docker + repo: docker.jcg.re/roomnamebot + registry: docker.jcg.re + secrets: [ docker_username, docker_password ] + autotag: true \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bb56514 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM docker.io/alpine:edge as builder +COPY . /src +RUN apk add --no-cache \ + cargo \ + build-base \ + openssl-dev \ + && cd /src \ + && cargo build --release + + +FROM docker.io/alpine:edge +ENV UID=1337 \ + GID=1337 +COPY --from=builder /src/target/release/roomnamebot /usr/local/bin/roomnamebot +RUN apk add --no-cache \ + libssl1.0 \ + libgcc \ + ca-certificates \ + s6 \ + su-exec +COPY docker/root / +CMD ["/bin/s6-svscan", "/etc/s6.d/"] \ No newline at end of file diff --git a/docker/root/etc/periodic/daily/roomnamebot b/docker/root/etc/periodic/daily/roomnamebot new file mode 100755 index 0000000..7536796 --- /dev/null +++ b/docker/root/etc/periodic/daily/roomnamebot @@ -0,0 +1,4 @@ +#!/bin/sh +cd /data +chown -R ${UID}:${GID} . +exec su-exec ${UID}:${GID} roomnamebot \ No newline at end of file diff --git a/docker/root/etc/s6.d/.s6-svscan/finish b/docker/root/etc/s6.d/.s6-svscan/finish new file mode 100755 index 0000000..1a24852 --- /dev/null +++ b/docker/root/etc/s6.d/.s6-svscan/finish @@ -0,0 +1 @@ +#!/bin/sh diff --git a/docker/root/etc/s6.d/cron/finish b/docker/root/etc/s6.d/cron/finish new file mode 100755 index 0000000..0db3363 --- /dev/null +++ b/docker/root/etc/s6.d/cron/finish @@ -0,0 +1,2 @@ +#!/bin/sh +s6-svc -O /etc/s6.d/cron \ No newline at end of file diff --git a/docker/root/etc/s6.d/cron/run b/docker/root/etc/s6.d/cron/run new file mode 100755 index 0000000..8c56bb5 --- /dev/null +++ b/docker/root/etc/s6.d/cron/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec crond -f \ No newline at end of file