1234567891011121314151617181920212223242526272829 |
- # This is a multi-part build that first statically builds irccat, and then
- # copies over the resulting binary and the default SSL root certs over into
- # a 'scratch' image, resulting in a very small image.
- #
- # You must provide a config file at /etc/irccat.[json|yaml|toml|hcl], for
- # example:
- #
- # docker build . -t irccat
- # docker run -d -P -v /path/to/my/config/irccat.json:/etc/irccat.json irccat
- #
- # (This will also expose the default ports: 12345 and 8045.)
-
- # Step one: fetch deps and build
- FROM golang:1.17.3 AS build
-
- ADD . /go/src/github.com/irccloud/irccat
- WORKDIR /go/src/github.com/irccloud/irccat
-
- RUN CGO_ENABLED=0 go get -t -v ./... && go build -a .
-
- # Step two: copy over the binary and root certs
- FROM scratch
- COPY --from=build /go/bin/irccat /irccat
- COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
-
- EXPOSE 12345
- EXPOSE 8045
-
- CMD ["/irccat"]
|