- Jump sheet: Top / Middle / Bottom with the Card fields arrows; the Jump button uses the same bold arrows. - Container timezone defaults to America/Chicago (TZ in Dockerfile/compose). - Demo worker follows its own business hours (Demo.BusinessHours, default 06:00-21:00 every day) with the midnight pitstop; the simulated cycle in the browser shows the real worker's next run.
35 lines
1.2 KiB
Docker
35 lines
1.2 KiB
Docker
# USMT Dash - demo container
|
|
#
|
|
# Runs the real USMT-Server.ps1 and USMT-Worker.ps1 under PowerShell 7 with -Demo, so the
|
|
# worker sweeps a simulated fleet instead of SCCM/AD/SMB. The web API is read-only in demo
|
|
# mode; visitor changes are simulated in each visitor's browser.
|
|
#
|
|
# docker build -t usmt-dash .
|
|
# docker run -p 8080:8080 usmt-dash
|
|
FROM mcr.microsoft.com/powershell:lts-ubuntu-22.04
|
|
|
|
ENV USMT_MODE=Demo \
|
|
POWERSHELL_TELEMETRY_OPTOUT=1 \
|
|
POWERSHELL_UPDATECHECK=Off \
|
|
DOTNET_CLI_TELEMETRY_OPTOUT=1 \
|
|
TZ=America/Chicago
|
|
|
|
WORKDIR /app
|
|
COPY . /app
|
|
|
|
RUN apt-get update \
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& useradd --system --home /app --shell /usr/sbin/nologin usmt \
|
|
&& mkdir -p /app/Data \
|
|
&& chown -R usmt:usmt /app/Data \
|
|
&& chmod +x /app/docker/start.sh
|
|
|
|
USER usmt
|
|
EXPOSE 8080
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
CMD pwsh -NoProfile -Command "try { if ((Invoke-WebRequest -UseBasicParsing http://127.0.0.1:8080/get-config -TimeoutSec 5).StatusCode -eq 200) { exit 0 } } catch {}; exit 1"
|
|
|
|
ENTRYPOINT ["/app/docker/start.sh"]
|