Coder Social home page Coder Social logo

productionwentdown / caddy Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 16.0 119 KB

๐Ÿ“ฆ Tiny 9MB Caddy image compressed with UPX

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

License: MIT License

Go 40.21% Dockerfile 59.79%
caddy docker-image upx

caddy's People

Contributors

actions-user avatar chinkung avatar nikitabuyevich avatar serverwentdown avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

caddy's Issues

Bump to Caddy 1.0.0

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

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

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?)

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.

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.