FROM node:14

ARG JENKINS_UID=386
ARG JENKINS_GID=386
ARG DOCKER_GID=999

RUN apt-get update -qq && apt-get install -y curl

# Install s5cmd for S3 uploads (much faster than AWS CLI)
RUN ARCH=$(uname -m); if [ "$ARCH" = "x86_64" ]; then S5CMD_ARCH="64bit"; else S5CMD_ARCH="arm64"; fi && \
    curl -sL "https://github.com/peak/s5cmd/releases/download/v2.3.0/s5cmd_2.3.0_Linux-${S5CMD_ARCH}.tar.gz" | tar xz -C /usr/local/bin s5cmd

# install docker cli
RUN wget -q -O /tmp/docker-cli.deb https://download.docker.com/linux/debian/dists/stretch/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_18.09.2~3-0~debian-stretch_$(dpkg --print-architecture).deb \
  && dpkg -i /tmp/docker-cli.deb

RUN npm install -g serverless

# Create the jenkins user with the same id:gid as the jenkins node
RUN groupadd -g $JENKINS_GID jenkins \
  && useradd -m -d /var/lib/jenkins -u $JENKINS_UID -g jenkins jenkins

# create docker group, add jenkins user to it
RUN groupadd -g $DOCKER_GID docker \
  && usermod -aG docker jenkins

USER jenkins
