mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-09 09:21:03 +01:00
fix: Address code review feedback from Gemini
- Use BUILD_FROM and BUILD_ARCH for multi-architecture support * Replace hardcoded amd64 with BUILD_FROM in FROM statement * Use BUILD_ARCH variable in COPY --from directives * Enables building for both amd64 and aarch64 architectures - Remove error suppression in run script for better debugging * Change 'cd /app || true' to 'cd /app' (fail fast on errors) * Remove '2> /dev/null' redirection from agent startup * Allow error messages to reach container logs for troubleshooting These changes ensure the fix works correctly across all supported architectures and provides visibility into any runtime issues.
This commit is contained in:
@@ -2,7 +2,9 @@
|
||||
# Fix for: FATAL: PROTECTION MODE IS ENABLED! error when protection mode is OFF
|
||||
# Approach: Level 1 (standard bashio) + Level 2 (socket fallback)
|
||||
|
||||
FROM ghcr.io/hassio-addons/base/amd64:11.1.0
|
||||
ARG BUILD_FROM
|
||||
ARG BUILD_ARCH
|
||||
FROM $BUILD_FROM
|
||||
|
||||
# Step 1: Replace bashio v0.17.5 with main branch for improved API error handling
|
||||
RUN rm -rf /usr/lib/bashio /usr/bin/bashio && \
|
||||
@@ -15,7 +17,7 @@ RUN rm -rf /usr/lib/bashio /usr/bin/bashio && \
|
||||
rm -rf /tmp/bashio /tmp/bashio.tar.gz
|
||||
|
||||
# Step 2: Get agent from official image
|
||||
COPY --from=ghcr.io/alexbelgium/portainer_agent-amd64:alpine-sts /app /app
|
||||
COPY --from=ghcr.io/alexbelgium/portainer_agent-${BUILD_ARCH}:alpine-sts /app /app
|
||||
|
||||
# Step 3: Add tzdata and timezone support
|
||||
RUN apk add --no-cache tzdata
|
||||
@@ -28,7 +30,7 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
|
||||
S6_SERVICES_GRACETIME=0
|
||||
|
||||
# Step 5: Copy rootfs from official image
|
||||
COPY --from=ghcr.io/alexbelgium/portainer_agent-amd64:alpine-sts / /
|
||||
COPY --from=ghcr.io/alexbelgium/portainer_agent-${BUILD_ARCH}:alpine-sts / /
|
||||
|
||||
# Step 6: Override the run script with simplified protection mode check
|
||||
RUN mkdir -p /etc/services.d/portainer_agent
|
||||
@@ -94,9 +96,9 @@ bashio::require.unprotected.fixed
|
||||
bashio::log.info "Starting Portainer Agent"
|
||||
|
||||
# Launch app
|
||||
cd /app || true
|
||||
cd /app
|
||||
if bashio::config.has_value 'PORTAINER_AGENT_ARGS'; then
|
||||
./agent "$PORTAINER_AGENT_ARGS" 2> /dev/null
|
||||
./agent "$PORTAINER_AGENT_ARGS"
|
||||
else
|
||||
./agent
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user