PortValhalla/scripts/Common/Software/docker/services/firefox-sync/Dockerfile

28 lines
1.1 KiB
Docker

FROM rust AS build
ARG SYNC_STORAGE_VERSION=0.18.2
RUN git clone https://github.com/mozilla-services/syncstorage-rs -b ${SYNC_STORAGE_VERSION} /app
WORKDIR /app
COPY ./public-url.patch .
RUN \
apt-get update \
&& apt-get install -y libpython3-dev \
&& git apply public-url.patch \
&& cargo install --path ./syncserver --features mysql --locked \
&& cargo install diesel_cli --no-default-features --features mysql --locked \
&& cargo clean \
&& apt-get remove -y libpython3-dev \
&& rm -rf /var/lib/apt/lists \
&& bash -O extglob -c 'rm -rf /usr/local/cargo/!(bin)' \
&& bash -O extglob -c 'rm -rf /usr/local/cargo/bin/!(diesel|syncserver)'
FROM python:3.11 AS sync
COPY --from=build /usr/local/cargo/bin/syncserver /usr/local/bin
COPY --from=build /app/requirements.txt .
RUN pip install -r requirements.txt
CMD [ "/usr/local/bin/syncserver" ]
FROM mariadb AS db
RUN mkdir -p /app/tokenserver-db
COPY --from=build /app/tokenserver-db/migrations /app/tokenserver-db/migrations
COPY --from=build /usr/local/cargo/bin/diesel /usr/local/bin