blob: f796598fb140bd4a8076f856109e977cfe0c078a [file] [log] [blame]
Leonardo Sandoval4cb535c2022-01-04 12:07:31 -06001FROM ubuntu:20.04
2
3ENV PKG_DEPS="\
4 apt-transport-https \
5 ca-certificates \
6 curl \
7 git \
8 gnupg \
9 lsb-release \
Saheer Babub720c802025-07-23 09:01:16 +010010 openjdk-17-jre-headless \
Leonardo Sandoval36c74e22022-01-05 11:26:55 -060011 openssh-server \
Leonardo Sandoval4cb535c2022-01-04 12:07:31 -060012 python3 \
13 python3-venv \
14 sudo \
15 unzip \
16"
17
18ENV DOCKER_PKG_DEPS="\
19 containerd.io \
20 docker-ce \
21 docker-ce-cli \
22"
23
24# Can be overriden at build time
25ARG BUILDSLAVE_PASSWORD=buildslave
26
Leonardo Sandoval36c74e22022-01-05 11:26:55 -060027COPY setup-sshd /usr/sbin/setup-sshd
28
Leonardo Sandoval4cb535c2022-01-04 12:07:31 -060029RUN set -e ;\
Leonardo Sandoval36c74e22022-01-05 11:26:55 -060030 echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_US.UTF-8 UTF-8 ' | debconf-set-selections ;\
31 echo 'locales locales/default_environment_locale select en_US.UTF-8' | debconf-set-selections ;\
32 apt update -q=2 ;\
33 apt dist-upgrade -q=2 --yes ;\
34 apt install -q=2 --yes --no-install-recommends ${PKG_DEPS} ;\
Leonardo Sandoval4cb535c2022-01-04 12:07:31 -060035 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ;\
36 echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
37 $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null ;\
Leonardo Sandoval36c74e22022-01-05 11:26:55 -060038 apt update -q=2 ;\
39 apt install -q=2 --yes --no-install-recommends ${DOCKER_PKG_DEPS} ;\
Leonardo Sandoval4cb535c2022-01-04 12:07:31 -060040 # Setup buildslave user for Jenkins
41 useradd -m -s /bin/bash buildslave ;\
42 echo "buildslave:$BUILDSLAVE_PASSWORD" | chpasswd ;\
43 echo 'buildslave ALL = NOPASSWD: ALL' > /etc/sudoers.d/jenkins ;\
44 chmod 0440 /etc/sudoers.d/jenkins ;\
Leonardo Sandoval4cb535c2022-01-04 12:07:31 -060045 usermod -aG docker buildslave ;\
Arthur She3629b222022-01-05 22:05:29 -080046 ln -s $(which python3) /usr/bin/python ;\
Arthur Shec8e715e2022-01-08 22:26:30 -080047 mkdir -p /var/run/sshd
Leonardo Sandoval36c74e22022-01-05 11:26:55 -060048
49EXPOSE 22
50ENTRYPOINT ["/usr/sbin/setup-sshd"]