Last active
May 13, 2025 03:57
-
-
Save delagreen-v2/dd9b8f1045a749c86e7b853325c43e66 to your computer and use it in GitHub Desktop.
Dockerfile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM ubuntu:20.04 | |
USER root | |
WORKDIR /root | |
SHELL [ "/bin/bash", "-c" ] | |
ARG PYTHON_VERSION_TAG=3.10.5 | |
ARG LINK_PYTHON_TO_PYTHON3=1 | |
# Existing lsb_release causes issues with modern installations of Python3 | |
# https://github.com/pypa/pip/issues/4924#issuecomment-435825490 | |
# Set (temporarily) DEBIAN_FRONTEND to avoid interacting with tzdata | |
RUN apt-get -qq -y update && \ | |
apt-get upgrade -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \ | |
apt-utils\ | |
gcc \ | |
g++ \ | |
zlibc \ | |
zlib1g-dev \ | |
libssl-dev \ | |
libbz2-dev \ | |
libsqlite3-dev \ | |
libncurses5-dev \ | |
libgdbm-dev \ | |
libgdbm-compat-dev \ | |
liblzma-dev \ | |
libreadline-dev \ | |
uuid-dev \ | |
libffi-dev \ | |
tk-dev \ | |
wget \ | |
curl \ | |
git \ | |
make \ | |
sudo \ | |
bash-completion \ | |
tree \ | |
nano\ | |
vim \ | |
software-properties-common \ | |
xvfb \ | |
libxkbcommon0 \ | |
libxcb-xinerama0 \ | |
libxcb-icccm4 \ | |
libxcb-image0 \ | |
libxcb-keysyms1 \ | |
libxcb-randr0 \ | |
libxcb-render-util0 \ | |
libxcb-util1 \ | |
libxcb-xkb1 \ | |
qt5-default && \ | |
# build-essential \ | |
# libdbus-1-3 \ | |
# libpulse-mainloop-glib0\ | |
mv /usr/bin/lsb_release /usr/bin/lsb_release.bak && \ | |
apt-get -y autoclean && \ | |
apt-get -y autoremove && \ | |
rm -rf /var/lib/apt/lists/* | |
COPY install_python.sh install_python.sh | |
RUN bash install_python.sh ${PYTHON_VERSION_TAG} ${LINK_PYTHON_TO_PYTHON3} && \ | |
rm -r install_python.sh Python-${PYTHON_VERSION_TAG} | |
# Enable tab completion by uncommenting it from /etc/bash.bashrc | |
# The relevant lines are those below the phrase "enable bash completion in interactive shells" | |
RUN export SED_RANGE="$(($(sed -n '\|enable bash completion in interactive shells|=' /etc/bash.bashrc)+1)),$(($(sed -n '\|enable bash completion in interactive shells|=' /etc/bash.bashrc)+7))" && \ | |
sed -i -e "${SED_RANGE}"' s/^#//' /etc/bash.bashrc && \ | |
unset SED_RANGE | |
# Create user "docker" with sudo powers | |
RUN useradd -m docker && \ | |
usermod -aG sudo docker && \ | |
echo '%sudo ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \ | |
cp /root/.bashrc /home/docker/ && \ | |
mkdir /home/docker/data && \ | |
chown -R --from=root docker /home/docker | |
# Use C.UTF-8 locale to avoid issues with ASCII encoding | |
ENV LC_ALL=C.UTF-8 | |
ENV LANG=C.UTF-8 | |
WORKDIR /home/docker/data | |
ENV HOME /home/docker | |
ENV USER docker | |
USER docker | |
ENV PATH /home/docker/.local/bin:$PATH | |
# Avoid first use of sudo warning. c.f. https://askubuntu.com/a/22614/781671 | |
RUN touch $HOME/.sudo_as_admin_successful | |
#Install dependencies | |
#COPY requirements.txt requirements.txt | |
#RUN pip3 install -r requirements.txt | |
#Install addons | |
##https://www.opendesign.com/guestfiles/oda_file_converter | |
#COPY /addons/ODAFileConverter_QT6_lnxX64_8.3dll_25.4.AppImage ODAFileConverter_QT6_lnxX64_8.3dll_25.4.AppImage | |
COPY /addons/ODAFileConverter_QT6_lnxX64_8.3dll_25.4.deb ODAFileConverter_QT6_lnxX64_8.3dll_25.4.deb | |
COPY /addons/requirements.txt requirements.txt | |
COPY /addons/main.py main.py | |
COPY /addons/test.tar.gz test.tar.gz | |
##https://ezdxf.readthedocs.io/en/stable/options.html#config-files | |
#RUN chmod ugo+x ~/data/ODAFileConverter.AppImage | |
#RUN ./ODAFileConverter_QT6_lnxX64_8.3dll_25.4.AppImage | |
RUN tar -zxvf test.tar.gz | |
RUN pip3 install -r requirements.txt | |
# Install ODA DWG-DXF Converter | |
RUN sudo dpkg --install ODAFileConverter_QT6_lnxX64_8.3dll_25.4.deb | |
#|| true | |
CMD [ "/bin/bash" ] |
oboluk19
commented
May 13, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment