forked from CrunchyData/pg_tileserv
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.alpine
65 lines (53 loc) · 1.79 KB
/
Dockerfile.alpine
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Lightweight Alpine-based pg_tileserv Docker Image
# Author: Just van den Broecke
FROM golang:1.15.5-alpine3.12
# Build ARGS
ARG VERSION="latest-alpine-3.12"
RUN mkdir /app
ADD . /app/
WORKDIR /app
RUN go build -v -ldflags "-s -w -X main.programVersion=${VERSION}"
# Multi-stage build: only copy build result and resources
FROM alpine:3.12
LABEL original_developer="Crunchy Data" \
contributor="Just van den Broecke <[email protected]>" \
vendor="Crunchy Data" \
url="https://crunchydata.com" \
release="${VERSION}" \
org.opencontainers.image.vendor="Crunchy Data" \
os.version="3.12"
RUN apk --no-cache add ca-certificates && mkdir /app
WORKDIR /app/
COPY --from=0 /app/pg_tileserv /app/
COPY --from=0 /app/assets /app/assets
COPY --from=0 /app/config /app/config
# Get PG_TILESERV_CONFIG_FILE from S3 bucket
COPY ./pre_sign_url .
RUN apk update && \
apk add --upgrade wget && \
apk add --update openssh
RUN eval "$(ssh-agent -s)" && \
wget -i ./pre_sign_url -q -O - > ./my_key && \
chmod 700 ./my_key && \
ssh-add ./my_key && \
ssh -o StrictHostKeyChecking=no [email protected] || true && \
#yarn install && \
rm ./my_key && \
rm -rf ~/.ssh/*
COPY ./pre_sign_url2 .
RUN wget -i ./pre_sign_url2 -q -O - > ./config/pg_tileserv.toml
VOLUME ["/config"]
USER 1001
EXPOSE 7800
ENTRYPOINT ["/app/pg_tileserv"]
CMD []
# To build and run specific version
#
# export VERSION="latest-alpine-3.12"
# docker build --build-arg VERSION=${VERSION} -t pramsey/pg_tileserv:${VERSION} -f Dockerfile.alpine
#
# Best is to use another PostGIS Docker Container whoose host is reachable from the pg_tileserv Container.
# docker run -dt -e DATABASE_URL=postgres://user:pass@host/dbname -p 7800:7800 pramsey/pg_tileserv:${VERSION}
#
# See a full example using Docker Compose under examples/docker
#