generated from Linkurious/docker-app-template
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDockerfile
58 lines (51 loc) · 2.75 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
ARG PRIVATE_REGISTRY=hub.docker.nexus3.linkurious.net/
FROM ${PRIVATE_REGISTRY}linkurious/docker-agent-jnlp:0.0.38
LABEL maintainer="Edward Nys <[email protected]>"
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
USER root
# Latest Google Chrome installation package
RUN curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
# Latest Ubuntu Google Chrome, XVFB and JRE installs
# renovate: datasource=repology depName=aur/google-chrome versioning=loose
ARG GOOGLE_CHROME_STABLE_VERSION=130.0.6723.91-1
# renovate: datasource=repology depName=debian_12/firefox-esr versioning=loose
ARG FIREFOX_ESR_VERSION=128.4.0esr-1~deb12u1
RUN apt-get update -qqy && \
apt-get -qqy install --no-install-recommends \
#xvfb=2:1.20.4-1 \
#xauth=1:1.0.10-1 \
google-chrome-stable=$GOOGLE_CHROME_STABLE_VERSION \
firefox-esr=$FIREFOX_ESR_VERSION \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
#RUN echo kernel.unprivileged_userns_clone = 1 | tee /etc/sysctl.d/00-local-userns.conf
USER jenkins
# renovate: datasource=github-releases depName=nvm-sh/nvm
ARG NVM_VERSION=v0.40.1
# hadolint ignore=SC1091, SC2016
RUN git clone --depth 1 --branch "$NVM_VERSION" https://github.com/nvm-sh/nvm.git ~/.nvm && \
echo -e 'export NVM_DIR="$HOME/.nvm"\n[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm\n' >> ~/.bashrc \
&& echo -e 'export NVM_DIR="$HOME/.nvm"\n[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm\n' >> ~/.profile \
&& source ~/.bashrc \
&& export NVM_DIR="$HOME/.nvm" && \. "$NVM_DIR/nvm.sh" \
&& nvm install 14.21.3 \
&& nvm install 16.20.2 \
&& nvm install 18.20.4 \
&& nvm install 20.18.0
# for loading profile, to make nvm available for sh
ENV ENV='$HOME/.profile'
# hadolint ignore=SC1091
RUN export NVM_DIR="$HOME/.nvm" && \. "$NVM_DIR/nvm.sh"
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable
COPY .angular-config.json /home/jenkins/.angular-config.json
ARG BUILD_VERSION
LABEL maintainer="Edward Nys <[email protected]>" \
org.opencontainers.image.description="Linkurious jenkins jnlp agent node" \
org.opencontainers.image.documentation="https://github.com/Linkurious/docker-agent-jnlp-node" \
org.opencontainers.image.title="Jenkins jnlp agent node for Linkurious" \
org.opencontainers.image.url="https://github.com/Linkurious/docker-agent-jnlp-node" \
org.opencontainers.image.source="https://github.com/Linkurious/docker-agent-jnlp-node" \
org.opencontainers.image.vendor="Linkurious" \
org.opencontainers.image.version="${BUILD_VERSION}"