58 lines
1.7 KiB
Docker
58 lines
1.7 KiB
Docker
FROM docker.io/library/archlinux:latest
|
|
|
|
ENV BUILD_USER=build
|
|
|
|
RUN pacman --sync --refresh --noconfirm --sysupgrade sudo
|
|
|
|
RUN echo "${BUILD_USER} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/${BUILD_USER} && \
|
|
useradd --create-home --home-dir /home/${BUILD_USER} --shell /bin/bash ${BUILD_USER}
|
|
USER ${BUILD_USER}
|
|
|
|
# execute local files
|
|
COPY installation-scripts /tmp/installation-scripts
|
|
RUN for f in {00-pacman-mirror.sh,01-rustup.sh}; do sudo /tmp/installation-scripts/$f; done && \
|
|
sudo rm --recursive --force /tmp/installation-scripts
|
|
ENV PATH="/home/${BUILD_USER}/.cargo/bin:/${BUILD_USER}/go/bin:${PATH}"
|
|
|
|
# Install PKGs from public repositories
|
|
RUN sudo pacman --sync --refresh --noconfirm --sysupgrade \
|
|
awk \
|
|
base-devel \
|
|
bash-completion \
|
|
docker \
|
|
gcc \
|
|
git \
|
|
gnupg \
|
|
go \
|
|
make \
|
|
openssh \
|
|
pacman-contrib \
|
|
podman \
|
|
vim \
|
|
which \
|
|
zip && \
|
|
sudo rm --recursive --force /var/cache/pacman/pkg/*
|
|
|
|
RUN sudo usermod --append --groups docker ${BUILD_USER}
|
|
|
|
# Install PKGs from private repositories
|
|
RUN sudo pacman --sync --refresh --noconfirm --sysupgrade \
|
|
oracle-instantclient-basic \
|
|
oracle-instantclient-jdbc \
|
|
oracle-instantclient-odbc \
|
|
oracle-instantclient-sdk \
|
|
oracle-instantclient-sqlplus \
|
|
oracle-instantclient-tools \
|
|
rpm-builder
|
|
|
|
RUN rm --recursive --force /var/cache/pacman/pkg
|
|
|
|
RUN sudo mkdir /workspace && sudo chown ${BUILD_USER}:${BUILD_USER} /workspace
|
|
WORKDIR /workspace
|
|
VOLUME [ "/workspace" ]
|
|
|
|
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
RUN sudo chmod +x /usr/local/bin/entrypoint.sh
|
|
|
|
ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ]
|