Personal Projects - Andreas

jenkins-ssh-docker-agent (alpine)

Published 2026-01-03 02:20:42 +01:00 by jenkins in andreas-personal/jenkins-ssh-docker-agent

Installation

docker pull gitea.fahrecker.com/andreas-personal/jenkins-ssh-docker-agent:alpine
sha256:2582f00425c6ac6070050fdea6eed082da4f69bafd31a5f04610c2b4db56ab19

About this package

A Jenkins agent image which allows using SSH to establish the connection

Image Layers

ADD alpine-minirootfs-3.23.2-x86_64.tar.gz / # buildkit
CMD ["/bin/sh"]
ARG user=jenkins
ARG group=jenkins
ARG uid=1000
ARG gid=1000
ARG JENKINS_AGENT_HOME=/home/jenkins
ENV JENKINS_AGENT_HOME=/home/jenkins
ARG AGENT_WORKDIR=/home/jenkins/agent
ENV AGENT_WORKDIR=/home/jenkins/agent
RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c addgroup -g "${gid}" "${group}" && adduser -h "${JENKINS_AGENT_HOME}" -u "${uid}" -G "${group}" -s /bin/bash -D "${user}" && passwd -u "${user}" && mkdir -p "${JENKINS_AGENT_HOME}/.ssh/" "${JENKINS_AGENT_HOME}/.jenkins/" "${AGENT_WORKDIR}" && chown -R "${uid}":"${gid}" "${JENKINS_AGENT_HOME}" "${AGENT_WORKDIR}" # buildkit
RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c apk add --no-cache bash git less musl-locales netcat-openbsd openssh patch && rm -f /etc/ssh/ssh_host*_key* # buildkit
COPY git-lfs.tgz git-lfs.tgz # buildkit
RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c tar xzf git-lfs.tgz && bash git-lfs-*/install.sh && rm -rf git-lfs* # buildkit
RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c sed -i /etc/ssh/sshd_config -e 's/#PermitRootLogin.*/PermitRootLogin no/' -e 's/#PasswordAuthentication.*/PasswordAuthentication no/' -e 's/#SyslogFacility.*/SyslogFacility AUTH/' -e 's/#LogLevel.*/LogLevel INFO/' -e 's/#PermitUserEnvironment.*/PermitUserEnvironment yes/' && mkdir /var/run/sshd # buildkit
ENV JAVA_HOME=/opt/java/openjdk
COPY /javaruntime /opt/java/openjdk # buildkit
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
VOLUME [/home/jenkins/agent /home/jenkins/.jenkins /tmp /run /var/run]
WORKDIR /home/jenkins
RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c echo "PATH=${PATH}" >> ${JENKINS_AGENT_HOME}/.ssh/environment # buildkit
COPY setup-sshd /usr/local/bin/setup-sshd # buildkit
EXPOSE [22/tcp]
ENTRYPOINT ["setup-sshd"]
LABEL org.opencontainers.image.vendor=Jenkins project org.opencontainers.image.title=Official Jenkins SSH Agent Docker image org.opencontainers.image.description=A Jenkins agent image which allows using SSH to establish the connection org.opencontainers.image.url=https://www.jenkins.io/ org.opencontainers.image.source=https://github.com/jenkinsci/docker-ssh-agent org.opencontainers.image.licenses=MIT
RUN /bin/sh -c addgroup --gid 281 docker # buildkit
RUN /bin/sh -c addgroup jenkins docker # buildkit
RUN /bin/sh -c apk add --no-cache docker docker-compose # buildkit
RUN /bin/sh -c apk add --no-cache tea # buildkit
RUN /bin/sh -c apk add --no-cache openssl # buildkit
RUN /bin/sh -c apk add --no-cache git-lfs # buildkit
RUN /bin/sh -c git lfs install --system # buildkit

Labels

Key Value
org.opencontainers.image.description A Jenkins agent image which allows using SSH to establish the connection
org.opencontainers.image.licenses MIT
org.opencontainers.image.source https://github.com/jenkinsci/docker-ssh-agent
org.opencontainers.image.title Official Jenkins SSH Agent Docker image
org.opencontainers.image.url https://www.jenkins.io/
org.opencontainers.image.vendor Jenkins project
Details
Container
2026-01-03 02:20:42 +01:00
1
OCI / Docker
linux/amd64
MIT
212 MiB
Versions (2) View all
latest 2026-01-03
alpine 2026-01-03