@@ -45,8 +45,24 @@ COPY setup-wizard/ /app/setup-wizard/
4545COPY entrypoint.sh /usr/local/bin/entrypoint.sh
4646RUN chmod +x /usr/local/bin/entrypoint.sh
4747
48- # Expose gateway, bridge, terminal, and setup wizard ports
49- EXPOSE 18789 18790 7681 8080
48+ # Install gohttpserver (web-based file manager) - static binary from GitHub releases
49+ RUN ARCH=$(dpkg --print-architecture) && \
50+ if [ "$ARCH" = "amd64" ]; then GHS_ARCH="amd64" ; \
51+ elif [ "$ARCH" = "arm64" ]; then GHS_ARCH="arm64" ; \
52+ else echo "Unsupported architecture: $ARCH" && exit 1; fi && \
53+ TARBALL="gohttpserver_1.3.0_linux_${GHS_ARCH}.tar.gz" && \
54+ curl -fsSL "https://github.com/codeskyblue/gohttpserver/releases/download/1.3.0/${TARBALL}" \
55+ -o "/tmp/${TARBALL}" && \
56+ EXPECTED=$(curl -fsSL "https://github.com/codeskyblue/gohttpserver/releases/download/1.3.0/gohttpserver_1.3.0_checksums.txt" \
57+ | grep "${TARBALL}" | awk '{print $1}' ) && \
58+ ACTUAL=$(sha256sum "/tmp/${TARBALL}" | awk '{print $1}' ) && \
59+ [ "$EXPECTED" = "$ACTUAL" ] || (echo "Checksum mismatch for ${TARBALL}" && exit 1) && \
60+ tar -xz -C /usr/local/bin --strip-components=0 -f "/tmp/${TARBALL}" gohttpserver && \
61+ chmod +x /usr/local/bin/gohttpserver && \
62+ rm "/tmp/${TARBALL}"
63+
64+ # Expose gateway, bridge, terminal, setup wizard, and file manager ports
65+ EXPOSE 18789 18790 7681 8080 8888
5066
5167# Health check for DappNode monitoring
5268HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
0 commit comments