rider1.dockerfile 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. FROM debian AS build
  2. ENV DEBIAN_FRONTEND noninteractive
  3. RUN echo 'deb-src http://deb.debian.org/debian bullseye main' >> /etc/apt/sources.list
  4. WORKDIR /tmp
  5. RUN apt-get update -y && apt install -y dpkg-dev git libpulse-dev
  6. RUN apt-get source -y pulseaudio
  7. RUN apt-get build-dep -y pulseaudio
  8. WORKDIR /tmp/pulseaudio-14.2
  9. RUN dpkg-buildpackage -rfakeroot -uc -b
  10. WORKDIR /tmp
  11. RUN git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git
  12. WORKDIR /tmp/pulseaudio-module-xrdp
  13. RUN ./bootstrap && ./configure PULSE_DIR=/tmp/pulseaudio-14.2
  14. RUN make
  15. RUN mkdir -p /tmp/so
  16. RUN cp src/.libs/*.so /tmp/so
  17. FROM debian
  18. ENV DEBIAN_FRONTEND noninteractive
  19. ARG ARCH
  20. ARG TZ=Europe/London
  21. RUN apt update -y && \
  22. apt-get upgrade -y && \
  23. apt-get install -y wget xrdp xfce4 chromium sudo dbus-x11 git vim bash-completion openjdk-17-jdk telnet net-tools iputils-ping && \
  24. apt-get remove -y xscreensaver && \
  25. apt-get autoremove -y && \
  26. rm -rf /var/cache/apt /var/lib/apt/lists
  27. COPY --from=build --chmod=0755 /tmp/pulseaudio-module-xrdp/src/.libs/module-xrdp-sink.so /var/lib/xrdp-pulseaudio-installer/module-xrdp-sink.so
  28. COPY --from=build --chmod=0755 /tmp/pulseaudio-module-xrdp/src/.libs/module-xrdp-sink.lai /var/lib/xrdp-pulseaudio-installer/module-xrdp-sink.la
  29. COPY --from=build --chmod=0755 /tmp/pulseaudio-module-xrdp/src/.libs/module-xrdp-source.so /var/lib/xrdp-pulseaudio-installer/module-xrdp-source.so
  30. COPY --from=build --chmod=0755 /tmp/pulseaudio-module-xrdp/src/.libs/module-xrdp-source.lai /var/lib/xrdp-pulseaudio-installer/module-xrdp-source.la
  31. RUN sed -i '/^test/i pulseaudio --start' /etc/xrdp/startwm.sh
  32. RUN wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg \
  33. && install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ \
  34. && sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' \
  35. && rm -f packages.microsoft.gpg
  36. RUN wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
  37. && dpkg -i packages-microsoft-prod.deb
  38. RUN wget https://dot.net/v1/dotnet-install.sh && \
  39. chmod +x ./dotnet-install.sh && \
  40. ./dotnet-install.sh -c STS --install-dir /dotnet && \
  41. echo 'export DOTNET_ROOT=/dotnet' > /etc/profile.d/dotnet.sh && \
  42. echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools:/opt/JetBrains\ Rider-2022.3/bin' >> /etc/profile.d/dotnet.sh
  43. RUN apt update && apt install -y code
  44. WORKDIR /opt
  45. RUN wget https://download-cdn.jetbrains.com/rider/JetBrains.Rider-2022.3${ARCH}.tar.gz && \
  46. tar xvzf JetBrains.Rider-2022.3${ARCH}.tar.gz && \
  47. rm JetBrains.Rider-2022.3${ARCH}.tar.gz
  48. COPY ./auto-install.xml /tmp
  49. RUN wget https://github.com/squirrel-sql-client/squirrel-sql-stable-releases/releases/download/4.5.1-installer/squirrel-sql-4.5.1-standard.jar && \
  50. java -jar squirrel-sql-4.5.1-standard.jar /tmp/auto-install.xml && \
  51. rm squirrel-sql-4.5.1-standard.jar && \
  52. mv /root/.local/share/applications/SQ*.desktop /usr/share/applications/
  53. ADD ./jdbc.tgz /opt/squirrelSql/
  54. RUN wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.22.tgz && \
  55. tar xvzf docker-20.10.22.tgz --strip-components 1 -C /usr/local/bin && \
  56. rm docker-20.10.22.tgz && \
  57. mkdir -p /usr/libexec/docker/cli-plugins && \
  58. chmod +x /usr/libexec/docker/cli-plugins && \
  59. wget -O 'docker-compose' https://github.com/docker/compose/releases/download/v2.14.1/docker-compose-linux-x86_64 && \
  60. chmod +x docker-compose && \
  61. mv docker-compose /usr/libexec/docker/cli-plugins/ && \
  62. ln -sv /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
  63. RUN apt-get clean && \
  64. apt-get -y remove && \
  65. echo 'paul ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/90-super && \
  66. addgroup --system --gid 998 docker && \
  67. usermod -p '$1$S6iYWiUc$f1XwbNXb/gYtfVzIcmcuc.' root && \
  68. useradd -ms /bin/bash paul && \
  69. echo 'paul:harry1996' | chpasswd && \
  70. usermod -a -G sudo paul && \
  71. usermod -a -G docker paul && \
  72. usermod -a -G root paul && \
  73. useradd -ms /bin/bash tony && \
  74. echo 'tony:GPSPass' | chpasswd && \
  75. usermod -a -G sudo tony && \
  76. usermod -a -G docker tony
  77. ENTRYPOINT /etc/init.d/xrdp start && tail -F /var/log/xrdp-sesman.log