Skip to content

Commit d2d8f5a

Browse files
committed
RE1-T119 Build fix
1 parent 81f7167 commit d2d8f5a

2 files changed

Lines changed: 48 additions & 39 deletions

File tree

Web/Resgrid.Web.Tts/Dockerfile

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,34 +30,33 @@ RUN apt-get update \
3030
libespeak-ng1 \
3131
ca-certificates \
3232
curl \
33+
libc-bin \
34+
passwd \
35+
&& rm -rf /var/lib/apt/lists/* \
3336
&& mkdir -p /usr/local/share/piper-voices \
34-
&& curl -fsSL "https://github.com/rhasspy/piper/releases/download/${PIPER_VERSION}/piper_amd64.tar.gz" -o /tmp/piper.tar.gz \
37+
&& curl -fsSL --retry 3 --retry-delay 5 "https://github.com/rhasspy/piper/releases/download/${PIPER_VERSION}/piper_amd64.tar.gz" -o /tmp/piper.tar.gz \
3538
&& tar -xzf /tmp/piper.tar.gz -C /tmp \
3639
&& mv /tmp/piper/piper /usr/local/bin/piper \
3740
&& chmod +x /usr/local/bin/piper \
3841
&& find /tmp/piper -name '*.so*' -exec cp {} /usr/local/lib/ \; \
3942
&& if [ -d /tmp/piper/espeak-ng-data ]; then cp -R /tmp/piper/espeak-ng-data /usr/share/; else ln -sf /usr/lib/x86_64-linux-gnu/espeak-ng-data /usr/share/espeak-ng-data; fi \
4043
&& ldconfig \
4144
&& rm -rf /tmp/piper /tmp/piper.tar.gz \
42-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/norman/medium/en_US-norman-medium.onnx" -o /usr/local/share/piper-voices/en_US-norman-medium.onnx \
43-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/norman/medium/en_US-norman-medium.onnx.json" -o /usr/local/share/piper-voices/en_US-norman-medium.onnx.json \
44-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/es/es_MX/claude/high/es_MX-claude-high.onnx" -o /usr/local/share/piper-voices/es_MX-claude-high.onnx \
45-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/es/es_MX/claude/high/es_MX-claude-high.onnx.json" -o /usr/local/share/piper-voices/es_MX-claude-high.onnx.json \
46-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/sv/sv_SE/nst/medium/sv_SE-nst-medium.onnx" -o /usr/local/share/piper-voices/sv_SE-nst-medium.onnx \
47-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/sv/sv_SE/nst/medium/sv_SE-nst-medium.onnx.json" -o /usr/local/share/piper-voices/sv_SE-nst-medium.onnx.json \
48-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/de/de_DE/thorsten/medium/de_DE-thorsten-medium.onnx" -o /usr/local/share/piper-voices/de_DE-thorsten-medium.onnx \
49-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/de/de_DE/thorsten/medium/de_DE-thorsten-medium.onnx.json" -o /usr/local/share/piper-voices/de_DE-thorsten-medium.onnx.json \
50-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/fr/fr_FR/siwis/medium/fr_FR-siwis-medium.onnx" -o /usr/local/share/piper-voices/fr_FR-siwis-medium.onnx \
51-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/fr/fr_FR/siwis/medium/fr_FR-siwis-medium.onnx.json" -o /usr/local/share/piper-voices/fr_FR-siwis-medium.onnx.json \
52-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/it/it_IT/paola/medium/it_IT-paola-medium.onnx" -o /usr/local/share/piper-voices/it_IT-paola-medium.onnx \
53-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/it/it_IT/paola/medium/it_IT-paola-medium.onnx.json" -o /usr/local/share/piper-voices/it_IT-paola-medium.onnx.json \
54-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/pl/pl_PL/gosia/medium/pl_PL-gosia-medium.onnx" -o /usr/local/share/piper-voices/pl_PL-gosia-medium.onnx \
55-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/pl/pl_PL/gosia/medium/pl_PL-gosia-medium.onnx.json" -o /usr/local/share/piper-voices/pl_PL-gosia-medium.onnx.json \
56-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/uk/uk_UA/ukrainian_tts/medium/uk_UA-ukrainian_tts-medium.onnx" -o /usr/local/share/piper-voices/uk_UA-ukrainian_tts-medium.onnx \
57-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/uk/uk_UA/ukrainian_tts/medium/uk_UA-ukrainian_tts-medium.onnx.json" -o /usr/local/share/piper-voices/uk_UA-ukrainian_tts-medium.onnx.json \
58-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/ar/ar_JO/kareem/medium/ar_JO-kareem-medium.onnx" -o /usr/local/share/piper-voices/ar_JO-kareem-medium.onnx \
59-
&& curl -fsSL "https://huggingface.co/rhasspy/piper-voices/resolve/main/ar/ar_JO/kareem/medium/ar_JO-kareem-medium.onnx.json" -o /usr/local/share/piper-voices/ar_JO-kareem-medium.onnx.json \
60-
&& rm -rf /var/lib/apt/lists/* \
45+
&& for f in \
46+
"en/en_US/norman/medium/en_US-norman-medium" \
47+
"es/es_MX/claude/high/es_MX-claude-high" \
48+
"sv/sv_SE/nst/medium/sv_SE-nst-medium" \
49+
"de/de_DE/thorsten/medium/de_DE-thorsten-medium" \
50+
"fr/fr_FR/siwis/medium/fr_FR-siwis-medium" \
51+
"it/it_IT/paola/medium/it_IT-paola-medium" \
52+
"pl/pl_PL/gosia/medium/pl_PL-gosia-medium" \
53+
"uk/uk_UA/ukrainian_tts/medium/uk_UA-ukrainian_tts-medium" \
54+
"ar/ar_JO/kareem/medium/ar_JO-kareem-medium" \
55+
; do \
56+
name=$(basename "$f"); \
57+
curl -fsSL --retry 3 --retry-delay 5 "https://huggingface.co/rhasspy/piper-voices/resolve/main/${f}.onnx" -o "/usr/local/share/piper-voices/${name}.onnx"; \
58+
curl -fsSL --retry 3 --retry-delay 5 "https://huggingface.co/rhasspy/piper-voices/resolve/main/${f}.onnx.json" -o "/usr/local/share/piper-voices/${name}.onnx.json"; \
59+
done \
6160
&& groupadd --gid 10001 appgroup \
6261
&& useradd --uid 10001 --gid appgroup --create-home --shell /usr/sbin/nologin appuser
6362

Workers/Resgrid.Workers.Console/Dockerfile

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -40,29 +40,39 @@ RUN dotnet publish "Resgrid.Workers.Console.csproj" -c Release -o /app/publish -
4040
ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.9.0/wait /app/publish/wait
4141
RUN chmod +x /app/publish/wait
4242

43-
FROM base AS final
43+
## Install wkhtmltopdf and capture its runtime libraries
44+
RUN apt-get update \
45+
&& apt-get install -y --no-install-recommends \
46+
wget \
47+
fontconfig \
48+
xfonts-75dpi \
49+
xfonts-base \
50+
libfontconfig1 \
51+
libfreetype6 \
52+
libjpeg62-turbo \
53+
libpng16-16 \
54+
libssl3 \
55+
libx11-6 \
56+
libxext6 \
57+
libxrender1 \
58+
zlib1g \
59+
&& wget -q https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb \
60+
&& dpkg -i wkhtmltox_0.12.6.1-3.bookworm_amd64.deb || apt-get install -fy \
61+
&& rm -f wkhtmltox_0.12.6.1-3.bookworm_amd64.deb \
62+
&& mkdir -p /tmp/wkdeps \
63+
&& ldd /usr/local/bin/wkhtmltopdf | awk '/=>/ {print $3}' | while read lib; do cp "$lib" /tmp/wkdeps/; done \
64+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
4465

66+
FROM base AS final
4567
WORKDIR /app
4668

47-
## START - INSTALL WKHTMLTOPDF
48-
ENV WKHTMLTOX wkhtmltox_0.12.6.1-3.bookworm_amd64.deb
49-
ENV BUILD_PACKAGES build-essential
50-
ENV MAIN_PACKAGES apt-transport-https wget libfontconfig1-dev libfreetype6-dev libjpeg-dev libpng-dev libssl-dev libx11-dev libxext-dev libxrender-dev xfonts-75dpi xfonts-base zlib1g-dev fontconfig
51-
52-
RUN apt-get update && apt-get install -y $MAIN_PACKAGES
69+
## Copy wkhtmltopdf binary + runtime libraries from publish stage
70+
COPY --from=publish /usr/local/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
71+
COPY --from=publish /tmp/wkdeps/ /usr/local/lib/wkhtmltopdf/
72+
COPY --from=publish /etc/fonts/ /etc/fonts/
73+
COPY --from=publish /usr/share/fonts/ /usr/share/fonts/
5374

54-
RUN set -xe \
55-
&& apt-get update -qq \
56-
&& apt-get install --no-install-recommends -yq $BUILD_PACKAGES \
57-
&& wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb \
58-
&& dpkg -i ${WKHTMLTOX} \
59-
&& apt-get remove -y $BUILD_PACKAGES \
60-
&& apt-get autoremove -y \
61-
&& apt-get clean \
62-
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
63-
&& rm -rf ${WKHTMLTOX} \
64-
&& truncate -s 0 /var/log/*log
65-
## END - INSTALL WKHTMLTOPDF
75+
ENV LD_LIBRARY_PATH="/usr/local/lib/wkhtmltopdf:${LD_LIBRARY_PATH}"
6676

6777
COPY --from=publish /app/publish .
6878

0 commit comments

Comments
 (0)