|
1 | 1 | ARG PG_SERVER_VERSION=14
|
2 | 2 |
|
| 3 | +# build-env |
| 4 | +FROM postgres:${PG_SERVER_VERSION} as build-env |
| 5 | + |
| 6 | +ARG WALG_VERSION |
| 7 | +ENV WALG_VERSION=${WALG_VERSION:-2.0.0} |
| 8 | + |
| 9 | +ARG GO_VERSION |
| 10 | +ENV GO_VERSION=${GO_VERSION:-1.18.4} |
| 11 | + |
| 12 | +RUN apt-get clean && rm -rf /var/lib/apt/lists/partial \ |
| 13 | + # add the backports repository for Debian 9 Stretch. Required to install the package "libbrotli-dev" |
| 14 | + && if [ $(sed 's/\..*//' /etc/debian_version) = "9" ]; then \ |
| 15 | + echo "deb http://deb.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list; \ |
| 16 | + fi \ |
| 17 | + # install dependencies |
| 18 | + && apt-get update -o Acquire::CompressionTypes::Order::=gz \ |
| 19 | + && apt-get install --no-install-recommends -y apt-transport-https ca-certificates \ |
| 20 | + wget curl sudo git make cmake gcc build-essential \ |
| 21 | + libbrotli-dev liblzo2-dev libsodium-dev \ |
| 22 | + # install Go |
| 23 | + && cd /tmp && wget https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz \ |
| 24 | + && rm -rf /usr/local/go && tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz \ |
| 25 | + && export PATH=$PATH:/usr/local/go/bin \ |
| 26 | + # build WAL-G |
| 27 | + && git clone --branch v${WALG_VERSION} --single-branch https://github.com/wal-g/wal-g.git \ |
| 28 | + && cd wal-g && export USE_LIBSODIUM=1 && export USE_LZO=1 \ |
| 29 | + && make deps && GOBIN=/usr/local/bin make pg_install |
| 30 | + |
| 31 | +# Build the extended image |
3 | 32 | FROM postgres:${PG_SERVER_VERSION}
|
4 | 33 | LABEL maintainer="postgres.ai"
|
5 | 34 |
|
| 35 | +COPY --from=build-env /usr/local/bin/wal-g /usr/local/bin/wal-g |
| 36 | + |
6 | 37 | ARG PG_SERVER_VERSION
|
7 | 38 | ENV PG_SERVER_VERSION=${PG_SERVER_VERSION:-14}
|
8 | 39 |
|
9 |
| -ARG WALG_VERSION |
10 |
| -ENV WALG_VERSION=${WALG_VERSION:-0.2.19} |
11 |
| - |
12 | 40 | ARG PGBR_VERSION
|
13 |
| -ENV PGBR_VERSION=${PGBR_VERSION:-2.37} |
| 41 | +ENV PGBR_VERSION=${PGBR_VERSION:-2.39} |
14 | 42 |
|
15 | 43 | RUN apt-get clean && rm -rf /var/lib/apt/lists/partial \
|
16 | 44 | && apt-get update -o Acquire::CompressionTypes::Order::=gz \
|
@@ -109,9 +137,6 @@ RUN apt-get clean && rm -rf /var/lib/apt/lists/partial \
|
109 | 137 | && tar -xf v2.0.tar.gz && rm v2.0.tar.gz && cd logerrors-2.0 \
|
110 | 138 | && USE_PGXS=1 make && USE_PGXS=1 make install; \
|
111 | 139 | fi \
|
112 |
| - # WAL-G |
113 |
| - && wget --quiet -O /tmp/wal-g.linux-amd64.tar.gz "https://github.com/wal-g/wal-g/releases/download/v${WALG_VERSION}/wal-g.linux-amd64.tar.gz" \ |
114 |
| - && tar -zxvf /tmp/wal-g.linux-amd64.tar.gz && mv wal-g /usr/local/bin/ \ |
115 | 140 | # pgBackRest
|
116 | 141 | && apt-get install --no-install-recommends -y pgbackrest=${PGBR_VERSION}* zstd openssh-client \
|
117 | 142 | && mkdir -p -m 700 /var/lib/postgresql/.ssh && chown postgres:postgres /var/lib/postgresql/.ssh \
|
|
0 commit comments