diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6c5cb00 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ + +# +# Birdwatcher - Your friendly alice looking glass data source +# + +FROM golang:1.13 AS app + +WORKDIR /src/birdwatcher +ADD vendor . +ADD go.mod . +ADD go.sum . +RUN go mod download + +# Add sourcecode +ADD . . + +# Build birdwatcher +RUN make + +FROM ehlers/bird2 + +COPY --from=app /src/birdwatcher/birdwatcher-linux-amd64 /usr/bin/birdwatcher +ADD etc/birdwatcher/birdwatcher.conf /etc/birdwatcher/birdwatcher.conf + +ENTRYPOINT ["/usr/bin/birdwatcher", "-config", "/etc/birdwatcher/birdwatcher.conf"] + diff --git a/README.md b/README.md index c1dfeff..29e0dad 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,12 @@ You need to add a Large BGP Community just before you filter a route, for exampl accept; } +### Using Docker + +You can run the birdwatcher for bird2 with docker: + + docker run -v /var/run/bird.ctl:/usr/local/var/run/bird.ctl -it --rm birdwatcher:latest + ### Building an RPM Building RPMs is supported through [fpm](https://github.com/jordansissel/fpm).