Dockerfile 949 B

12345678910111213141516171819202122232425262728293031
  1. # Dockerfile to build an image with the local version of psiphon-tunnel-core.
  2. #
  3. # See README.md for usage instructions.
  4. FROM ubuntu:15.04
  5. ENV GOVERSION=go1.5.3
  6. # Install system-level dependencies.
  7. ENV DEBIAN_FRONTEND=noninteractive
  8. RUN apt-get update && apt-get -y install build-essential curl git mercurial upx gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 mingw-w64 gcc-multilib pkg-config
  9. # Install Go.
  10. ENV GOROOT=/usr/local/go GOPATH=/go
  11. ENV PATH=$PATH:$GOROOT/bin:$GOPATH/bin
  12. RUN curl -L https://storage.googleapis.com/golang/$GOVERSION.linux-amd64.tar.gz -o /tmp/go.tar.gz && \
  13. tar -C /usr/local -xzf /tmp/go.tar.gz && \
  14. rm /tmp/go.tar.gz && \
  15. echo $GOVERSION > $GOROOT/VERSION
  16. ENV CGO_ENABLED=1
  17. # Get go dependencies
  18. RUN go get github.com/mitchellh/gox && go get github.com/pwaller/goupx
  19. # Setup paths for static OpenSSL libray
  20. ENV OPENSSL_VERSION=1.0.1p
  21. ENV PKG_CONFIG_PATH=/tmp/openssl/openssl-$OPENSSL_VERSION
  22. WORKDIR $GOPATH/src