devbox-devcontainer/.devcontainer/Dockerfile.user
2024-10-18 00:24:36 +02:00

51 lines
1.4 KiB
Docker

FROM ubuntu:20.04
ARG UID=1000
ARG GID=1000
# Define environment variable
# ENV DEBUG ON
ENV WORKDIR=/workspace
ENV DEVBOX_USE_VERSION=0.13.5
ENV DEFAULT_TZ=Europe/Berlin
# Install additional OS packages
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive TZ=${DEFAULT_TZ} apt-get -y install --no-install-recommends \
bash-completion \
binutils \
ca-certificates \
curl \
git \
xz-utils \
sudo \
# Clean up
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*
# Step 2: Setting up the devbox user
ENV DEVBOX_USER=devbox
RUN groupadd -g $GID -o $DEVBOX_USER
RUN useradd -m -u $UID -g $GID -o -s /bin/bash $DEVBOX_USER
RUN usermod -aG sudo $DEVBOX_USER
RUN echo " devbox ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$DEVBOX_USER
USER $DEVBOX_USER
# Step 3: Installing devbox
RUN curl -fsSL https://get.jetify.com/devbox | bash -s -- -f
RUN chown -R "${DEVBOX_USER}:${DEVBOX_USER}" /usr/local/bin/devbox
RUN devbox version update
# Step 4: Install Nix
RUN curl -fsSL https://nixos.org/nix/install | sh -s -- --no-daemon
RUN . ~/.nix-profile/etc/profile.d/nix.sh
# updating PATH
ENV PATH="/home/${DEVBOX_USER}/.nix-profile/bin:/home/${DEVBOX_USER}/.devbox/nix/profile/default/bin:${PATH}"
# Step 5: Install your devbox project
WORKDIR /workspace
RUN sudo chown $DEVBOX_USER:root /workspace
# COPY devbox.json devbox.json
#RUN devbox init
CMD ["devbox", "shell"]
#CMD ["bash"]