2021-04-17 13:46:38 +02:00
|
|
|
# vim: filetype=dockerfile
|
2021-04-13 21:43:30 +02:00
|
|
|
# Our entire toolchain runs in alpine
|
2021-12-24 09:00:05 +01:00
|
|
|
FROM alpine:3.15.0 AS builder
|
2021-04-12 17:39:52 +02:00
|
|
|
|
2021-04-24 09:47:28 +02:00
|
|
|
ENV PATH "$PATH:/root/.cargo/bin"
|
2021-04-13 21:43:30 +02:00
|
|
|
# Needed for proper compiling of openssl-dev
|
|
|
|
ENV RUSTFLAGS "-C target-feature=-crt-static"
|
2021-04-12 17:39:52 +02:00
|
|
|
|
2021-04-17 13:46:38 +02:00
|
|
|
# Add the build user
|
|
|
|
# Install dependencies
|
|
|
|
RUN addgroup -S builder && \
|
|
|
|
adduser -S builder -G builder -h /app && \
|
|
|
|
apk update && \
|
|
|
|
apk add --no-cache \
|
|
|
|
curl \
|
|
|
|
gcc \
|
|
|
|
libgcc \
|
|
|
|
musl-dev \
|
|
|
|
openssl-dev \
|
|
|
|
postgresql-dev
|
2021-04-12 17:39:52 +02:00
|
|
|
|
2021-04-17 13:46:38 +02:00
|
|
|
# Install rustup in the new user's home
|
|
|
|
# Create mountpoints for volumes with correct permissions
|
|
|
|
RUN { curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly; } && \
|
2021-04-24 09:47:28 +02:00
|
|
|
rustup target add x86_64-unknown-linux-musl --toolchain nightly
|