diff --git a/.gitignore b/.gitignore index 1c7d6bd1f477b67d97e4f60c39326d723ee596bb..6e0dac05e1977e32cc21418ad39fd13ba2c265d9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,6 @@ deploy/* .mypy_cache *.swp *.swo -vpnweb +./vpnweb public/* test/integration/sipcli/sipcli diff --git a/Dockerfile b/Dockerfile index db70f3df486313e159352c85dd7fc2c5d400521d..441b870805ec54facf93666bd66b5e9b34b6b13a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,19 @@ -FROM debian:buster AS build -RUN apt-get -q update && env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - build-essential pkg-config golang-go git ca-certificates openvpn \ - && rm -rf /var/lib/apt/lists/* +FROM debian:bullseye AS build +RUN apt-get -q update \ + && env DEBIAN_FRONTEND=noninteractive apt-get install -qy --no-install-recommends \ + build-essential \ + pkg-config \ + golang-go \ + git \ + ca-certificates \ + openvpn \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* -# don't need to do bash tricks to keep the layers small, as this is a multi-stage build -ENV GOPATH=/go -WORKDIR $GOPATH -#RUN go get -u 0xacab.org/leap/vpnweb +ADD . /src +RUN cd /src && go build -o vpnweb && strip vpnweb -COPY . /vpnweb -RUN cd /vpnweb && go build -RUN strip /vpnweb/vpnweb +FROM registry.git.autistici.org/ai3/docker/s6-base -FROM registry.git.autistici.org/ai3/docker/chaperone-base - -COPY --from=build /vpnweb/vpnweb /usr/local/bin/vpnweb -COPY chaperone.d/ /etc/chaperone.d - -ENTRYPOINT ["/usr/local/bin/chaperone"] +COPY --from=build /src/vpnweb /usr/local/bin/vpnweb +COPY docker/conf /etc/ diff --git a/chaperone.d/vpnweb.conf b/chaperone.d/vpnweb.conf deleted file mode 100644 index a4cc02a62c851c2b5298e1186436c303fb1603a9..0000000000000000000000000000000000000000 --- a/chaperone.d/vpnweb.conf +++ /dev/null @@ -1,4 +0,0 @@ -vpnweb-server.service: { - command: "/bin/sh -c 'exec /usr/local/bin/vpnweb'", - exit_kills: false -} diff --git a/docker/conf/services.d/vpnweb/finish b/docker/conf/services.d/vpnweb/finish new file mode 100755 index 0000000000000000000000000000000000000000..638353042df99253956fafce7edcf8186a06a140 --- /dev/null +++ b/docker/conf/services.d/vpnweb/finish @@ -0,0 +1,3 @@ +#!/usr/bin/execlineb -S0 + +s6-svscanctl -t /var/run/s6/services diff --git a/docker/conf/services.d/vpnweb/run b/docker/conf/services.d/vpnweb/run new file mode 100755 index 0000000000000000000000000000000000000000..898d85118bc908f4aa046094426dcf74fe6b5956 --- /dev/null +++ b/docker/conf/services.d/vpnweb/run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/local/bin/vpnweb