Skip to content

Commit 7a03bf3

Browse files
committed
Dockerfiles update
1 parent f5d2da8 commit 7a03bf3

File tree

3 files changed

+42
-42
lines changed

3 files changed

+42
-42
lines changed

Docker/Dockerfile

+26-23
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ FROM $BASE_IMAGE
33

44
LABEL maintainer="Lukas Rustler <[email protected]>"
55

6-
#Non-interactive mode
7-
ENV DEBIAN_FRONTEND='noninteractive'
6+
# Non-interactive installation mode
7+
ENV DEBIAN_FRONTEND=noninteractive
88
ARG TARGETPLATFORM
9-
109
#Change for other python; 3.11 may be too much right now
1110
ARG PYTHON_VER=3.11
1211

@@ -15,27 +14,17 @@ RUN apt update -y && apt install software-properties-common -y && add-apt-reposi
1514
&& apt update && apt install python$PYTHON_VER wget sudo gedit unzip apt-utils curl \
1615
python$PYTHON_VER-venv nano mesa-utils curl htop net-tools sshfs python$PYTHON_VER-distutils \
1716
screen git python$PYTHON_VER-dev libpng-dev libqhull-dev libfreetype6-dev libfreetype6 \
18-
pkg-config python3.8-venv python3.8-dev -y
17+
pkg-config python3.8-venv python3.8-dev apt-transport-https psmisc tmux gdb gitk autoconf locales gdebi \
18+
terminator meld dos2unix -y
19+
20+
# Set the locale
21+
RUN locale-gen en_US.UTF-8
1922

2023
#Install pips
2124
# 3.8 is default at Ubuntu 20.04 and is fine for thing that do not work on newer versions
2225
RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python$PYTHON_VER && \
2326
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.8
2427

25-
#Default args, that can be changed during build
26-
ARG UID=1000
27-
ARG GID=1000
28-
29-
# SSH
30-
RUN apt install openssh-server -y && sed -i 's/\(^Port\)/#\1/' /etc/ssh/sshd_config && \
31-
echo Port 2222 >> /etc/ssh/sshd_config && service ssh start
32-
33-
#Add docker user with correct UID and GID; and add him to sudoers
34-
RUN groupadd -g $GID docker_users && useradd -l -u $UID -G $GID -md /home/docker -s /bin/bash docker && \
35-
echo 'docker:docker' | chpasswd && usermod -aG sudo docker && \
36-
sed -i.bkp -e 's/%sudo\s\+ALL=(ALL\(:ALL\)\?)\s\+ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers && \
37-
echo "docker ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
38-
3928
# VSCode
4029
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ] ; then \
4130
wget -O code.deb "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-arm64"; \
@@ -45,19 +34,33 @@ RUN if [ "$TARGETPLATFORM" = "linux/arm64" ] ; then \
4534

4635
RUN gdebi -n code.deb && rm code.deb
4736

48-
49-
#Pycharm
37+
# PyCharm
5038
ARG PYCHARM_VER=2024.3.4
5139
RUN cd /opt && wget https://download.jetbrains.com/python/pycharm-community-$PYCHARM_VER.tar.gz && \
5240
tar -xvf pycharm-community-$PYCHARM_VER.tar.gz && rm pycharm-community-$PYCHARM_VER.tar.gz && \
5341
mv pycharm-community-$PYCHARM_VER pycharm && ln -s /opt/pycharm/bin/pycharm.sh /usr/bin/pycharm && chmod +x /usr/bin/pycharm
5442

43+
44+
RUN apt remove python3-psutil -y
45+
RUN python$PYTHON_VER -m pip install --upgrade pip && python$PYTHON_VER -m pip install "numpy<2" cython psutil open3d pybullet roboticstoolbox-python --ignore-installed --no-cache-dir
46+
47+
#Default args, that can be changed during build
48+
ARG UID=1000
49+
ARG GID=1000
50+
51+
# SSH
52+
RUN apt install openssh-server -y && sed -i 's/\(^Port\)/#\1/' /etc/ssh/sshd_config && \
53+
echo Port 2222 >> /etc/ssh/sshd_config && service ssh start
54+
55+
#Add docker user with correct UID and GID; and add him to sudoers
56+
RUN groupadd -g $GID docker_users && useradd -l -u $UID -G $GID -md /home/docker -s /bin/bash docker && \
57+
echo 'docker:docker' | chpasswd && usermod -aG sudo docker && \
58+
sed -i.bkp -e 's/%sudo\s\+ALL=(ALL\(:ALL\)\?)\s\+ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers && \
59+
echo "docker ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
60+
5561
RUN sudo ln -sf /usr/bin/python$PYTHON_VER /usr/local/bin/python && sudo ln -sf /usr/bin/python$PYTHON_VER /usr/local/bin/python3
5662
RUN echo "export PATH=/usr/local/bin:$PATH" >> /home/docker/.bashrc
5763

58-
# pybullet, robot_description, numpy, etc.
59-
RUN apt remove python3-psutil -y
60-
RUN python$PYTHON_VER -m pip install --user --upgrade pip && python$PYTHON_VER -m pip install psutil pybullet "numpy<2" scipy cython matplotlib roboticstoolbox-python --ignore-installed --no-cache-dir
6164
RUN cd /home/docker && git clone https://github.com/rustlluk/pyCub.git && cd pyCub && git checkout dev && python$PYTHON_VER setup.py install --user
6265

6366
# Delete thingies from aptitude

Docker/Dockerfile.gitpod

+10-11
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@ RUN git clone https://github.com/novnc/noVNC.git /opt/novnc && \
5757
git clone https://github.com/novnc/websockify /opt/novnc/utils/websockify && \
5858
echo "<html><head><meta http-equiv=\"Refresh\" content=\"0; url=vnc.html?autoconnect=true&reconnect=true&reconnect_delay=1000&resize=scale&quality=9\"></head></html>" > /opt/novnc/index.html
5959

60-
# Install informative git for bash
61-
RUN git clone https://github.com/magicmonty/bash-git-prompt.git /home/gitpod/.bash-git-prompt --depth=1
62-
6360
# Set up script to launch graphics and vnc
6461
COPY additional_files/start-vnc-session.sh /usr/bin/start-vnc-session.sh
6562
RUN chmod +x /usr/bin/start-vnc-session.sh && \
@@ -81,28 +78,30 @@ RUN python$PYTHON_VER -m pip install --upgrade pip && python$PYTHON_VER -m pip i
8178
RUN useradd -l -u 33333 -G sudo -md /home/gitpod -s /bin/bash gitpod && \
8279
echo 'gitpod:gitpod' | chpasswd && usermod -aG sudo gitpod && \
8380
sed -i.bkp -e 's/%sudo\s\+ALL=(ALL\(:ALL\)\?)\s\+ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers && \
84-
echo "gitpod ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && mkdir -p /home/gitpod/Desktop \
81+
echo "gitpod ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
82+
83+
# Install informative git for bash
84+
RUN git clone https://github.com/magicmonty/bash-git-prompt.git /home/gitpod/.bash-git-prompt --depth=1
8585

86-
RUN echo "alias vnc='export DISPLAY=\$VNC_DISPLAY'" >> /home/gitpod/.bashrc
86+
RUN echo "alias vnc='export DISPLAY=:1'" >> /home/gitpod/.bashrc
8787
RUN echo "export PORT=5901" >> /home/gitpod/.bashrc
88+
8889
USER gitpod
8990
# Set up VSCode launcher
9091
COPY ["additional_files/Visual Studio Code.desktop", "/home/gitpod/Desktop/Visual Studio Code.desktop"]
91-
RUN chown gitpod:gitpod "/home/gitpod/Desktop/Visual Studio Code.desktop" && chmod +x "/home/gitpod/Desktop/Visual Studio Code.desktop" && \
92-
dos2unix "/home/gitpod/Desktop/Visual Studio Code.desktop"
92+
RUN sudo chown gitpod:gitpod "/home/gitpod/Desktop/Visual Studio Code.desktop" && chmod +x "/home/gitpod/Desktop/Visual Studio Code.desktop"
9393
COPY ["additional_files/PyCharm.desktop", "/home/gitpod/Desktop/PyCharm.desktop"]
9494

95-
RUN chown gitpod:gitpod "/home/gitpod/Desktop/PyCharm.desktop" && chmod +x "/home/gitpod/Desktop/PyCharm.desktop" && \
96-
dos2unix "/home/gitpod/Desktop/PyCharm.desktop" \
95+
RUN sudo chown gitpod:gitpod "/home/gitpod/Desktop/PyCharm.desktop" && chmod +x "/home/gitpod/Desktop/PyCharm.desktop"
9796

9897
RUN cd /home/gitpod && git clone https://github.com/rustlluk/pyCub.git && cd pyCub && git checkout dev && python$PYTHON_VER setup.py install --user
9998

10099

101100
RUN sudo ln -sf /usr/bin/python$PYTHON_VER /usr/local/bin/python && sudo ln -sf /usr/bin/python$PYTHON_VER /usr/local/bin/python3
102101
RUN echo "export PATH=/usr/local/bin:$PATH" >> /home/gitpod/.bashrc
103102
RUN echo "export BROWSER=/usr/bin/firefox" >> /home/gitpod/.bashrc
104-
ENV VNC_DISPLAY=:99
105-
ENV DISPLAY=:99
103+
ENV DISPLAY=:1
104+
106105
# Clean up unnecessary installation products
107106
RUN sudo rm -Rf /var/lib/apt/lists/*
108107

Docker/Dockerfile.vnc

+6-8
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@ RUN git clone https://github.com/novnc/noVNC.git /opt/novnc && \
5757
git clone https://github.com/novnc/websockify /opt/novnc/utils/websockify && \
5858
echo "<html><head><meta http-equiv=\"Refresh\" content=\"0; url=vnc.html?autoconnect=true&reconnect=true&reconnect_delay=1000&resize=scale&quality=9\"></head></html>" > /opt/novnc/index.html
5959

60-
# Install informative git for bash
61-
RUN git clone https://github.com/magicmonty/bash-git-prompt.git /home/docker/.bash-git-prompt --depth=1
62-
6360
# Set up script to launch graphics and vnc
6461
COPY additional_files/start-vnc-session.sh /usr/bin/start-vnc-session.sh
6562
RUN chmod +x /usr/bin/start-vnc-session.sh && \
@@ -81,19 +78,20 @@ RUN python$PYTHON_VER -m pip install --user --upgrade pip && python$PYTHON_VER -
8178
RUN useradd -l -u 33333 -G sudo -md /home/docker -s /bin/bash docker && \
8279
echo 'docker:docker' | chpasswd && usermod -aG sudo docker && \
8380
sed -i.bkp -e 's/%sudo\s\+ALL=(ALL\(:ALL\)\?)\s\+ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers && \
84-
echo "docker ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && mkdir -p /home/docker/Desktop \
81+
echo "docker ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
82+
83+
# Install informative git for bash
84+
RUN git clone https://github.com/magicmonty/bash-git-prompt.git /home/docker/.bash-git-prompt --depth=1
8585

8686
RUN echo "alias vnc='export DISPLAY=:99'" >> /home/docker/.bashrc
8787
RUN echo "export PORT=5999" >> /home/docker/.bashrc
8888
USER docker
8989
# Set up VSCode launcher
9090
COPY ["additional_files/Visual Studio Code.desktop", "/home/docker/Desktop/Visual Studio Code.desktop"]
91-
RUN chown docker:docker "/home/docker/Desktop/Visual Studio Code.desktop" && chmod +x "/home/docker/Desktop/Visual Studio Code.desktop" && \
92-
dos2unix "/home/docker/Desktop/Visual Studio Code.desktop"
91+
RUN sudo chown docker:docker "/home/docker/Desktop/Visual Studio Code.desktop" && chmod +x "/home/docker/Desktop/Visual Studio Code.desktop"
9392

9493
COPY ["additional_files/PyCharm.desktop", "/home/docker/Desktop/PyCharm.desktop"]
95-
RUN chown docker:docker "/home/docker/Desktop/PyCharm.desktop" && chmod +x "/home/docker/Desktop/PyCharm.desktop" && \
96-
dos2unix "/home/docker/Desktop/PyCharm.desktop"
94+
RUN sudo chown docker:docker "/home/docker/Desktop/PyCharm.desktop" && chmod +x "/home/docker/Desktop/PyCharm.desktop"
9795

9896
RUN cd /home/docker && git clone https://github.com/rustlluk/pyCub.git && cd pyCub && git checkout dev && python$PYTHON_VER setup.py install --user
9997

0 commit comments

Comments
 (0)