Files
dotfiles/Dockerfile
Andrejus Kostarevas 50193eca51 feat: structure work
- split files/ into separate dirs
- rename scripts/ to script/, remove .sh extensions
- remove publish scripts, tf module, use github host
- remove unused install files
2023-02-24 00:34:31 +00:00

51 lines
1.1 KiB
Docker

#
# debian-base: Base Debian image with sudo user
#
FROM debian:bullseye AS debian-base
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get -qq update
RUN apt-get -qq install --no-install-recommends \
software-properties-common sudo uuid-runtime
# Create user with sudo priviledge
RUN useradd -r -u 1001 --create-home -m "test-user"
RUN adduser "test-user" sudo
RUN echo "test-user ALL=(ALL) NOPASSWD: ALL" \
>>/etc/sudoers
#
# source: Base image with source copied over
#
FROM debian-base AS source
ARG DOTFILES_DIR="/home/test-user/.dotfiles"
RUN mkdir ${DOTFILES_DIR}
RUN chown test-user ${DOTFILES_DIR}
ADD --chown="test-user" files "$DOTFILES_DIR/files"
ADD --chown="test-user" script "$DOTFILES_DIR/script"
WORKDIR "$DOTFILES_DIR"
#
# install: Installation steps
#
FROM source AS install
USER test-user
ENV USER=test-user
ARG UUID="docker"
RUN ./script/install
#
# test: Test entrypoint
#
FROM install AS test
ADD --chown="test-user" tests "$DOTFILES_DIR/tests"
WORKDIR "${DOTFILES_DIR}/tests"
ENTRYPOINT [ "./run.sh" ]