diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..6fe2b91 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,7 @@ +pipeline: + docker: + image: plugins/docker + repo: docker.jcg.re/base-caddy + registry: docker.jcg.re + secrets: [ docker_username, docker_password ] + tags: latest diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 0000000..3a347ed --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +FROM docker.jcg.re/base-alpine + + +ENV GOPATH=/gopath + +ONBUILD ADD plugins.txt /plugins +ONBUILD ARG BRANCH +ONBUILD ARG CLONE_URL=github.com/mholt/caddy +ONBUILD RUN apk upgrade --update \ + && apk add --no-cache -t build-deps \ + build-base \ + libcap \ + go \ + git \ + && mkdir -p ${GOPATH}/src/${CLONE_URL} \ + && cd $GOPATH/src/${CLONE_URL} \ + && git clone https://${CLONE_URL} . \ + && git checkout ${BRANCH:-$(git describe --abbrev=0 --tags)} \ + && cd caddy/caddymain \ + && export LINE="$(grep -n "// This is where other plugins get plugged in (imported)" < run.go | sed 's/^\([0-9]\+\):.*$/\1/')" \ + && head -n ${LINE} run.go > newrun.go \ + && cat /plugins >> newrun.go \ + && line=`expr ${LINE} + 1` \ + && tail -n +${LINE} run.go >> newrun.go \ + && rm -f run.go \ + && mv newrun.go run.go \ + && go get ${CLONE_URL}/... \ + && mv $GOPATH/bin/caddy /usr/bin \ + && setcap cap_net_bind_service=+ep /usr/bin/caddy \ + && apk del --purge build-deps \ + && rm -rf $GOPATH /plugins diff --git a/plugins.txt b/plugins.txt new file mode 100644 index 0000000..e69de29