mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2024-12-26 22:55:44 +03:00
141 lines
6.0 KiB
Docker
141 lines
6.0 KiB
Docker
FROM mcr.microsoft.com/windows/servercore:ltsc2022
|
|
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
|
LABEL org.opencontainers.image.vendor="EpicMorg DevTeam, developer@epicm.org"
|
|
LABEL org.opencontainers.image.authors="STAM, kasthack, Aleks-Z"
|
|
LABEL org.opencontainers.image.source="https://github.com/EpicMorg/docker"
|
|
LABEL org.opencontainers.image.url="https://github.com/EpicMorg/docker"
|
|
LABEL donate.crypto.TON="EQDvHXRK-K1ZieJhgTD9JZQk7xCnWzRbctYnUkWq1lZq1bUg"
|
|
LABEL donate.crypto.ETH="0x26a8443a694f08cdfec966aa6fd72c45068753ec"
|
|
LABEL donate.crypto.BTC="bc1querz8ug9asjmsuy6yn4a94a2athgprnu7e5zq2"
|
|
LABEL donate.crypto.LTC="ltc1qtwwacq8f0n76fer2y83wxu540hddnmf8cdrlvg"
|
|
LABEL donate.crypto.NVC="4SbMynYETyhmKdggu8f38ULU6yQKiJPuo6"
|
|
LABEL donate.crypto.DOGE="DHyfE1CZzWtyaQiaMmv6g4KvXVQRUgrYE6"
|
|
LABEL donate.crypto.PPC="pQWArPzYoLppNe7ew3QPfto1k1eq66BYUB"
|
|
LABEL donate.crypto.RVN="R9t2LKeLhDSZBKNgUzSDZAossA3UqNvbV3"
|
|
LABEL donate.crypto.ZEC="t1KRMMmwMSZth8vJcd2ZHtPEFKTQ74yVixE"
|
|
LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4wQxoVfEJoW7LBhdQMP9cFhZQpJr6xvg7esHLdCbb1"
|
|
|
|
####################################################################################################################################
|
|
# https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/manage-windows-dockerfile
|
|
####################################################################################################################################
|
|
|
|
ENV chocolateyUseWindowsCompression false
|
|
# 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
|
|
# PowerShell telemetry for docker image usage
|
|
ENV POWERSHELL_DISTRIBUTION_CHANNEL=docker-windows
|
|
# Enable detection of running in a container
|
|
ENV DOTNET_RUNNING_IN_CONTAINER=true
|
|
ENV COMPLUS_RUNNING_IN_CONTAINER=1
|
|
ENV COMPLUS_NGenProtectedProcess_FeatureEnabled=0
|
|
|
|
##################################################################
|
|
|
|
ENV EMG_WORKDIR=C:\\EpicMorg
|
|
ENV EMG_VOLDIR=C:\\EpicMorg\\mount
|
|
|
|
##################################################################
|
|
# Creating workdir for future
|
|
##################################################################
|
|
RUN mkdir C:\\EpicMorg
|
|
WORKDIR C:\\EpicMorg
|
|
VOLUME C:\\EpicMorg\\mount
|
|
|
|
##################################################################
|
|
# Installing ocolatey.org
|
|
##################################################################
|
|
RUN powershell -Command \
|
|
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
|
|
|
##################################################################
|
|
# install vcredist packages
|
|
##################################################################
|
|
RUN choco install -y --ignore-checksums --allow-empty-checksums --ignoredetectedreboot --ignore-package-exit-codes \
|
|
visualfsharptools \
|
|
vcredist2005 \
|
|
vcredist2008 \
|
|
vcredist2010 \
|
|
vcredist2012 \
|
|
vcredist2013 \
|
|
vcredist2013 \
|
|
vcredist2015 \
|
|
vcredist2017 \
|
|
vcredist-all \
|
|
vcredist140
|
|
|
|
##################################################################
|
|
# install dotnet packages
|
|
##################################################################
|
|
RUN choco install -y --ignore-checksums --allow-empty-checksums --ignoredetectedreboot --ignore-package-exit-codes \
|
|
dotnetfx \
|
|
netfx-4.8-devpack \
|
|
dotnet \
|
|
dotnet-runtime \
|
|
dotnet-desktopruntime \
|
|
dotnet-sdk \
|
|
powershell-core
|
|
|
|
# Apply patch to provide support for container limits
|
|
RUN curl -fSLo patch.msu https://download.microsoft.com/download/1/d/1/1d162522-821a-41c6-ba7d-74ff37b0e6c6/Windows10.0-KB9008395-x64-NDP48.msu && \
|
|
mkdir patch && \
|
|
expand patch.msu patch -F:* && \
|
|
del /F /Q patch.msu && \
|
|
dism /Online /Add-Package /PackagePath:C:\EpicMorg\patch\windows10.0-kb9008395-x64-ndp48.cab && \
|
|
rmdir /S /Q patch
|
|
# && \
|
|
# Ngen top of assembly graph to optimize a set of frequently used assemblies
|
|
# %windir%\Microsoft.NET\Framework64\v4.0.30319\ngen install /verbose "Microsoft.PowerShell.Utility.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" && \
|
|
# To optimize 32-bit assemblies, uncomment the next line
|
|
# %windir%\Microsoft.NET\Framework\v4.0.30319\ngen /verbose install "Microsoft.PowerShell.Utility.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" && \
|
|
|
|
##################################################################
|
|
# install base packages
|
|
##################################################################
|
|
RUN choco install -y --ignore-checksums --allow-empty-checksums --ignoredetectedreboot --ignore-package-exit-codes \
|
|
psexec \
|
|
curl \
|
|
far \
|
|
findutils \
|
|
git \
|
|
git.install \
|
|
git-lfs \
|
|
git-lfs.install \
|
|
make \
|
|
mc \
|
|
nano \
|
|
openssl \
|
|
sed \
|
|
steamcmd \
|
|
sudo \
|
|
tartool \
|
|
unzip \
|
|
wget
|
|
|
|
##################################################################
|
|
# install archive packages
|
|
##################################################################
|
|
RUN choco install -y --ignore-checksums --allow-empty-checksums --ignoredetectedreboot --ignore-package-exit-codes \
|
|
7zip \
|
|
7zip-zstd \
|
|
7zip.commandline \
|
|
7zip.portable \
|
|
asar7z \
|
|
exfat7z \
|
|
grit7z \
|
|
iso7z \
|
|
modern7z \
|
|
thumbs7z \
|
|
wavpack7z \
|
|
winrar
|
|
|