mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2025-04-22 06:23:33 +03:00
vscode fixed gha
This commit is contained in:
parent
f5658335dd
commit
a0d1557688
@ -148,17 +148,12 @@ RUN sdkmanager --install --verbose \
|
||||
#
|
||||
"platform-tools" \
|
||||
#
|
||||
"platforms;android-21" \
|
||||
"platforms;android-34" \
|
||||
"platforms;android-35" \
|
||||
#
|
||||
"build-tools;21.1.2" \
|
||||
"build-tools;34.0.0" \
|
||||
"build-tools;35.0.0" \
|
||||
#
|
||||
"extras;android;m2repository" \
|
||||
#
|
||||
"ndk;25.1.8937393" \
|
||||
"ndk;25.2.9519653"
|
||||
|
||||
ENV PATH="${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/tools/bin:${ANDROID_SDK_ROOT}/tools:${ANDROID_SDK_ROOT}/tools/proguard/bin:${ANDROID_SDK_ROOT}/platform-tools:${PATH}"
|
||||
|
@ -1,611 +0,0 @@
|
||||
################################################################################
|
||||
# https://github.com/linuxserver/docker-code-server/pkgs/container/code-server
|
||||
################################################################################
|
||||
FROM quay.io/epicmorg/vscode-server:latest
|
||||
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
##################################################################
|
||||
# ARGuments
|
||||
##################################################################
|
||||
ENV BuildDocker true
|
||||
|
||||
ENV ANDROID_HOME=/usr/lib/android-sdk
|
||||
ENV ANDROID_SDK_ROOT=/usr/lib/android-sdk
|
||||
|
||||
ARG K_NODE_MAJOR_VERSION=22
|
||||
ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.6.0
|
||||
ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz
|
||||
ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz
|
||||
|
||||
##################################################################
|
||||
# dotnet setup
|
||||
##################################################################
|
||||
ENV DOTNET_CHANNEL=LTS
|
||||
ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL}
|
||||
ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools
|
||||
ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT}
|
||||
ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
|
||||
|
||||
# Opt out of the telemetry feature
|
||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
|
||||
# Disable first time experience
|
||||
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
||||
# Configure Kestrel web server to bind to port 80 when present
|
||||
ENV ASPNETCORE_URLS=\
|
||||
# Enable detection of running in a container
|
||||
ENV DOTNET_RUNNING_IN_CONTAINER=true
|
||||
# Enable correct mode for dotnet watch (only mode supported in a container)
|
||||
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
|
||||
# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance
|
||||
ENV NUGET_XMLDOC_MODE=skip
|
||||
# unofficial support of openssl1.1 instead of 1.0 [https://stackoverflow.com/questions/51901359]
|
||||
ENV CLR_OPENSSL_VERSION_OVERRIDE=45
|
||||
# PowerShell telemetry for docker image usage
|
||||
ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-20.04
|
||||
|
||||
RUN mkdir -p /usr/share/dotnet/host/fxr
|
||||
|
||||
##################################################################
|
||||
# java11
|
||||
##################################################################
|
||||
ARG K_JDK_MAJOR_VERSION=11
|
||||
ARG K_JDK_FULL_VERSION=jdk-11.0.27
|
||||
ARG K_JDK_VERSION=11.0.27
|
||||
ARG K_JDK_BUILD_VERSION=6
|
||||
ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz
|
||||
ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz
|
||||
|
||||
ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}
|
||||
ENV JRE_HOME=${JAVA_HOME}
|
||||
ENV JDK_HOME=${JAVA_HOME}
|
||||
ENV PATH=$PATH:${JAVA_HOME}/bin
|
||||
|
||||
# steam runtime sdk
|
||||
ENV STEAM_RUNTIME_SDK_DIR=${EMG_LOCAL_BASE_DIR}/valve/steam/runtime-sdk/latest
|
||||
ARG STEAM_RUNTIME_SDK_BIN_DIR=${STEAM_RUNTIME_SDK_DIR}/bin
|
||||
ARG STEAM_RUNTIME_SDK_URL=http://media.steampowered.com/client/runtime/steam-runtime-sdk_latest.tar.xz
|
||||
ARG STEAM_RUNTIME_SDK_TEMP=/tmp/steam-runtime-sdk_latest.tar.xz
|
||||
|
||||
# cmake compiller
|
||||
ENV CMAKE_3_31_VERSION=3.31.6
|
||||
ENV CMAKE_3_31_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_31_VERSION}
|
||||
ARG CMAKE_3_31_BIN_DIR=${CMAKE_3_31_DIR}/bin
|
||||
ARG CMAKE_3_31_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_31_VERSION}/cmake-${CMAKE_3_31_VERSION}-linux-x86_64.tar.gz
|
||||
ARG CMAKE_3_31_TEMP=/tmp/cmake-${CMAKE_3_31_VERSION}-linux-x86_64.tar.gz
|
||||
|
||||
# cmake compiller
|
||||
ENV CMAKE_3_30_VERSION=3.30.8
|
||||
ENV CMAKE_3_30_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_30_VERSION}
|
||||
ARG CMAKE_3_30_BIN_DIR=${CMAKE_3_30_DIR}/bin
|
||||
ARG CMAKE_3_30_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_30_VERSION}/cmake-${CMAKE_3_30_VERSION}-linux-x86_64.tar.gz
|
||||
ARG CMAKE_3_30_TEMP=/tmp/cmake-${CMAKE_3_30_VERSION}-linux-x86_64.tar.gz
|
||||
|
||||
# cmake compiller
|
||||
ENV CMAKE_3_21_VERSION=3.21.7
|
||||
ENV CMAKE_3_21_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_21_VERSION}
|
||||
ARG CMAKE_3_21_BIN_DIR=${CMAKE_3_21_DIR}/bin
|
||||
ARG CMAKE_3_21_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_21_VERSION}/cmake-${CMAKE_3_21_VERSION}-linux-x86_64.tar.gz
|
||||
ARG CMAKE_3_21_TEMP=/tmp/cmake-${CMAKE_3_21_VERSION}-linux-x86_64.tar.gz
|
||||
|
||||
# cmake compiller
|
||||
ENV CMAKE_3_20_VERSION=3.20.6
|
||||
ENV CMAKE_3_20_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_20_VERSION}
|
||||
ARG CMAKE_3_20_BIN_DIR=${CMAKE_3_20_DIR}/bin
|
||||
ARG CMAKE_3_20_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_20_VERSION}/cmake-${CMAKE_3_20_VERSION}-linux-x86_64.tar.gz
|
||||
ARG CMAKE_3_20_TEMP=/tmp/cmake-${CMAKE_3_20_VERSION}-linux-x86_64.tar.gz
|
||||
|
||||
# cmake compiller
|
||||
ENV CMAKE_3_19_VERSION=3.19.8
|
||||
ENV CMAKE_3_19_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_19_VERSION}
|
||||
ARG CMAKE_3_19_BIN_DIR=${CMAKE_3_19_DIR}/bin
|
||||
ARG CMAKE_3_19_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_19_VERSION}/cmake-${CMAKE_3_19_VERSION}-linux-x86_64.tar.gz
|
||||
ARG CMAKE_3_19_TEMP=/tmp/cmake-${CMAKE_3_19_VERSION}-linux-x86_64.tar.gz
|
||||
|
||||
# cmake compiller
|
||||
ENV CMAKE_3_18_VERSION=3.18.6
|
||||
ENV CMAKE_3_18_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_18_VERSION}
|
||||
ARG CMAKE_3_18_BIN_DIR=${CMAKE_3_18_DIR}/bin
|
||||
ARG CMAKE_3_18_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_18_VERSION}/cmake-${CMAKE_3_18_VERSION}-linux-x86_64.tar.gz
|
||||
ARG CMAKE_3_18_TEMP=/tmp/cmake-${CMAKE_3_18_VERSION}-linux-x86_64.tar.gz
|
||||
|
||||
# cmake compiller
|
||||
ENV CMAKE_3_16_VERSION=3.16.9
|
||||
ENV CMAKE_3_16_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_16_VERSION}
|
||||
ARG CMAKE_3_16_BIN_DIR=${CMAKE_3_16_DIR}/bin
|
||||
ARG CMAKE_3_16_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_16_VERSION}/cmake-${CMAKE_3_16_VERSION}-linux-x86_64.tar.gz
|
||||
ARG CMAKE_3_16_TEMP=/tmp/cmake-${CMAKE_3_16_VERSION}-linux-x86_64.tar.gz
|
||||
|
||||
# flutter source tarball
|
||||
ENV FLUTTER_VERSION=3.29.2
|
||||
ENV FLUTTER_CHANNEL=stable
|
||||
ENV FLUTTER_DIR=${EMG_LOCAL_BASE_DIR}/flutter/${FLUTTER_VERSION}
|
||||
ARG FLUTTER_BIN_DIR=${FLUTTER_DIR}/bin
|
||||
ARG FLUTTER_DOWNLOAD_URL=https://storage.googleapis.com/flutter_infra_release/releases/${FLUTTER_CHANNEL}/linux/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz
|
||||
ARG FLUTTER_TEMP=/tmp/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz
|
||||
|
||||
# ninja source tarball
|
||||
ENV NINJA_VERSION=1.12.1
|
||||
ENV NINJA_DIR=${EMG_LOCAL_BASE_DIR}/ninja/${NINJA_VERSION}
|
||||
ARG NINJA_BIN_DIR=${NINJA_DIR}/bin
|
||||
ARG NINJA_DOWNLOAD_URL=https://github.com/ninja-build/ninja/releases/download/v${NINJA_VERSION}/ninja-linux.zip
|
||||
ARG NINJA_TEMP=/tmp/ninja-linux.zip
|
||||
|
||||
# GO source tarball
|
||||
ENV GO_VERSION=1.24.2
|
||||
ENV GO_DIR=${EMG_LOCAL_BASE_DIR}/go/${GO_VERSION}
|
||||
ARG GO_BIN_DIR=${GO_DIR}/bin
|
||||
ARG GO_PATH_DIR=${GO_DIR}/gopath
|
||||
ARG GO_PATH_BIN_DIR=${GO_PATH_DIR}/bin
|
||||
ARG GO_DOWNLOAD_URL=https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz
|
||||
ARG GO_TEMP=/tmp/go${GO_VERSION}.linux-amd64.tar.gz
|
||||
|
||||
|
||||
##################################################################
|
||||
# AMXXModX setup
|
||||
##################################################################
|
||||
#
|
||||
# Reserved for future
|
||||
# export AMXX_CSTRIKE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-cstrike-linux` && \
|
||||
# export AMXX_DOD_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-dod-linux` && \
|
||||
# export AMXX_ESF_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-esf-linux` && \
|
||||
# export AMXX_NS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-ns-linux` && \
|
||||
# export AMXX_TFC_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-tfc-linux` && \
|
||||
# export AMXX_TS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-base-linux` && \
|
||||
#
|
||||
# Install packages
|
||||
ENV AMXX_VERSION=1.10
|
||||
ENV AMXX_INSTALL_PATH=${EMG_LOCAL_BASE_DIR}/amxmodx/${AMXX_VERSION}
|
||||
ENV AMXX_BIN_PATH=${AMXX_INSTALL_PATH}/scripting
|
||||
ENV AMXX_INC_PATH=${AMXX_BIN_PATH}/include
|
||||
ENV PATH=${AMXX_BIN_PATH}:${PATH}
|
||||
ENV LD_LIBRARY_PATH=${AMXX_BIN_PATH}:${LD_LIBRARY_PATH}
|
||||
|
||||
COPY inc.tar /tmp
|
||||
|
||||
RUN export AMXX_BASE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/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 && \
|
||||
tar -C ${AMXX_INC_PATH} -xvf /tmp/inc.tar && \
|
||||
chmod -R 700 ${AMXX_INC_PATH} && \
|
||||
chmod +x ${AMXX_BIN_PATH}/compile.sh
|
||||
|
||||
##################################################################
|
||||
# Rust compillers
|
||||
##################################################################
|
||||
ENV CARGO_HOME=${EMG_LOCAL_BASE_DIR}/cargo
|
||||
ENV RUSTUP_HOME=${EMG_LOCAL_BASE_DIR}/rustup
|
||||
ARG CARGO_BIN=${CARGO_HOME}/bin
|
||||
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile complete --default-toolchain stable --verbose
|
||||
|
||||
ENV PATH="$CARGO_HOME/bin:${PATH}"
|
||||
|
||||
RUN echo "=============================================" && \
|
||||
echo cargo $(cargo --version) && \
|
||||
echo rustc $(rustc --version) && \
|
||||
echo rustup $(rustup --version) && \
|
||||
echo "============================================="
|
||||
|
||||
##################################################################
|
||||
# CMake
|
||||
##################################################################
|
||||
RUN mkdir -p ${CMAKE_3_31_DIR} ${CMAKE_3_30_DIR} ${CMAKE_3_21_DIR} ${CMAKE_3_20_DIR} ${CMAKE_3_19_DIR} ${CMAKE_3_18_DIR} ${CMAKE_3_16_DIR}
|
||||
ADD ${CMAKE_3_31_DOWNLOAD_URL} /tmp
|
||||
ADD ${CMAKE_3_30_DOWNLOAD_URL} /tmp
|
||||
ADD ${CMAKE_3_21_DOWNLOAD_URL} /tmp
|
||||
ADD ${CMAKE_3_20_DOWNLOAD_URL} /tmp
|
||||
ADD ${CMAKE_3_19_DOWNLOAD_URL} /tmp
|
||||
ADD ${CMAKE_3_18_DOWNLOAD_URL} /tmp
|
||||
ADD ${CMAKE_3_16_DOWNLOAD_URL} /tmp
|
||||
|
||||
RUN tar -xf ${CMAKE_3_31_TEMP} --directory ${CMAKE_3_31_DIR} --strip-components=1 && \
|
||||
chmod +x ${CMAKE_3_31_BIN_DIR}/ccmake && \
|
||||
chmod +x ${CMAKE_3_31_BIN_DIR}/cmake && \
|
||||
chmod +x ${CMAKE_3_31_BIN_DIR}/cmake-gui && \
|
||||
chmod +x ${CMAKE_3_31_BIN_DIR}/cpack && \
|
||||
chmod +x ${CMAKE_3_31_BIN_DIR}/ctest && \
|
||||
tar -xf ${CMAKE_3_30_TEMP} --directory ${CMAKE_3_30_DIR} --strip-components=1 && \
|
||||
chmod +x ${CMAKE_3_30_BIN_DIR}/ccmake && \
|
||||
chmod +x ${CMAKE_3_30_BIN_DIR}/cmake && \
|
||||
chmod +x ${CMAKE_3_30_BIN_DIR}/cmake-gui && \
|
||||
chmod +x ${CMAKE_3_30_BIN_DIR}/cpack && \
|
||||
chmod +x ${CMAKE_3_30_BIN_DIR}/ctest && \
|
||||
tar -xf ${CMAKE_3_21_TEMP} --directory ${CMAKE_3_21_DIR} --strip-components=1 && \
|
||||
chmod +x ${CMAKE_3_21_BIN_DIR}/ccmake && \
|
||||
chmod +x ${CMAKE_3_21_BIN_DIR}/cmake && \
|
||||
chmod +x ${CMAKE_3_21_BIN_DIR}/cmake-gui && \
|
||||
chmod +x ${CMAKE_3_21_BIN_DIR}/cpack && \
|
||||
chmod +x ${CMAKE_3_21_BIN_DIR}/ctest && \
|
||||
tar -xf ${CMAKE_3_20_TEMP} --directory ${CMAKE_3_20_DIR} --strip-components=1 && \
|
||||
chmod +x ${CMAKE_3_20_BIN_DIR}/ccmake && \
|
||||
chmod +x ${CMAKE_3_20_BIN_DIR}/cmake && \
|
||||
chmod +x ${CMAKE_3_20_BIN_DIR}/cmake-gui && \
|
||||
chmod +x ${CMAKE_3_20_BIN_DIR}/cpack && \
|
||||
chmod +x ${CMAKE_3_20_BIN_DIR}/ctest && \
|
||||
tar -xf ${CMAKE_3_19_TEMP} --directory ${CMAKE_3_19_DIR} --strip-components=1 && \
|
||||
chmod +x ${CMAKE_3_19_BIN_DIR}/ccmake && \
|
||||
chmod +x ${CMAKE_3_19_BIN_DIR}/cmake && \
|
||||
chmod +x ${CMAKE_3_19_BIN_DIR}/cmake-gui && \
|
||||
chmod +x ${CMAKE_3_19_BIN_DIR}/cpack && \
|
||||
chmod +x ${CMAKE_3_19_BIN_DIR}/ctest && \
|
||||
tar -xf ${CMAKE_3_18_TEMP} --directory ${CMAKE_3_18_DIR} --strip-components=1 && \
|
||||
chmod +x ${CMAKE_3_18_BIN_DIR}/ccmake && \
|
||||
chmod +x ${CMAKE_3_18_BIN_DIR}/cmake && \
|
||||
chmod +x ${CMAKE_3_18_BIN_DIR}/cmake-gui && \
|
||||
chmod +x ${CMAKE_3_18_BIN_DIR}/cpack && \
|
||||
chmod +x ${CMAKE_3_18_BIN_DIR}/ctest && \
|
||||
tar -xf ${CMAKE_3_16_TEMP} --directory ${CMAKE_3_16_DIR} --strip-components=1 && \
|
||||
chmod +x ${CMAKE_3_16_BIN_DIR}/ccmake && \
|
||||
chmod +x ${CMAKE_3_16_BIN_DIR}/cmake && \
|
||||
chmod +x ${CMAKE_3_16_BIN_DIR}/cmake-gui && \
|
||||
chmod +x ${CMAKE_3_16_BIN_DIR}/cpack && \
|
||||
chmod +x ${CMAKE_3_16_BIN_DIR}/ctest
|
||||
|
||||
# Install default latest version
|
||||
ENV PATH="${CMAKE_3_31_BIN_DIR}:${PATH}"
|
||||
|
||||
RUN echo "=============================================" && \
|
||||
echo $(cmake --version) && \
|
||||
echo "============================================="
|
||||
|
||||
##################################################################
|
||||
# steam runtime and ssdk
|
||||
##################################################################
|
||||
RUN mkdir -p ${STEAM_RUNTIME_SDK_DIR}
|
||||
ADD ${STEAM_RUNTIME_SDK_URL} /tmp
|
||||
|
||||
RUN tar -xf ${STEAM_RUNTIME_SDK_TEMP} --directory ${STEAM_RUNTIME_SDK_DIR} --strip-components=1 && \
|
||||
tree ${STEAM_RUNTIME_SDK_DIR} && \
|
||||
chmod +x ${STEAM_RUNTIME_SDK_BIN_DIR} -R && \
|
||||
chmod +x ${STEAM_RUNTIME_SDK_DIR}/setup.sh && \
|
||||
chmod +x ${STEAM_RUNTIME_SDK_DIR}/shell.sh && \
|
||||
chmod +x ${STEAM_RUNTIME_SDK_DIR}/shell-amd64.sh && \
|
||||
chmod +x ${STEAM_RUNTIME_SDK_DIR}/shell-i386.sh
|
||||
# printf '%s\n' 3 1 Y Y Y | ./setup.sh
|
||||
|
||||
##################################################################
|
||||
# Flutter SDK
|
||||
##################################################################
|
||||
RUN mkdir -p ${FLUTTER_DIR}
|
||||
ADD ${FLUTTER_DOWNLOAD_URL} /tmp
|
||||
|
||||
RUN tar -xf ${FLUTTER_TEMP} --directory ${FLUTTER_DIR} --strip-components=1 && \
|
||||
chmod +x ${FLUTTER_BIN_DIR}/dart && \
|
||||
chmod +x ${FLUTTER_BIN_DIR}/flutter && \
|
||||
chmod +x ${FLUTTER_BIN_DIR}/internal/shared.sh && \
|
||||
chmod +x ${FLUTTER_BIN_DIR}/internal/update_dart_sdk.sh
|
||||
|
||||
ENV PATH="${FLUTTER_BIN_DIR}:${PATH}"
|
||||
|
||||
RUN git config --global --add safe.directory ${FLUTTER_DIR} && \
|
||||
flutter precache && \
|
||||
flutter config --no-analytics && \
|
||||
dart --disable-analytics
|
||||
|
||||
RUN echo "=============================================" && \
|
||||
echo dart $(dart --version) && \
|
||||
echo flutter $(flutter --version) && \
|
||||
echo "============================================="
|
||||
|
||||
##################################################################
|
||||
# GO compillers
|
||||
##################################################################
|
||||
RUN mkdir -p ${GO_DIR} ${GO_PATH_BIN_DIR} ${GO_BIN_DIR}
|
||||
ADD ${GO_DOWNLOAD_URL} /tmp
|
||||
|
||||
RUN tar -xzf ${GO_TEMP} --directory ${GO_DIR} --strip-components=1 && \
|
||||
chmod +x ${GO_BIN_DIR}/go && \
|
||||
chmod +x ${GO_BIN_DIR}/gofmt
|
||||
|
||||
ENV GOROOT=${GO_DIR}
|
||||
ENV GOPATH=${GO_PATH_DIR}
|
||||
ENV PATH="${GO_BIN_DIR}:${GO_PATH_BIN_DIR}:${PATH}"
|
||||
|
||||
RUN echo "=============================================" && \
|
||||
echo go $(go version) && \
|
||||
echo "============================================="
|
||||
|
||||
##################################################################
|
||||
# Get NINJA binary
|
||||
##################################################################
|
||||
RUN mkdir -p ${NINJA_BIN_DIR}
|
||||
ADD ${NINJA_DOWNLOAD_URL} /tmp
|
||||
|
||||
RUN 7zz x ${NINJA_TEMP} -o${NINJA_BIN_DIR} -y && \
|
||||
chmod +x ${NINJA_BIN_DIR}/ninja
|
||||
|
||||
ENV PATH="${NINJA_BIN_DIR}:${PATH}"
|
||||
|
||||
RUN echo "=============================================" && \
|
||||
echo ninja $(ninja --version) && \
|
||||
echo "============================================="
|
||||
|
||||
##################################################################
|
||||
# deps
|
||||
##################################################################
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests --allow-downgrades \
|
||||
build-essential \
|
||||
autoconf-archive \
|
||||
gnu-standards \
|
||||
cmake \
|
||||
libunwind-dev \
|
||||
golang \
|
||||
at \
|
||||
autopkgtest \
|
||||
gcc-multilib \
|
||||
g++-multilib \
|
||||
libxkbcommon-dev \
|
||||
zlib1g-dev \
|
||||
libfreetype6-dev \
|
||||
libegl1-mesa-dev \
|
||||
libgles2-mesa-dev \
|
||||
libgbm-dev \
|
||||
uuid-dev \
|
||||
nvidia-cg-toolkit \
|
||||
nvidia-cg-dev \
|
||||
libavcodec-dev \
|
||||
libsdl2-dev \
|
||||
libsdl-image1.2-dev \
|
||||
libxml2-dev \
|
||||
yasm \
|
||||
devscripts \
|
||||
automake \
|
||||
libtool \
|
||||
autotools-dev \
|
||||
dpkg-dev \
|
||||
fakeroot \
|
||||
checkinstall \
|
||||
dh-make \
|
||||
zlib1g \
|
||||
zlib1g-dev \
|
||||
libssl-dev \
|
||||
libxslt-dev \
|
||||
libgd-dev \
|
||||
libpcre3-dev \
|
||||
libgeoip-dev \
|
||||
libkrb5-dev \
|
||||
libperl-dev \
|
||||
krb5-user \
|
||||
luajit \
|
||||
liblua5.1-0-dev \
|
||||
libmaxminddb-dev \
|
||||
libpam0g-dev \
|
||||
libldap2-dev \
|
||||
libavformat-dev \
|
||||
libavfilter-dev \
|
||||
libswscale-dev \
|
||||
libavcodec-dev \
|
||||
libz-dev \
|
||||
libhiredis-dev \
|
||||
libzip-dev \
|
||||
libcrypto++-dev \
|
||||
libbz2-dev \
|
||||
libvpx-dev \
|
||||
libc6 \
|
||||
libgssapi-krb5-2 \
|
||||
libstdc++6 \
|
||||
zlib1g \
|
||||
tcl
|
||||
|
||||
##################################################################
|
||||
# docker setup
|
||||
##################################################################
|
||||
|
||||
#Install packages
|
||||
RUN install -m 0755 -d /etc/apt/keyrings && \
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
|
||||
chmod a+r /etc/apt/keyrings/docker.asc && \
|
||||
echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble nightly" > /etc/apt/sources.list.d/docker.list && \
|
||||
echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable" >> /etc/apt/sources.list.d/docker.list && \
|
||||
echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble test" >> /etc/apt/sources.list.d/docker.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends --allow-unauthenticated \
|
||||
docker-ce \
|
||||
docker-ce-cli \
|
||||
containerd.io \
|
||||
docker-buildx-plugin \
|
||||
docker-compose-plugin
|
||||
|
||||
# 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
|
||||
##################################################################
|
||||
ADD ${K_JDK_URL} /tmp
|
||||
RUN tar -xzf ${K_JDK_TEMP} --directory /usr/local && \
|
||||
ln -sfv ${JAVA_HOME} /usr/jre && \
|
||||
java -version
|
||||
|
||||
##################################################################
|
||||
# Additional settings
|
||||
##################################################################
|
||||
ENV MAVEN_VERSION=3.9.9
|
||||
ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip
|
||||
ENV MAVEN_ROOT=${EMG_LOCAL_BASE_DIR}/maven/${MAVEN_VERSION}
|
||||
ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION}
|
||||
ENV MAVEN_BIN=${MAVEN_PATH}/bin
|
||||
ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip
|
||||
|
||||
ENV GRADLE_VERSION=8.13
|
||||
ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
|
||||
ENV GRADLE_ROOT=${EMG_LOCAL_BASE_DIR}/gradle/${GRADLE_VERSION}
|
||||
ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION}
|
||||
ENV GRADLE_BIN=${GRADLE_PATH}/bin
|
||||
ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip
|
||||
|
||||
ENV KTC_VERSION=2.1.10
|
||||
ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip
|
||||
ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip
|
||||
ENV KTC_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KTC_VERSION}
|
||||
ENV KTC_PATH=${KTC_ROOT}/kotlinc
|
||||
ENV KTC_BIN=${KTC_PATH}/bin
|
||||
|
||||
ENV KNPL_VERSION=${KTC_VERSION}
|
||||
ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
|
||||
ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz
|
||||
ENV KNPL_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KNPL_VERSION}
|
||||
ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}
|
||||
ENV KNPL_BIN=${KNPL_PATH}/bin
|
||||
|
||||
RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH}
|
||||
ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN}
|
||||
|
||||
##################################################################
|
||||
# Maven
|
||||
##################################################################
|
||||
ENV MAVEN_HOME=${MAVEN_ROOT}
|
||||
ENV M2_HOME=${MAVEN_ROOT}
|
||||
|
||||
ADD ${MAVEN_LINK} /tmp
|
||||
RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT}
|
||||
RUN chmod +x -R ${MAVEN_BIN}
|
||||
RUN mvn -v
|
||||
|
||||
##################################################################
|
||||
# GRADLE
|
||||
##################################################################
|
||||
ADD ${GRADLE_LINK} /tmp
|
||||
RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT}
|
||||
RUN chmod +x -R ${GRADLE_BIN}
|
||||
RUN gradle -v
|
||||
|
||||
##################################################################
|
||||
# kotlin-compiler
|
||||
##################################################################
|
||||
ADD ${KTC_LINK} /tmp
|
||||
RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT}
|
||||
RUN chmod +x -R ${KTC_BIN}
|
||||
RUN kotlin -version
|
||||
|
||||
##################################################################
|
||||
# kotlin-native-prebuilt-linux
|
||||
##################################################################
|
||||
ADD ${KNPL_LINK} /tmp
|
||||
RUN tar -xzf ${KNPL_TEMP} --directory ${KTC_ROOT}
|
||||
RUN chmod +x -R ${KNPL_BIN}
|
||||
|
||||
##################################################################
|
||||
# Android SDK
|
||||
##################################################################
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \
|
||||
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
|
||||
|
||||
##################################################################
|
||||
# installing dotnet
|
||||
##################################################################
|
||||
ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp
|
||||
RUN mkdir -p ${DOTNET_ROOT} && \
|
||||
chmod +x /tmp/dotnet-install.sh && \
|
||||
/tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest
|
||||
|
||||
##################################################################
|
||||
# Setup $PATH
|
||||
##################################################################
|
||||
ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}
|
||||
|
||||
##################################################################
|
||||
# Version after install
|
||||
##################################################################
|
||||
RUN echo "=============================================" && \
|
||||
echo $(dotnet --info) && \
|
||||
echo $(dotnet --list-sdks) && \
|
||||
echo $(dotnet --list-runtimes) && \
|
||||
echo "============================================="
|
||||
|
||||
##################################################################
|
||||
# Mono
|
||||
##################################################################
|
||||
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
|
||||
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \
|
||||
# echo "deb https://download.mono-project.com/repo/ubuntu nightly-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-nightly.list && \
|
||||
# echo "deb https://download.mono-project.com/repo/ubuntu preview-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
mono-complete \
|
||||
mono-llvm-support \
|
||||
mono-devel \
|
||||
mono-dbg \
|
||||
referenceassemblies-pcl \
|
||||
ca-certificates-mono \
|
||||
mono-xsp4
|
||||
|
||||
##################################################################
|
||||
# Node.js 22.x
|
||||
##################################################################
|
||||
RUN groupadd -g 1337 node && \
|
||||
useradd -u 1337 --gid node --shell /bin/bash --create-home node
|
||||
|
||||
ADD ${K_NODE_URL} /tmp
|
||||
ADD ${K_NODE_HEADERS_URL} /tmp
|
||||
|
||||
RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \
|
||||
tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \
|
||||
rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md
|
||||
|
||||
RUN npm install -g pnpm yarn
|
||||
|
||||
##################################################################
|
||||
# Version after install
|
||||
##################################################################
|
||||
RUN echo "=============================================" && \
|
||||
echo node $(node --version) && \
|
||||
echo npm $(npm --version) && \
|
||||
echo yarn $(yarn --version) && \
|
||||
echo pnpm $(pnpm --version) && \
|
||||
echo "============================================="
|
||||
|
||||
##################################################################
|
||||
# other customisations
|
||||
##################################################################
|
||||
|
||||
##################################################################
|
||||
# Cleanup
|
||||
##################################################################
|
||||
RUN echo "clean up" && \
|
||||
apt-get clean -y && \
|
||||
apt-get autoclean -y && \
|
||||
rm -rfv /var/lib/apt/lists/* && \
|
||||
rm -rfv /var/cache/apt/archives/*.deb && \
|
||||
rm -rfv /root/tmp/* && \
|
||||
rm -rfv /tmp/*
|
||||
|
||||
RUN updatedb
|
@ -1,44 +0,0 @@
|
||||
all: app
|
||||
|
||||
app:
|
||||
make pip
|
||||
make build
|
||||
make deploy
|
||||
make clean
|
||||
|
||||
build:
|
||||
make build-buildah
|
||||
|
||||
deploy:
|
||||
make deploy-buildah
|
||||
|
||||
build-buildah:
|
||||
buildah-wrapper --build
|
||||
|
||||
deploy-buildah:
|
||||
buildah-wrapper --deploy
|
||||
|
||||
build-kaniko:
|
||||
kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run
|
||||
|
||||
deploy-kaniko:
|
||||
kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug
|
||||
|
||||
build-compose:
|
||||
docker-compose build --compress --parallel --progress plain
|
||||
|
||||
deploy-compose:
|
||||
docker-compose push
|
||||
|
||||
clean:
|
||||
docker container prune -f
|
||||
docker image prune -f
|
||||
docker network prune -f
|
||||
docker volume prune -f
|
||||
docker system prune -af
|
||||
buildah rm -a
|
||||
buildah rmi -a
|
||||
|
||||
pip:
|
||||
pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper
|
||||
pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper
|
@ -1,39 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
export DOCKER_COMPOSE_REMOTE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r`
|
||||
|
||||
export DOCKER_COMPOSE_LOCAL_VERSION=`docker-compose -v`
|
||||
|
||||
export DOCKER_COMPOSE_BIN=/usr/local/bin/docker-compose
|
||||
|
||||
if [ -f $DOCKER_COMPOSE_BIN ]; then
|
||||
echo "========================================================================================"
|
||||
echo "The file '$DOCKER_COMPOSE_BIN' exists."
|
||||
echo "========================================================================================"
|
||||
echo "Local Docker Compose version is: ${DOCKER_COMPOSE_LOCAL_VERSION}"
|
||||
echo "========================================================================================"
|
||||
else
|
||||
echo "========================================================================================"
|
||||
echo "The file '$DOCKER_COMPOSE_BIN' in not found. Installing..."
|
||||
echo "========================================================================================"
|
||||
fi
|
||||
|
||||
echo "========================================================================================"
|
||||
echo "Latest Docker Compose version is: ${DOCKER_COMPOSE_REMOTE_VERSION}"
|
||||
echo "========================================================================================"
|
||||
|
||||
|
||||
echo "========================================================================================"
|
||||
echo "Installing remote version:"
|
||||
echo "========================================================================================"
|
||||
curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_REMOTE_VERSION}/docker-compose-Linux-x86_64 -o $DOCKER_COMPOSE_BIN
|
||||
|
||||
echo "========================================================================================"
|
||||
echo "Setting up permissions..."
|
||||
echo "========================================================================================"
|
||||
chmod +x $DOCKER_COMPOSE_BIN
|
||||
|
||||
|
||||
echo "========================================================================================"
|
||||
echo "Updated Docker Compose version is: ${DOCKER_COMPOSE_LOCAL_VERSION}"
|
||||
echo "========================================================================================"
|
@ -1,5 +0,0 @@
|
||||
services:
|
||||
app:
|
||||
image: "quay.io/epicmorg/vscode-server:devops"
|
||||
build:
|
||||
context: .
|
Binary file not shown.
@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$DOCKER_IN_DOCKER" = "start" ] ; then
|
||||
rm /var/run/docker.pid 2>/dev/null
|
||||
service docker start
|
||||
echo "Docker daemon started"
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user