FROM python:3.10 # Set up a new user named "user" with user ID 1000 RUN useradd -m -u 1000 user # Set home to the user's home directory ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # Set the working directory to the user's home directory WORKDIR $HOME/app # Copy the current directory contents into the container at $HOME/app setting the owner to the user COPY --chown=user . $HOME/app RUN chmod 777 -R $HOME/app RUN apt update RUN xargs apt-get install < ./paquetes.txt -y RUN apt-get update -q \ && apt-get install -qy build-essential wget libfontconfig1 \ && rm -rf /var/lib/apt/lists/* # Install TexLive with scheme-basic RUN wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz; \ mkdir /install-tl-unx; \ tar -xvf install-tl-unx.tar.gz -C /install-tl-unx --strip-components=1; \ echo "selected_scheme scheme-basic" >> /install-tl-unx/texlive.profile; \ /install-tl-unx/install-tl -profile /install-tl-unx/texlive.profile; \ rm -r /install-tl-unx; \ rm install-tl-unx.tar.gz ENV PATH="/usr/local/texlive/2024/bin/x86_64-linux:${PATH}" #Install full #RUN tlmgr install scheme-full # Switch to the "user" user USER user # Try and run pip command after setting the user with `USER user` to avoid permission issues with Python RUN pip install --no-cache-dir --upgrade pip RUN pip install -r requirements.txt EXPOSE 7080 CMD ["fastapi", "run", "app.py", "--port", "7080"]