51 lines
1.4 KiB
Docker
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"] |