advimman-lama
SUCCESS
7m 17s
History Source
SummaryIterations1Transcript7Dockerfile
Dockerfile43 lines · 1603 chars
FROM ubuntu:20.04

# Install system dependencies
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y wget mc tmux nano build-essential rsync libgl1 sudo ca-certificates curl git && \
    rm -rf /var/lib/apt/lists/*

# Create a non-root user
ARG USERNAME=user
RUN groupadd --gid 1000 $USERNAME && \
    useradd --uid 1000 --gid 1000 --create-home --shell /bin/bash $USERNAME && \
    echo "%sudo ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
    usermod -aG sudo $USERNAME

USER root
WORKDIR /home/$USERNAME

# Install Miniconda
ENV PATH="/home/$USERNAME/miniconda3/bin:${PATH}"
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
    bash /tmp/miniconda.sh -b -p /home/$USERNAME/miniconda3 && \
    rm /tmp/miniconda.sh

# Copy repository into the container
COPY --chown=$USERNAME:$USERNAME . /home/$USERNAME/project
WORKDIR /home/$USERNAME/project

# Create conda environment from conda_env.yml
RUN /bin/bash -lc "source /home/$USERNAME/miniconda3/etc/profile.d/conda.sh && conda env create -f conda_env.yml"

# Install Python dependencies from requirements.txt within the lama environment
RUN /bin/bash -lc "source /home/$USERNAME/miniconda3/etc/profile.d/conda.sh && conda run -n lama pip install -r requirements.txt"

# Environment variables for convenient access
ENV PATH="/home/$USERNAME/miniconda3/bin:${PATH}"
ENV PYTHONPATH="/home/$USERNAME/project"

# Switch to non-root user for runtime
USER $USERNAME
WORKDIR /home/$USERNAME/project
CMD ["bash"]