aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorClayton Yochum <claytonjy@gmail.com>2019-11-09 18:08:46 -0500
committerClayton Yochum <claytonjy@gmail.com>2019-11-09 19:11:58 -0500
commit7849b602ab163f90bf0957a7237b14de0241c904 (patch)
treedf96e379936c9f32c813b7717aaec797f0efbaf6 /Dockerfile
parentreadme improvements (diff)
downloadpaper2remarkable-7849b602ab163f90bf0957a7237b14de0241c904.tar.gz
paper2remarkable-7849b602ab163f90bf0957a7237b14de0241c904.zip
Greatly reduce docker image size, don't run as root, update README.
Steps taken to reduce size: - multi-stage build for go/rmapi - python slim-stretch image - avoid recommended apt packages - don't use a cache with pip.
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile37
1 files changed, 23 insertions, 14 deletions
diff --git a/Dockerfile b/Dockerfile
index cb7cb19..38db46b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,24 +1,33 @@
-FROM python:3.7-stretch
+FROM golang:stretch AS rmapi
-ENV GO_VERSION 1.12.9
-ENV GO_TAR go${GO_VERSION}.linux-amd64.tar.gz
-ENV GOROOT /usr/local/go
-ENV GOPATH /root/go
-ENV PATH ${GOPATH}/bin:${GOROOT}/bin:${PATH}
+ENV GOPATH /go
+ENV PATH ${GOPATH}/bin:/usr/local/go/bin:$PATH
+ENV RMAPIREPO github.com/juruen/rmapi
+
+RUN go get -u ${RMAPIREPO}
+
+
+FROM python:3.7-slim-stretch
# rmapi
-RUN wget https://dl.google.com/go/${GO_TAR} \
- && tar -xf ${GO_TAR} \
- && mv go ${GOROOT} \
- && rm ${GO_TAR} \
- && go get -u github.com/juruen/rmapi
+COPY --from=rmapi /go/bin/rmapi /usr/bin/rmapi
-# pdftk & pdfcrop
+# imagemagick, pdftk, ghostscript, pdfcrop
RUN apt-get update \
- && apt-get install -y \
+ && apt-get install --no-install-recommends -y \
+ libmagickwand-dev \
pdftk \
+ ghostscript \
texlive-extra-utils # contains pdfcrop
-RUN pip install paper2remarkable
+RUN pip install --no-cache-dir paper2remarkable
+
+RUN useradd -u 1000 -m -U user
+
+USER user
+
+ENV USER user
+
+WORKDIR /home/user
ENTRYPOINT ["p2r"]