Files
MoShiro/packaging/container/Probe.NativeBuild.Containerfile
T
justme 14b0de3544 feat: node info, build info and acrylic web theme
Squash of recent dev work: return_session login, backend switcher, line
detail timeline, overview strips, node platform/country/ISP info with flags
and icons, build info (version, tag, time) behind site.show_build, and the
acrylic display theme.
2026-10-06 21:24:25 +08:00

35 lines
1.4 KiB
Docker

FROM mcr.microsoft.com/dotnet/sdk:10.0-noble-aot AS build
WORKDIR /src/backend
# 构建信息:CI 通过 --build-arg 传入;不传就是空
ARG MONITOR_TAG=
ARG MONITOR_COMMIT=
ARG MONITOR_BUILT_AT=
ENV MONITOR_TAG=$MONITOR_TAG MONITOR_COMMIT=$MONITOR_COMMIT MONITOR_BUILT_AT=$MONITOR_BUILT_AT
COPY restore/backend/ ./
RUN dotnet restore probe/src/Monitor.Probe -r linux-x64 --artifacts-path /artifacts
COPY source/backend/ ./
RUN dotnet publish probe/src/Monitor.Probe -m:3 -c Release -r linux-x64 \
--self-contained true --no-restore -p:PublishAot=true -p:UseAotAnywhere=false \
-p:UseAppHost=true -p:StripSymbols=true \
-p:DebugType=none -p:DebugSymbols=false --artifacts-path /artifacts -o /out/probe
RUN test -x /out/probe/monitor-probe
FROM mcr.microsoft.com/dotnet/runtime-deps:10.0-noble-chiseled-extra
ARG APP_VERSION=main
LABEL org.opencontainers.image.title="Monitor Probe" \
org.opencontainers.image.description="MyMonitor network measurement probe for Linux" \
org.opencontainers.image.licenses="Apache-2.0" \
org.opencontainers.image.version="$APP_VERSION"
COPY --chown=1654:1654 --from=build /out/probe/monitor-probe /usr/local/bin/monitor-probe
COPY --chown=1654:1654 config/ /etc/monitor/
USER 1654:1654
WORKDIR /etc/monitor
VOLUME ["/etc/monitor"]
ENTRYPOINT ["/usr/local/bin/monitor-probe"]
CMD ["--config", "/etc/monitor/probe.json"]