diff --git a/deploy/Containerfile.web b/deploy/Containerfile.web index 120ae53..f7681bc 100644 --- a/deploy/Containerfile.web +++ b/deploy/Containerfile.web @@ -37,17 +37,24 @@ RUN cd web && /usr/local/bin/tailwindcss -i ./assets/css/input.css -o ./assets/c RUN CGO_ENABLED=0 GOOS=linux go build \ -ldflags="-s -w -X main.Version=${VERSION}" \ - -o /web ./cmd/web + -o /narvana-web ./cmd/web # Runtime - Alpine is fine here since we're running a static Go binary FROM docker.io/library/alpine:3.20 RUN apk add --no-cache ca-certificates curl -COPY --from=builder /web /usr/local/bin/web +# Create app directory +WORKDIR /app + +# Copy binary +COPY --from=builder /narvana-web /app/narvana-web + +# Copy static assets (CSS, JS) - must match the path the binary expects: "web/assets" +COPY --from=builder /build/web/assets /app/web/assets EXPOSE 8090 USER nobody:nobody -ENTRYPOINT ["/usr/local/bin/web"] +ENTRYPOINT ["/app/narvana-web"] diff --git a/scripts/install.sh b/scripts/install.sh index d1511bf..f8ea045 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -168,7 +168,12 @@ wait_for_healthy() { # ----------------------------------------------------------------------------- print_success() { - PUBLIC_IP=$(curl -sf --max-time 5 https://ifconfig.me 2>/dev/null || echo "localhost") + # Try multiple services to get public IP + PUBLIC_IP=$(curl -sf --max-time 3 https://ifconfig.me 2>/dev/null || \ + curl -sf --max-time 3 https://api.ipify.org 2>/dev/null || \ + curl -sf --max-time 3 https://icanhazip.com 2>/dev/null || \ + hostname -I 2>/dev/null | awk '{print $1}' || \ + echo "YOUR_SERVER_IP") echo "" echo -e "${GREEN}${BOLD}╔════════════════════════════════════════════════════════════════╗${NC}"