Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updates dockerfile to new alpine #792

Merged
merged 2 commits into from
Jun 3, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 20 additions & 21 deletions images/keripy.dockerfile
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
# Builder layer
FROM python:3.10-alpine as builder
ARG BASE=python:3.10.14-alpine3.20

# Install compilation dependencies
RUN apk --no-cache add \
bash \
FROM ${BASE} as builder

RUN apk add --no-cache bash

SHELL ["/bin/bash", "-c"]

RUN apk add --no-cache \
curl \
build-base \
alpine-sdk \
libffi-dev \
libsodium \
libsodium-dev

SHELL ["/bin/bash", "-c"]
libsodium-dev

# Setup Rust for blake3 dependency build
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"

WORKDIR /keripy

RUN python -m venv venv

ENV PATH=/keripy/venv/bin:${PATH}

RUN pip install --upgrade pip && \
mkdir /keripy/src
RUN pip install --upgrade pip
RUN mkdir /keripy/src

# Copy Python dependency files in
COPY requirements.txt setup.py ./
# Set up Rust environment and install Python dependencies
# Must source the Cargo environment for the blake3 library to see
# the Rust intallation during requirements install
RUN . ${HOME}/.cargo/env && \
pip install -r requirements.txt

RUN . ${HOME}/.cargo/env
RUN pip install -r requirements.txt

# Runtime layer
FROM python:3.10.13-alpine3.18
FROM ${BASE}

RUN apk --no-cache add \
bash \
Expand All @@ -44,7 +44,6 @@ WORKDIR /keripy
COPY --from=builder /keripy /keripy
COPY src/ src/

ENV PATH=/keripy/venv/bin:${PATH}

ENV PATH="/keripy/venv/bin:${PATH}"

ENTRYPOINT [ "kli" ]
Loading