Merge pull request #1017 from AladW/fetch-mirror
[aurutils.git] / docker / Dockerfile
blob76856c90d2b4d166aa29b0f9bce4a12c293e73ed
1 FROM archlinux:latest
2 LABEL Name=aurutils
4 # packages, time zone
5 RUN pacman -Syu --noconfirm --needed base base-devel
6 RUN pacman -Syu --noconfirm jq pacutils git expect shellcheck vim vifm devtools bash-completion man-db man-pages ninja
7 RUN ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime
9 # unprivileged user
10 ARG USERNAME=archie
11 RUN useradd -m -s /bin/bash $USERNAME
12 RUN install -o $USERNAME -dm755 /home/$USERNAME/.local && \
13     install -o $USERNAME -dm755 /home/$USERNAME/.local/bin
14 ENV PATH "/home/${USERNAME}/.local/bin:$PATH"
16 # locales
17 RUN echo en_US.UTF-8 UTF-8 > /etc/locale.gen && locale-gen
18 ENV LANG en_US.UTF-8
20 # sudoers
21 RUN echo $USERNAME ALL=\(root\) NOPASSWD: /usr/bin/pacman > /etc/sudoers.d/$USERNAME-pacman && \
22     chmod 0440 /etc/sudoers.d/$USERNAME-pacman
24 # local repository
25 ARG REPO_DB=/home/custompkgs/custom.db.tar.gz
26 RUN install -o $USERNAME -dm755 /home/custompkgs && \
27     sudo -u $USERNAME repo-add $REPO_DB
29 ARG PACMAN_CONF=/etc/pacman.conf
30 RUN perl -0777 -pi -e 's/#(\[custom\])\n#(SigLevel.*)\n#(Server.*)\n/$1\n$2\n$3\n/' $PACMAN_CONF && \
31     pacsync custom
33 # aurutils volume
34 VOLUME /home/$USERNAME/aurutils
35 WORKDIR /home/$USERNAME/aurutils
37 CMD ["/bin/bash"]