mirror of
https://github.com/aljazceru/signal-cli-rest-api.git
synced 2025-12-21 00:24:32 +01:00
updated Dockerfile
This commit is contained in:
49
Dockerfile
49
Dockerfile
@@ -3,17 +3,6 @@ ARG ZKGROUP_VERSION=0.7.0
|
|||||||
|
|
||||||
ARG SWAG_VERSION=1.6.7
|
ARG SWAG_VERSION=1.6.7
|
||||||
|
|
||||||
# fetch the vendor with the builder platform to avoid qemu issues
|
|
||||||
FROM --platform=$BUILDPLATFORM rust:1-buster AS rust-sources-downloader
|
|
||||||
|
|
||||||
ARG ZKGROUP_VERSION
|
|
||||||
|
|
||||||
RUN cd /tmp/ && git clone https://github.com/signalapp/zkgroup.git zkgroup-${ZKGROUP_VERSION}
|
|
||||||
RUN cd /tmp/zkgroup-${ZKGROUP_VERSION} \
|
|
||||||
&& mkdir -p /tmp/zkgroup-${ZKGROUP_VERSION}/.cargo \
|
|
||||||
&& cargo vendor > /tmp/zkgroup-${ZKGROUP_VERSION}/.cargo/config
|
|
||||||
|
|
||||||
|
|
||||||
FROM golang:1.14-buster AS buildcontainer
|
FROM golang:1.14-buster AS buildcontainer
|
||||||
|
|
||||||
ARG SIGNAL_CLI_VERSION
|
ARG SIGNAL_CLI_VERSION
|
||||||
@@ -22,16 +11,26 @@ ARG SWAG_VERSION
|
|||||||
|
|
||||||
ENV GIN_MODE=release
|
ENV GIN_MODE=release
|
||||||
|
|
||||||
|
COPY ext/libraries/zkgroup/v${ZKGROUP_VERSION} /tmp/zkgroup-libraries
|
||||||
|
|
||||||
|
RUN ls -la /tmp/zkgroup-libraries/x86-64
|
||||||
|
|
||||||
|
RUN arch="$(uname -m)"; \
|
||||||
|
case "$arch" in \
|
||||||
|
armv7l) cp /tmp/zkgroup-libraries/armv7/libzkgroup.so /tmp/libzkgroup.so ;; \
|
||||||
|
x86_64) cp /tmp/zkgroup-libraries/x86-64/libzkgroup.so /tmp/libzkgroup.so ;; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
RUN ls -la /tmp
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends wget default-jre software-properties-common git locales zip \
|
&& apt-get install -y --no-install-recommends wget default-jre software-properties-common git locales zip file \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
|
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
|
||||||
dpkg-reconfigure --frontend=noninteractive locales && \
|
dpkg-reconfigure --frontend=noninteractive locales && \
|
||||||
update-locale LANG=en_US.UTF-8
|
update-locale LANG=en_US.UTF-8
|
||||||
|
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
||||||
|
|
||||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||||
|
|
||||||
ENV LANG en_US.UTF-8
|
ENV LANG en_US.UTF-8
|
||||||
@@ -51,31 +50,17 @@ RUN cd /tmp/ \
|
|||||||
&& ./gradlew build \
|
&& ./gradlew build \
|
||||||
&& ./gradlew installDist \
|
&& ./gradlew installDist \
|
||||||
&& ./gradlew distTar
|
&& ./gradlew distTar
|
||||||
#\
|
|
||||||
#&& ln -s /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/install/signal-cli/ /tmp/signal-cli
|
|
||||||
|
|
||||||
#RUN ls /tmp/signal-cli/lib/zkgroup-java-${ZKGROUP_VERSION}.jar || (echo "\n\nzkgroup jar file with version ${ZKGROUP_VERSION} not found. Maybe the version needs to be bumped in the signal-cli-rest-api Dockerfile?\n\n" && echo "Available version: \n" && ls /tmp/signal-cli/lib/zkgroup-java-* && echo "\n\n" && exit 1)
|
#RUN ls /tmp/signal-cli/lib/zkgroup-java-${ZKGROUP_VERSION}.jar || (echo "\n\nzkgroup jar file with version ${ZKGROUP_VERSION} not found. Maybe the version needs to be bumped in the signal-cli-rest-api Dockerfile?\n\n" && echo "Available version: \n" && ls /tmp/signal-cli/lib/zkgroup-java-* && echo "\n\n" && exit 1)
|
||||||
|
|
||||||
COPY --from=rust-sources-downloader /tmp/zkgroup-${ZKGROUP_VERSION} /tmp/zkgroup-${ZKGROUP_VERSION}
|
RUN cd /tmp/ \
|
||||||
|
&& zip -u /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/install/signal-cli/lib/zkgroup-java-${ZKGROUP_VERSION}.jar libzkgroup.so
|
||||||
#run cargo in offline mode (i.e fetch resources from local cache instead of network)
|
|
||||||
ENV CARGO_NET_OFFLINE true
|
|
||||||
|
|
||||||
RUN cd /tmp/zkgroup-${ZKGROUP_VERSION} \
|
|
||||||
&& make libzkgroup
|
|
||||||
#\
|
|
||||||
#&& ln -s /tmp/zkgroup-${ZKGROUP_VERSION} /tmp/zkgroup
|
|
||||||
|
|
||||||
RUN cd /tmp/zkgroup-${ZKGROUP_VERSION}/target/release \
|
|
||||||
&& zip -u /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/install/signal-cli/lib/zkgroup-${ZKGROUP_VERSION}.jar libzkgroup.so
|
|
||||||
|
|
||||||
RUN cd /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/distributions/ \
|
RUN cd /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/distributions/ \
|
||||||
&& mkdir -p signal-cli-${SIGNAL_CLI_VERSION}/lib/ \
|
&& mkdir -p signal-cli-${SIGNAL_CLI_VERSION}/lib/ \
|
||||||
&& cp /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/install/signal-cli/lib/zkgroup-java-${ZKGROUP_VERSION}.jar signal-cli-${SIGNAL_CLI_VERSION}/lib/ \
|
&& cp /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/install/signal-cli/lib/zkgroup-java-${ZKGROUP_VERSION}.jar signal-cli-${SIGNAL_CLI_VERSION}/lib/ \
|
||||||
|
|
||||||
# update zip
|
# update zip
|
||||||
&& zip -u /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/distributions/signal-cli-${SIGNAL_CLI_VERSION}.zip signal-cli-${SIGNAL_CLI_VERSION}/lib/zkgroup-java-${ZKGROUP_VERSION}.jar \
|
&& zip -u /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/distributions/signal-cli-${SIGNAL_CLI_VERSION}.zip signal-cli-${SIGNAL_CLI_VERSION}/lib/zkgroup-java-${ZKGROUP_VERSION}.jar \
|
||||||
|
|
||||||
# update tar
|
# update tar
|
||||||
&& tar --delete -vPf /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/distributions/signal-cli-${SIGNAL_CLI_VERSION}.tar signal-cli-${SIGNAL_CLI_VERSION}/lib/zkgroup-java-${ZKGROUP_VERSION}.jar \
|
&& tar --delete -vPf /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/distributions/signal-cli-${SIGNAL_CLI_VERSION}.tar signal-cli-${SIGNAL_CLI_VERSION}/lib/zkgroup-java-${ZKGROUP_VERSION}.jar \
|
||||||
&& tar --owner='' --group='' -rvPf /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/distributions/signal-cli-${SIGNAL_CLI_VERSION}.tar signal-cli-${SIGNAL_CLI_VERSION}/lib/zkgroup-java-${ZKGROUP_VERSION}.jar
|
&& tar --owner='' --group='' -rvPf /tmp/signal-cli-${SIGNAL_CLI_VERSION}/build/distributions/signal-cli-${SIGNAL_CLI_VERSION}.tar signal-cli-${SIGNAL_CLI_VERSION}/lib/zkgroup-java-${ZKGROUP_VERSION}.jar
|
||||||
@@ -112,3 +97,5 @@ RUN groupadd -g 1000 signal-api \
|
|||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user