docker-scripts/win32/ecosystem/epicmorg/iis/Dockerfile
2023-06-07 17:54:17 +03:00

121 lines
4.9 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"
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
####################################################################################################################################
# https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/manage-windows-dockerfile
####################################################################################################################################
##################################################################
# Creating workdir for future
##################################################################
RUN mkdir C:\\EpicMorg
WORKDIR C:\\EpicMorg
##################################################################
# Installing IIS
##################################################################
RUN powershell -Command Add-WindowsFeature Web-Server; \
Invoke-WebRequest -UseBasicParsing -Uri "https://dotnetbinaries.blob.core.windows.net/servicemonitor/2.0.1.10/ServiceMonitor.exe" -OutFile "C:\ServiceMonitor.exe"
##################################################################
# 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://chocolatey.org/install.ps1'))
##################################################################
# install vcredist packages
##################################################################
RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
vcredist-all \
vcredist140 \
vcredist2005 \
vcredist2008 \
vcredist2010 \
vcredist2012 \
vcredist2013 \
vcredist2013 \
vcredist2015
##################################################################
# install dotnet packages
##################################################################
RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
dotnet \
dotnet-aspnetruntime \
dotnet-windowshosting \
dotnet-runtime \
dotnet-sdk \
powershell-core
##################################################################
# install base packages
##################################################################
RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
curl \
far \
findutils \
git \
make \
mc \
nano \
openssl \
sed \
steamcmd \
sudo \
tartool \
unrar \
unzip \
wget
##################################################################
# install archive packages
##################################################################
RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
7zip \
7zip-zstd \
7zip.commandline \
7zip.portable \
asar7z \
exfat7z \
grit7z \
iso7z \
modern7z \
thumbs7z \
wavpack7z \
winrar
EXPOSE 80
ENTRYPOINT ["C:\\ServiceMonitor.exe", "w3svc"]