Coder Social home page Coder Social logo

productionwentdown / caddy Goto Github PK

View Code? Open in Web Editor NEW
20.0 2.0 16.0 122 KB

๐Ÿ“ฆ Tiny <11MB Caddy image compressed with UPX

Home Page: https://hub.docker.com/r/productionwentdown/caddy/

License: MIT License

Go 40.23% Dockerfile 59.77%
caddy upx docker-image

caddy's Issues

CI not in sync

Describe the problem

Upstream now tracks multiple versions. We need to match that.

Tasks

  • 3rd July: Reconsider how to handle this. Maybe properly parse the Caddy stackbrew file and generate the same files but with a custom Dockerfile
  • 3rd July: Implement above.

Bump to Caddy 1.0.0

Requires changing build to use Go modules. Will make Dockerfile much simpler.

Prepare for Caddy 2

Goals

Become a frequently updated minimal containerisation of Caddy, binary-only

TODO

  • Test that a binary-only image can be built
    • ldd caddy says not a dynamic executable ๐ŸŽ‰
    • If caddy-docker is already statically linked, can use COPY --from= and have a very tiny Dockerfile ๐Ÿ˜„
  • Add warnings about minimal containers
  • Become a clone of the official image with matrix builds
  • Automate build based on caddy-docker (scheduled task?)

Can't build v1.0.1 plugins

Hi,

Using

ARG plugins="cache,git,jwt,prometheus,realip,reauth,minify"

The builder crash.

logs

โžœ docker build -t caddy1-0-1 .
Sending build context to Docker daemon  13.82kB
Step 1/31 : FROM golang:1.12-alpine as build
 ---> e04879bf1b7f
Step 2/31 : ARG version="1.0.0"
 ---> Using cache
 ---> bfce146bf638
Step 3/31 : ARG plugins="expires,git,jwt,prometheus,realip,reauth,minify"
 ---> Running in 1f1db50c2460
Removing intermediate container 1f1db50c2460
 ---> 26e52cc7843a
Step 4/31 : ARG telemetry="true"
 ---> Running in 5c799aa64b35
Removing intermediate container 5c799aa64b35
 ---> ae767c9f16f1
Step 5/31 : RUN apk add --no-cache git
 ---> Running in 1804ede7130b
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
(1/6) Installing nghttp2-libs (1.35.1-r0)
(2/6) Installing libssh2 (1.8.2-r0)
(3/6) Installing libcurl (7.64.0-r2)
(4/6) Installing expat (2.2.7-r0)
(5/6) Installing pcre2 (10.32-r1)
(6/6) Installing git (2.20.1-r0)
Executing busybox-1.29.3-r10.trigger
OK: 20 MiB in 21 packages
Removing intermediate container 1804ede7130b
 ---> b065651e504c
Step 6/31 : RUN mkdir /build
 ---> Running in cf17715e393e
Removing intermediate container cf17715e393e
 ---> 99cd777627b6
Step 7/31 : WORKDIR /build
 ---> Running in 818ba78020cf
Removing intermediate container 818ba78020cf
 ---> f58f52886c80
Step 8/31 : ENV GO111MODULE=on
 ---> Running in b201e13a47c0
Removing intermediate container b201e13a47c0
 ---> 0683de0876b7
Step 9/31 : ENV CGO_ENABLED=0
 ---> Running in 47bb9db2bea0
Removing intermediate container 47bb9db2bea0
 ---> 68dbe90d4667
Step 10/31 : COPY go.mod plugger.go ./
 ---> d36ca1b59339
Step 11/31 : RUN go run plugger.go -plugins="${plugins}" -telemetry="${telemetry}"
 ---> Running in a4d4aece2619
go: finding github.com/mholt/caddy v1.0.0
go: finding github.com/hashicorp/go-syslog v1.0.0
go: finding github.com/naoina/go-stringutil v0.1.0
go: finding github.com/lucas-clemente/quic-go v0.10.2
go: finding github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348
go: finding github.com/mholt/certmagic v0.5.0
go: finding github.com/klauspost/cpuid v1.2.0
go: finding github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
go: finding github.com/BurntSushi/toml v0.3.1
go: finding golang.org/x/net v0.0.0-20190328230028-74de082e2cca
go: finding gopkg.in/natefinch/lumberjack.v2 v2.0.0
go: finding github.com/russross/blackfriday v0.0.0-20170610170232-067529f716f4
go: finding github.com/gorilla/websocket v1.4.0
go: finding github.com/naoina/toml v0.1.1
go: finding github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a
go: finding gopkg.in/mcuadros/go-syslog.v2 v2.2.1
go: finding gopkg.in/yaml.v2 v2.2.2
go: finding golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3
go: finding golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b
go: finding golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4
go: finding golang.org/x/sys v0.0.0-20190124100055-b90733256f2e
go: finding golang.org/x/net v0.0.0-20180906233101-161cd47e91fd
go: finding github.com/onsi/ginkgo v1.8.0
go: finding github.com/stretchr/testify v1.3.0
go: finding github.com/hashicorp/golang-lru v0.0.0-20180201235237-0fb14efe8c47
go: finding github.com/miekg/dns v1.1.3
go: finding golang.org/x/text v0.3.0
go: finding gopkg.in/square/go-jose.v2 v2.2.2
go: finding github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115
go: finding github.com/lucas-clemente/aes12 v0.0.0-20171027163421-cd47fb39b79f
go: finding golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
go: finding github.com/cheekybits/genny v0.0.0-20170328200008-9127e812e1e9
go: finding github.com/marten-seemann/qtls v0.2.3
go: finding github.com/dustin/go-humanize v1.0.0
go: finding github.com/lucas-clemente/quic-go-certificates v0.0.0-20160823095156-d2f86524cced
go: finding github.com/pmezard/go-difflib v1.0.0
go: finding github.com/golang/mock v1.2.0
go: finding github.com/go-acme/lego v2.5.0+incompatible
go: finding github.com/cenkalti/backoff v2.1.1+incompatible
go: finding golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e
go: finding golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
go: finding golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25
go: finding github.com/stretchr/objx v0.1.0
go: finding github.com/onsi/gomega v1.5.0
go: finding gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
go: finding github.com/google/uuid v1.1.1
go: finding github.com/davecgh/go-spew v1.1.0
go: finding github.com/lucas-clemente/quic-clients v0.1.0
go: finding github.com/fsnotify/fsnotify v1.4.7
go: finding golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f
go: finding gopkg.in/fsnotify.v1 v1.4.7
go: finding github.com/hpcloud/tail v1.0.0
go: finding github.com/onsi/ginkgo v1.6.0
go: finding gopkg.in/yaml.v2 v2.2.1
go: finding golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e
go: finding github.com/golang/protobuf v1.2.0
go: finding gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7
2019/07/05 00:58:36 Additional plugins: [expires git jwt prometheus realip reauth minify]
2019/07/05 00:58:36 Enabled telemetry: true
Removing intermediate container a4d4aece2619
 ---> 098c939cc51f
Step 12/31 : RUN go build
 ---> Running in 0805fc8e896b
go: downloading github.com/mholt/caddy v1.0.0
go: extracting github.com/mholt/caddy v1.0.0
go: downloading github.com/klauspost/cpuid v1.2.0
go: downloading github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
go: downloading github.com/go-acme/lego v2.5.0+incompatible
go: downloading github.com/mholt/certmagic v0.5.0
go: downloading gopkg.in/natefinch/lumberjack.v2 v2.0.0
go: downloading github.com/google/uuid v1.1.1
go: downloading github.com/russross/blackfriday v0.0.0-20170610170232-067529f716f4
go: downloading github.com/hashicorp/go-syslog v1.0.0
go: extracting github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
go: downloading github.com/gorilla/websocket v1.4.0
go: extracting github.com/mholt/certmagic v0.5.0
go: extracting github.com/google/uuid v1.1.1
go: extracting github.com/klauspost/cpuid v1.2.0
go: downloading github.com/dustin/go-humanize v1.0.0
go: downloading github.com/lucas-clemente/quic-go v0.10.2
go: extracting github.com/hashicorp/go-syslog v1.0.0
go: downloading golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
go: extracting github.com/russross/blackfriday v0.0.0-20170610170232-067529f716f4
go: extracting github.com/dustin/go-humanize v1.0.0
go: extracting github.com/gorilla/websocket v1.4.0
go: extracting gopkg.in/natefinch/lumberjack.v2 v2.0.0
go: extracting github.com/lucas-clemente/quic-go v0.10.2
go: downloading gopkg.in/yaml.v2 v2.2.2
go: extracting gopkg.in/yaml.v2 v2.2.2
go: downloading github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a
go: extracting github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a
go: downloading golang.org/x/net v0.0.0-20190328230028-74de082e2cca
go: extracting golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
go: extracting github.com/go-acme/lego v2.5.0+incompatible
go: extracting golang.org/x/net v0.0.0-20190328230028-74de082e2cca
go: downloading github.com/naoina/toml v0.1.1
go: downloading gopkg.in/square/go-jose.v2 v2.2.2
go: downloading github.com/cenkalti/backoff v2.1.1+incompatible
go: downloading github.com/miekg/dns v1.1.3
go: downloading github.com/lucas-clemente/aes12 v0.0.0-20171027163421-cd47fb39b79f
go: downloading github.com/lucas-clemente/quic-go-certificates v0.0.0-20160823095156-d2f86524cced
go: extracting github.com/cenkalti/backoff v2.1.1+incompatible
go: extracting github.com/lucas-clemente/aes12 v0.0.0-20171027163421-cd47fb39b79f
go: downloading github.com/hashicorp/golang-lru v0.0.0-20180201235237-0fb14efe8c47
go: downloading github.com/cheekybits/genny v0.0.0-20170328200008-9127e812e1e9
go: extracting github.com/hashicorp/golang-lru v0.0.0-20180201235237-0fb14efe8c47
go: downloading github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115
go: downloading golang.org/x/text v0.3.0
go: extracting github.com/naoina/toml v0.1.1
go: downloading github.com/naoina/go-stringutil v0.1.0
go: extracting github.com/cheekybits/genny v0.0.0-20170328200008-9127e812e1e9
go: extracting github.com/lucas-clemente/quic-go-certificates v0.0.0-20160823095156-d2f86524cced
go: extracting github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115
go: extracting github.com/naoina/go-stringutil v0.1.0
go: extracting gopkg.in/square/go-jose.v2 v2.2.2
go: extracting github.com/miekg/dns v1.1.3
go: downloading golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e
go: extracting golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e
go: extracting golang.org/x/text v0.3.0
build caddy: cannot load expires: cannot find module providing package expires
The command '/bin/sh -c go build' returned a non-zero code: 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.