Skip to content
This repository was archived by the owner on Jun 22, 2024. It is now read-only.

Commit 8248dd7

Browse files
authored
Merge branch 'trunk' into 4.18.0
2 parents 4543903 + e22b1f0 commit 8248dd7

23 files changed

+1616
-33
lines changed

.circleci/config.yml

Lines changed: 404 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Build & test multi-arch
2+
3+
on:
4+
# push:
5+
# branches:
6+
# - multi-arch-tests
7+
# - qemu-user-static
8+
# pull_request:
9+
# branches:
10+
# - trunk
11+
workflow_dispatch:
12+
13+
jobs:
14+
build-and-test-multi-arch:
15+
# Skip job based on the commit message, only works in push to branches for now
16+
if: contains(toJson(github.event.commits), '[skip ci]') == false
17+
name: Build & test multi-arch
18+
runs-on: ubuntu-20.04
19+
strategy:
20+
matrix:
21+
use-random-user: [false, true]
22+
arch: [amd64, arm64]
23+
fail-fast: false
24+
25+
steps:
26+
- uses: actions/checkout@v1
27+
- name: Output Docker info
28+
run: docker info
29+
- name: Set up Python 3.8
30+
uses: actions/setup-python@v2
31+
with:
32+
python-version: 3.8
33+
- name: Get branch name (only for push to branch)
34+
if: github.event_name == 'push'
35+
run: echo "BRANCH=$(echo ${PUSH_BRANCH##*/})" >> $GITHUB_ENV
36+
env:
37+
PUSH_BRANCH: ${{ github.ref }}
38+
- name: Get target branch name (only for PRs)
39+
if: github.event_name == 'pull_request'
40+
run: echo "BRANCH=$(echo ${TARGET_BRANCH##*/})" >> $GITHUB_ENV
41+
env:
42+
TARGET_BRANCH: ${{ github.head_ref }}
43+
- name: Output branch name
44+
run: echo ${BRANCH}
45+
- name: Sets build date
46+
run: echo "BUILD_DATE=$(date '+%Y%m%d')" >> $GITHUB_ENV
47+
- name: Build Docker images
48+
run: VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} ARCH=${ARCH} make build_multi
49+
if: matrix.arch == 'arm64' && matrix.use-random-user == 'false'
50+
- name: Test Docker images
51+
run: |
52+
docker run -d --platform linux/${ARCH} --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-firefox:${BRANCH}-${BUILD_DATE}
53+
USE_RANDOM_USER_ID=${USE_RANDOM_USER} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} ARCH=${ARCH} SKIP_BUILD=true make test_firefox_standalone_multi
54+
#USE_RANDOM_USER_ID=${USE_RANDOM_USER} VERSION=${BRANCH} BUILD_DATE=${BUILD_DATE} ARCH=${ARCH} SKIP_BUILD=true make test_chromium_standalone_multi
55+
env:
56+
USE_RANDOM_USER: ${{ matrix.use-random-user }}
57+
ARCH: ${{ matrix.arch }}
58+
if: matrix.arch == 'arm64' && matrix.use-random-user == 'false'
59+

.github/workflows/scan-dockerfile.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
format: 'sarif'
3939
output: 'source-results.sarif'
4040
scanners: 'vuln,secret,misconfig'
41-
skip-dirs: 'tests,Video'
41+
skip-dirs: 'tests,Video,NodeChromium,NodeFirefox'
4242
exit-code: '${{ env.EXIT_CODE }}'
4343
severity: '${{ env.SEVERITY }}'
4444
limit-severities-for-sarif: true

Base/Dockerfile

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
FROM ubuntu:jammy-20240125
1+
#FROM ubuntu:jammy-20240125
2+
FROM debian:bookworm
23
LABEL authors="Selenium <[email protected]>"
34

45
# Arguments to define the version of dependencies to download
@@ -19,13 +20,16 @@ USER root
1920
#================================================
2021
# Customize sources for apt-get
2122
#================================================
22-
RUN echo "deb http://archive.ubuntu.com/ubuntu jammy main universe\n" > /etc/apt/sources.list \
23-
&& echo "deb http://archive.ubuntu.com/ubuntu jammy-updates main universe\n" >> /etc/apt/sources.list \
24-
&& echo "deb http://security.ubuntu.com/ubuntu jammy-security main universe\n" >> /etc/apt/sources.list
23+
#RUN echo "deb http://archive.ubuntu.com/ubuntu jammy main universe\n" > /etc/apt/sources.list \
24+
# && echo "deb http://archive.ubuntu.com/ubuntu jammy-updates main universe\n" >> /etc/apt/sources.list \
25+
# && echo "deb http://security.ubuntu.com/ubuntu jammy-security main universe\n" >> /etc/apt/sources.list
26+
ARG TARGETARCH
27+
ARG TARGETVARIANT
2528

2629
# No interactive frontend during docker build
2730
ENV DEBIAN_FRONTEND=noninteractive \
2831
DEBCONF_NONINTERACTIVE_SEEN=true
32+
RUN echo "VERSION is $VERSION" && echo "RELEASE is $RELEASE"
2933

3034
#========================
3135
# Miscellaneous packages
@@ -37,7 +41,6 @@ RUN apt-get -qqy update \
3741
acl \
3842
bzip2 \
3943
ca-certificates \
40-
openjdk-11-jre-headless \
4144
tzdata \
4245
sudo \
4346
unzip \
@@ -47,8 +50,22 @@ RUN apt-get -qqy update \
4750
supervisor \
4851
gnupg2 \
4952
libnss3-tools \
50-
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
51-
&& sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/java-11-openjdk-amd64/conf/security/java.security
53+
&& mkdir -p /etc/apt/keyrings \
54+
&& wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc \
55+
&& echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list \
56+
&& apt-get update -y \
57+
&& apt-get install temurin-11-jre -y \
58+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
59+
60+
#===================
61+
62+
RUN if [ $TARGETARCH = "arm" ] && [ $TARGETVARIANT = "v7" ]; then \
63+
export ARCH=armhf ; \
64+
else \
65+
export ARCH=$TARGETARCH ; \
66+
fi \
67+
&& sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/temurin-11-jre-$ARCH/conf/security/java.security
68+
5269

5370
#===================
5471
# Timezone settings
@@ -112,16 +129,21 @@ RUN mkdir -p /opt/selenium /opt/selenium/assets /var/run/supervisor /var/log/sup
112129
# Download observability related jaegar jars and make them available in a separate directory
113130
# so that the container can skip downloading them everytime it comes up
114131
#=====
115-
RUN curl -fLo /tmp/cs https://github.com/coursier/launchers/raw/master/coursier \
116-
&& chmod +x /tmp/cs \
117-
&& mkdir -p /external_jars \
118-
&& chmod -R 775 /external_jars
119-
120-
RUN /tmp/cs fetch --classpath --cache /external_jars \
132+
#RUN curl -fLo /tmp/cs https://github.com/coursier/launchers/raw/master/coursier \
133+
RUN if [ `arch` = "aarch64" ] || [ `arch` = "x86_64" ]; then \
134+
curl -fL https://github.com/coursier/launchers/raw/master/cs-`arch`-pc-linux.gz | gzip -d > /tmp/cs \
135+
&& chmod +x /tmp/cs \
136+
&& mkdir -p /external_jars \
137+
&& chmod -R 775 /external_jars ; \
138+
fi
139+
140+
RUN if [ -f "/tmp/cs" ]; then \
141+
/tmp/cs fetch --classpath --cache /external_jars \
121142
io.opentelemetry:opentelemetry-exporter-otlp:${OPENTELEMETRY_VERSION} \
122-
io.grpc:grpc-netty:${GRPC_VERSION} > /external_jars/.classpath.txt
143+
io.grpc:grpc-netty:${GRPC_VERSION} > /external_jars/.classpath.txt; \
144+
fi
123145

124-
RUN chmod 664 /external_jars/.classpath.txt
146+
RUN if [ -f "/tmp/cs" ]; then chmod 664 /external_jars/.classpath.txt ; fi
125147
RUN rm -fr /root/.cache/*
126148

127149
#===================================================

Makefile

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ MAJOR_MINOR_PATCH := $(word 1,$(subst -, ,$(TAG_VERSION)))
1919
FFMPEG_TAG_VERSION := $(or $(FFMPEG_TAG_VERSION),$(FFMPEG_TAG_VERSION),ffmpeg-6.1)
2020
FFMPEG_BASED_NAME := $(or $(FFMPEG_BASED_NAME),$(FFMPEG_BASED_NAME),ndviet)
2121
FFMPEG_BASED_TAG := $(or $(FFMPEG_BASED_TAG),$(FFMPEG_BASED_TAG),6.1-ubuntu2204)
22+
PLATFORMS := $(or $(PLATFORMS),$(PLATFORMS),linux/arm64)
2223

2324
all: hub \
2425
distributor \
@@ -134,6 +135,81 @@ video:
134135
cd ./Video && docker build $(BUILD_ARGS) --build-arg NAMESPACE=$(FFMPEG_BASED_NAME) --build-arg BASED_TAG=$(FFMPEG_BASED_TAG) -t $(NAME)/video:$(FFMPEG_TAG_VERSION)-$(BUILD_DATE) .
135136

136137

138+
# Register linux/arm64 and linux/arm/v7 architectures for building with BuildKit
139+
# docker run --rm --privileged aptman/qus -s -- -p # for actions
140+
qemu_user_static:
141+
docker run --rm --privileged aptman/qus -- -r ; \
142+
docker run --rm --privileged aptman/qus -s -- -p
143+
144+
# Build multi-arch images
145+
all_multi: base_multi \
146+
hub_multi \
147+
chromium_multi \
148+
firefox_multi \
149+
docker_multi \
150+
standalone_chromium_multi \
151+
standalone_firefox_multi \
152+
standalone_docker_multi \
153+
distributor_multi \
154+
router_multi \
155+
sessions_multi \
156+
sessionqueue_multi \
157+
event_bus_multi \
158+
uploader_multi \
159+
video_multi
160+
161+
build_multi: all_multi
162+
163+
ci_multi: build_multi test_multi_arch
164+
165+
base_multi: qemu_user_static
166+
cd ./Base && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) --build-arg VERSION=$(BASE_VERSION) --build-arg RELEASE=$(BASE_RELEASE) -t $(NAME)/base:$(TAG_VERSION) .
167+
168+
hub_multi: base_multi
169+
cd ./Hub && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/hub:$(TAG_VERSION) .
170+
171+
distributor_multi:
172+
cd ./Distributor && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/distributor:$(TAG_VERSION) .
173+
174+
router_multi:
175+
cd ./Router && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/router:$(TAG_VERSION) .
176+
177+
sessions_multi:
178+
cd ./Sessions && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/sessions:$(TAG_VERSION) .
179+
180+
sessionqueue_multi:
181+
cd ./SessionQueue && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/session-queue:$(TAG_VERSION) .
182+
183+
event_bus_multi: base_multi
184+
cd ./EventBus && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/event-bus:$(TAG_VERSION) .
185+
186+
node_base_multi: base_multi
187+
cd ./NodeBase && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/node-base:$(TAG_VERSION) .
188+
189+
chromium_multi: node_base_multi
190+
cd ./NodeChromium && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/node-chromium:$(TAG_VERSION) .
191+
192+
firefox_multi: node_base_multi
193+
cd ./NodeFirefox && docker buildx build -f Dockerfile.multi-arch --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/node-firefox:$(TAG_VERSION) .
194+
195+
docker_multi: base_multi
196+
cd ./NodeDocker && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/node-docker:$(TAG_VERSION) .
197+
198+
standalone_firefox_multi: firefox_multi
199+
cd ./Standalone && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) --build-arg BASE=node-firefox -t $(NAME)/standalone-firefox:$(TAG_VERSION) .
200+
201+
standalone_chromium_multi: chromium_multi
202+
cd ./Standalone && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) --build-arg BASE=node-chromium -t $(NAME)/standalone-chromium:$(TAG_VERSION) .
203+
204+
standalone_docker_multi: docker_multi
205+
cd ./StandaloneDocker && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) $(FROM_IMAGE_ARGS) -t $(NAME)/standalone-docker:$(TAG_VERSION) .
206+
207+
uploader_multi:
208+
cd ./Uploader && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) --build-arg BASED_TAG=$(RCLONE_BASED_TAG) -t $(NAME)/uploader:$(RCLONE_TAG_VERSION)-$(BUILD_DATE) .
209+
210+
video_multi:
211+
cd ./Video && docker buildx build --platform $(PLATFORMS) $(BUILD_ARGS) --build-arg NAMESPACE=$(FFMPEG_BASED_NAME) --build-arg BASED_TAG=$(FFMPEG_BASED_TAG) -t $(NAME)/video:$(FFMPEG_TAG_VERSION)-$(BUILD_DATE) .
212+
137213
# https://github.com/SeleniumHQ/docker-selenium/issues/992
138214
# Additional tags for browser images
139215
tag_and_push_browser_images: tag_and_push_chrome_images tag_and_push_firefox_images tag_and_push_edge_images
@@ -166,6 +242,58 @@ tag_latest:
166242
docker tag $(NAME)/standalone-docker:$(TAG_VERSION) $(NAME)/standalone-docker:latest
167243
docker tag $(NAME)/video:$(FFMPEG_TAG_VERSION)-$(BUILD_DATE) $(NAME)/video:latest
168244

245+
# Additional tags for browser images
246+
tag_and_push_multi_arch_browser_images: tag_and_push_multi_arch_chromium_images tag_and_push_multi_arch_firefox_images
247+
248+
tag_and_push_multi_arch_chromium_images:
249+
./tag_and_push_multi-arch_browser_images.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) chromium
250+
251+
tag_and_push_multi_arch_firefox_images:
252+
./tag_and_push_multi-arch_browser_images.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) firefox
253+
254+
tag_major_minor_multi_arch:
255+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) base
256+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) hub
257+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) node-base
258+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) node-docker
259+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) standalone-docker
260+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) sessions
261+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) session-queue
262+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) event-bus
263+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) router
264+
./tag_and_push_multi-arch_major_minor.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) distributor
265+
266+
tag_multi_arch_latest:
267+
docker buildx imagetools create -t ${NAMESPACE}/base:latest ${NAMESPACE}/base:${TAG_VERSION}
268+
docker buildx imagetools create -t ${NAMESPACE}/hub:latest ${NAMESPACE}/hub:${TAG_VERSION}
269+
docker buildx imagetools create -t ${NAMESPACE}/node-base:latest ${NAMESPACE}/node-base:${TAG_VERSION}
270+
docker buildx imagetools create -t ${NAMESPACE}/node-chromium:latest ${NAMESPACE}/node-chromium:${TAG_VERSION}
271+
docker buildx imagetools create -t ${NAMESPACE}/node-firefox:latest ${NAMESPACE}/node-firefox:${TAG_VERSION}
272+
docker buildx imagetools create -t ${NAMESPACE}/standalone-chromium:latest ${NAMESPACE}/standalone-chromium:${TAG_VERSION}
273+
docker buildx imagetools create -t ${NAMESPACE}/standalone-firefox:latest ${NAMESPACE}/standalone-firefox:${TAG_VERSION}
274+
docker buildx imagetools create -t ${NAMESPACE}/node-docker:latest ${NAMESPACE}/node-docker:${TAG_VERSION}
275+
docker buildx imagetools create -t ${NAMESPACE}/standalone-docker:latest ${NAMESPACE}/standalone-docker:${TAG_VERSION}
276+
docker buildx imagetools create -t ${NAMESPACE}/sessions:latest ${NAMESPACE}/sessions:${TAG_VERSION}
277+
docker buildx imagetools create -t ${NAMESPACE}/session-queue:latest ${NAMESPACE}/session-queue:${TAG_VERSION}
278+
docker buildx imagetools create -t ${NAMESPACE}/event-bus:latest ${NAMESPACE}/event-bus:${TAG_VERSION}
279+
docker buildx imagetools create -t ${NAMESPACE}/router:latest ${NAMESPACE}/router:${TAG_VERSION}
280+
docker buildx imagetools create -t ${NAMESPACE}/distributor:latest ${NAMESPACE}/distributor:${TAG_VERSION}
281+
282+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) base latest
283+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) hub latest
284+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) node-base latest
285+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) node-chromium latest
286+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) node-firefox latest
287+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) standalone-chromium latest
288+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) standalone-firefox latest
289+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) node-docker latest
290+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) standalone-docker latest
291+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) sessions latest
292+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) session-queue latest
293+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) event-bus latest
294+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) router latest
295+
# ./tag-and-push-multi-arch-image.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) distributor latest
296+
169297
release_latest:
170298
docker push $(NAME)/base:latest
171299
docker push $(NAME)/hub:latest
@@ -382,6 +510,27 @@ test_firefox:
382510
test_firefox_standalone:
383511
VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/bootstrap.sh StandaloneFirefox
384512

513+
514+
# Test multi-arch container images
515+
test_multi_arch: test_chromium_multi \
516+
test_firefox_multi \
517+
test_chromium_standalone_multi \
518+
test_firefox_standalone_multi
519+
520+
521+
test_chromium_multi:
522+
VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/bootstrap.sh NodeChromium
523+
524+
test_chromium_standalone_multi:
525+
VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/bootstrap.sh StandaloneChromium
526+
527+
test_firefox_multi:
528+
VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/bootstrap.sh NodeFirefox
529+
530+
test_firefox_standalone_multi:
531+
VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/bootstrap.sh StandaloneFirefox
532+
533+
385534
# This should run on its own CI job. There is no need to combine it with the other tests.
386535
# Its main purpose is to check that a video file was generated.
387536
test_video: video hub chrome firefox edge

NodeBase/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ ENV LANG ${LANGUAGE}
3131
# Layer size: small: ~9 MB MB (with --no-install-recommends)
3232
RUN apt-get -qqy update \
3333
&& apt-get -qqy --no-install-recommends install \
34-
language-pack-en \
34+
#language-pack-en \
3535
tzdata \
3636
locales \
3737
&& locale-gen ${LANGUAGE} \
@@ -82,13 +82,14 @@ RUN apt-get -qqy update \
8282
&& apt-get -qqy --no-install-recommends install \
8383
libfontconfig \
8484
libfreetype6 \
85-
xfonts-cyrillic \
85+
#xfonts-cyrillic \
8686
xfonts-scalable \
8787
fonts-liberation \
8888
fonts-ipafont-gothic \
8989
fonts-wqy-zenhei \
9090
fonts-tlwg-loma-otf \
91-
fonts-ubuntu \
91+
# ttf-ubuntu-font-family \
92+
# fonts-ubuntu \
9293
fonts-noto-color-emoji \
9394
&& rm -rf /var/lib/apt/lists/* \
9495
&& apt-get -qyy clean

0 commit comments

Comments
 (0)