Surnet / docker-wkhtmltopdf

wkhtmltopdf for multiple base images
https://hub.docker.com/u/surnet/
MIT License
360 stars 65 forks source link

install into go alpine dockerfile #38

Closed rdhmuhammad closed 1 year ago

rdhmuhammad commented 1 year ago

hi guys i love your work, any way i try to use this image on my go alpine. the dockerfile look like this

FROM surnet/alpine-wkhtmltopdf:3.16.2-0.12.6-full as wkhtmltopdf
FROM golang:1.19-alpine3.17 as builder

# add some necessary packages
RUN apk update && \
    apk add libc-dev && \
    apk add gcc && \
    apk add make && \
    mkdir /src

COPY --from=wkhtmltopdf /bin/wkhtmltopdf /bin/wkhtmltopdf
COPY --from=wkhtmltopdf /bin/wkhtmltoimage /bin/wkhtmltoimage
COPY --from=wkhtmltopdf /bin/libwkhtmltox* /bin/

WORKDIR /src
COPY ./../ ./

RUN go mod vendor && go mod verify
RUN go build -o /app-bin /src/app/api/main.go

# Distribution
FROM alpine:3
RUN apk --update add tzdata

WORKDIR /srv
COPY . .
COPY --from=builder /app-bin .

EXPOSE 8080
CMD ["/srv/app-bin"]

but when i run docker build, its always return error wkhtmltopdf not found

> [builder 9/9] RUN go build -o /app-bin /src/app/api/main.go:
#0 94.29 # github.com/adrg/go-wkhtmltopdf
#0 94.29 vendor/github.com/adrg/go-wkhtmltopdf/converter.go:7:10: fatal error: wkhtmltox/pdf.h: No such file or directory
#0 94.29     7 | #include <wkhtmltox/pdf.h>
#0 94.29       |          ^~~~~~~~~~~~~~~~~
#0 94.29 compilation terminated.
------
failed to solve: process "/bin/sh -c go build -o /app-bin /src/app/api/main.go" did not complete successfully: exit code: 2

do you guys have any idea how to solve this?

chdanielmueller commented 1 year ago

Hi @Lacutee

Based on the copy command -> COPY --from=wkhtmltopdf /bin/**libwkhtmltox* /bin/ and the error message fatal error: wkhtmltox**/pdf.h: No such file or directory I would think that the library expects wkhtmltox to exist in another directory.

Cheers, Daniel