rider.dockerfile 4.1 KB

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