From 196a4946f1fe294ed907d49cebf8456e32d11d50 Mon Sep 17 00:00:00 2001 From: EpicMorg Date: Sat, 20 Nov 2021 00:58:08 +0300 Subject: [PATCH] vscode --- linux/advanced/vscode-server/amxx/Dockerfile | 55 ++++++++ linux/advanced/vscode-server/amxx/Makefile | 19 +++ .../vscode-server/amxx/docker-compose.yml | 6 + .../advanced/vscode-server/android/Dockerfile | 74 ++++++++++ linux/advanced/vscode-server/android/Makefile | 19 +++ .../vscode-server/android/docker-compose.yml | 6 + .../advanced/vscode-server/devops/Dockerfile | 131 +++++++++--------- 7 files changed, 243 insertions(+), 67 deletions(-) create mode 100644 linux/advanced/vscode-server/amxx/Dockerfile create mode 100644 linux/advanced/vscode-server/amxx/Makefile create mode 100644 linux/advanced/vscode-server/amxx/docker-compose.yml create mode 100644 linux/advanced/vscode-server/android/Dockerfile create mode 100644 linux/advanced/vscode-server/android/Makefile create mode 100644 linux/advanced/vscode-server/android/docker-compose.yml diff --git a/linux/advanced/vscode-server/amxx/Dockerfile b/linux/advanced/vscode-server/amxx/Dockerfile new file mode 100644 index 000000000..cb4a5ba9f --- /dev/null +++ b/linux/advanced/vscode-server/amxx/Dockerfile @@ -0,0 +1,55 @@ +################################################################################ +# https://github.com/linuxserver/docker-code-server/pkgs/container/code-server +################################################################################ +FROM epicmorg/vscode-server:latest + +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ENV BuildDocker true + +################################################################## +# AMXXModX setup +################################################################## +# +# Reserved for future +# export AMXX_CSTRIKE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-cstrike-linux` && \ +# export AMXX_DOD_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-dod-linux` && \ +# export AMXX_ESF_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-esf-linux` && \ +# export AMXX_NS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-ns-linux` && \ +# export AMXX_TFC_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-tfc-linux` && \ +# export AMXX_TS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-base-linux` && \ +# +# Install packages +ENV AMXX_VERSION=1.9 +ENV AMXX_INSTALL_PATH=/opt/amxmodx/$AMXX_VERSION +ENV AMXX_BIN_PATH=$AMXX_INSTALL_PATH/scripting +ENV PATH=$PATH:$AMXX_BIN_PATH +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$AMXX_BIN_PATH + +RUN export AMXX_BASE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-base-linux` && \ + mkdir -p $AMXX_INSTALL_PATH && \ + curl -SL https://www.amxmodx.org/amxxdrop/{$AMXX_VERSION}/{$AMXX_BASE_LATEST_VERSION} -o /tmp/amxx_base_latest.tar.gz && \ + cd /tmp && tar -zxf /tmp/amxx_base_latest.tar.gz && cd / && \ + mv -f /tmp/addons/amxmodx/* $AMXX_INSTALL_PATH && \ + chmod +x $AMXX_BIN_PATH/amxxpc && \ + chmod +x $AMXX_BIN_PATH/compile.sh + +################################################################## +# cleaninig up +################################################################## +RUN apt purge policykit-1 -y && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/mc.patch && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/7z && \ + rm -rfv /tmp/deb/* && \ + rm -rfv /tmp/composer-setup.php && \ + rm -rfv /tmp/amxx_base_latest.tar.gz && \ + rm -rfv /tmp/atlassian-plugin-sdk.deb && \ + rm -rfv /tmp/addons diff --git a/linux/advanced/vscode-server/amxx/Makefile b/linux/advanced/vscode-server/amxx/Makefile new file mode 100644 index 000000000..bad6d73b5 --- /dev/null +++ b/linux/advanced/vscode-server/amxx/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af diff --git a/linux/advanced/vscode-server/amxx/docker-compose.yml b/linux/advanced/vscode-server/amxx/docker-compose.yml new file mode 100644 index 000000000..de97728ff --- /dev/null +++ b/linux/advanced/vscode-server/amxx/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/vscode-server:amxx" + build: + context: . diff --git a/linux/advanced/vscode-server/android/Dockerfile b/linux/advanced/vscode-server/android/Dockerfile new file mode 100644 index 000000000..333c8af26 --- /dev/null +++ b/linux/advanced/vscode-server/android/Dockerfile @@ -0,0 +1,74 @@ +################################################################################ +# https://github.com/linuxserver/docker-code-server/pkgs/container/code-server +################################################################################ +FROM epicmorg/vscode-server:latest + +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ENV BuildDocker true + +################################################################## +# Android SDK +################################################################## +ENV ANDROID_HOME=/usr/lib/android-sdk +ENV ANDROID_SDK_ROOT=/usr/lib/android-sdk + +RUN apt update && \ + apt install -y --allow-unauthenticated \ + android-sdk \ + android-sdk-build-tools \ + android-sdk-platform-tools-common \ + android-sdk-platform-tools \ + adb fastboot f2fs-tools e2fsprogs libsqlite3-0 sqlite3 + +# Activate android sdk +RUN echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > /usr/lib/android-sdk/licenses/android-sdk-license + +################################################################## +# SDKMAN +################################################################## +#USER root +#RUN export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io?rcupdate=false" | bash +RUN export SDKMAN_DIR="/config/.sdkman" && curl -s "https://get.sdkman.io" | bash + +################################################################## +# Gradle +################################################################## +RUN /bin/bash -c "source /config/.sdkman/bin/sdkman-init.sh; sdk install gradle;" + +################################################################## +# Kotlin +################################################################## +RUN /bin/bash -c "source /config/.sdkman/bin/sdkman-init.sh; sdk install kotlin;" + +################################################################## +# installing java11 +################################################################## +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - && \ + echo 'deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ focal main' > /etc/apt/sources.list.d/adoptopenjdk-official.list && \ + apt-get update && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated adoptopenjdk-11-hotspot && \ + mkdir /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre && \ + ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/bin && \ + ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/lib/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/lib + +################################################################## +# cleaninig up +################################################################## +RUN apt purge policykit-1 -y && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/mc.patch && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/7z && \ + rm -rfv /tmp/deb/* && \ + rm -rfv /tmp/composer-setup.php && \ + rm -rfv /tmp/amxx_base_latest.tar.gz && \ + rm -rfv /tmp/atlassian-plugin-sdk.deb && \ + rm -rfv /tmp/addons diff --git a/linux/advanced/vscode-server/android/Makefile b/linux/advanced/vscode-server/android/Makefile new file mode 100644 index 000000000..bad6d73b5 --- /dev/null +++ b/linux/advanced/vscode-server/android/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af diff --git a/linux/advanced/vscode-server/android/docker-compose.yml b/linux/advanced/vscode-server/android/docker-compose.yml new file mode 100644 index 000000000..588cc9db6 --- /dev/null +++ b/linux/advanced/vscode-server/android/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/vscode-server:android" + build: + context: . diff --git a/linux/advanced/vscode-server/devops/Dockerfile b/linux/advanced/vscode-server/devops/Dockerfile index fbbffc594..752465649 100644 --- a/linux/advanced/vscode-server/devops/Dockerfile +++ b/linux/advanced/vscode-server/devops/Dockerfile @@ -14,59 +14,6 @@ ARG NINJA_ARCH=linux ARG NINJA_VERSION=latest ARG NINJA_RELEASE_URL=https://api.github.com/repos/ninja-build/ninja/releases/${NINJA_VERSION} -################################################################## -# docker setup -################################################################## - -#Install packages -RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \ - echo 'deb https://download.docker.com/linux/ubuntu focal test' > /etc/apt/sources.list.d/docker.list && \ - apt-cache policy docker-ce && \ - apt-get update && \ - apt-get install -y --no-install-recommends --allow-unauthenticated \ - docker-ce \ - docker-ce-cli \ - containerd.io systemd && \ - systemctl disable docker - -# A better fix for TW-52939 Dockerfile build fails because of aufs -VOLUME /var/lib/docker - -COPY run-docker.sh /services/run-docker.sh -RUN chmod +x /services/run-docker.sh && \ - sync - -################################################################## -# docker compose setup -################################################################## -COPY docker-compose-update /usr/local/bin/docker-compose-update -RUN chmod +x /usr/local/bin/docker-compose-update && \ - sync - -#Try to test -RUN docker-compose-update - -#Install packages -RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \ - echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \ - curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \ - chmod +x /usr/local/bin/docker-compose && \ - docker-compose -v - - - -################################################################## -# installing java11 -################################################################## -RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - && \ - echo 'deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ focal main' > /etc/apt/sources.list.d/adoptopenjdk-official.list && \ - apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated adoptopenjdk-11-hotspot && \ - mkdir /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre && \ - ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/bin && \ - ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/lib/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/lib - ################################################################## # deps ################################################################## @@ -148,6 +95,58 @@ RUN curl -s ${NINJA_RELEASE_URL} | jq -r ".assets[] | select(.name | test(\"${NI unzip -o /tmp/ninja-linux.zip -d /bin && \ printf "\n--------------------------------\nninja version: $(ninja --version)\n--------------------------------\n\n" +################################################################## +# steam runtime and ssdk +################################################################## +RUN cd / && \ + sudo mkdir valve && \ + cd valve && \ + sudo wget http://media.steampowered.com/client/runtime/steam-runtime-sdk_latest.tar.xz && \ + sudo tar xvf steam-runtime-sdk_latest.tar.xz && \ + sudo mv steam-runtime-sdk_2013-09-05 steam-runtime && \ + sudo chown root:root * -R && \ + cd steam-runtime && \ + printf '%s\n' 3 1 Y Y Y | ./setup.sh + +################################################################## +# docker setup +################################################################## + +#Install packages +RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \ + echo 'deb https://download.docker.com/linux/ubuntu focal test' > /etc/apt/sources.list.d/docker.list && \ + apt-cache policy docker-ce && \ + apt-get update && \ + apt-get install -y --no-install-recommends --allow-unauthenticated \ + docker-ce \ + docker-ce-cli \ + containerd.io systemd && \ + systemctl disable docker + +# A better fix for TW-52939 Dockerfile build fails because of aufs +VOLUME /var/lib/docker + +COPY run-docker.sh /services/run-docker.sh +RUN chmod +x /services/run-docker.sh && \ + sync + +################################################################## +# docker compose setup +################################################################## +COPY docker-compose-update /usr/local/bin/docker-compose-update +RUN chmod +x /usr/local/bin/docker-compose-update && \ + sync + +#Try to test +RUN docker-compose-update + +#Install packages +RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \ + echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \ + curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \ + chmod +x /usr/local/bin/docker-compose && \ + docker-compose -v + ################################################################## # dotnet+powershell setup ################################################################## @@ -206,7 +205,6 @@ RUN dotnet help && \ pwsh-preview -v && \ pwsh -v - ################################################################## # AMXXModX setup ################################################################## @@ -234,19 +232,6 @@ RUN export AMXX_BASE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1. chmod +x $AMXX_BIN_PATH/amxxpc && \ chmod +x $AMXX_BIN_PATH/compile.sh -################################################################## -# steam runtime and ssdk -################################################################## -RUN cd / && \ - sudo mkdir valve && \ - cd valve && \ - sudo wget http://media.steampowered.com/client/runtime/steam-runtime-sdk_latest.tar.xz && \ - sudo tar xvf steam-runtime-sdk_latest.tar.xz && \ - sudo mv steam-runtime-sdk_2013-09-05 steam-runtime && \ - sudo chown root:root * -R && \ - cd steam-runtime && \ - printf '%s\n' 3 1 Y Y Y | ./setup.sh - ################################################################## # Android SDK ################################################################## @@ -281,6 +266,18 @@ RUN /bin/bash -c "source /config/.sdkman/bin/sdkman-init.sh; sdk install gradle; ################################################################## RUN /bin/bash -c "source /config/.sdkman/bin/sdkman-init.sh; sdk install kotlin;" +################################################################## +# installing java11 +################################################################## +RUN wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - && \ + echo 'deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ focal main' > /etc/apt/sources.list.d/adoptopenjdk-official.list && \ + apt-get update && \ + apt-get autoremove -y && \ + apt-get install -y --allow-unauthenticated adoptopenjdk-11-hotspot && \ + mkdir /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre && \ + ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/bin && \ + ln -s /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/lib/ /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/jre/lib + ################################################################## # cleaninig up ##################################################################