Files
universe/docker/Dockerfile.local
T
zeekayandHanzo Dev 2044939ffa chore: migrate luxd HTTP routes /ext -> /v1
Drop the Avalanche-heritage /ext prefix; /v1 is the single canonical route
surface (one way, no backward compat). The node's baseURL is the source of
truth; clients, SDKs, CLI, indexer, maker, genesis, netrunner, and the
k8s/compose/gateway/explorer configs are updated to match.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-26 15:46:02 -07:00

32 lines
917 B
Docker

# Lux node image built from local binaries
# Build: docker build -f Dockerfile.local -t ghcr.io/luxfi/node:fullstack .
FROM alpine:3.20
RUN apk add --no-cache ca-certificates curl bash jq
# Create lux user
RUN adduser -D -u 1000 lux
WORKDIR /luxd
# Copy pre-built binaries (build these locally first)
COPY build/luxd /luxd/build/luxd
COPY plugins/ /luxd/plugins/
# Create directories with proper permissions
RUN mkdir -p /data/db /data/logs /data/staking /data/plugins && \
cp -r /luxd/plugins/* /data/plugins/ 2>/dev/null || true && \
chown -R lux:lux /data /luxd && \
chmod +x /luxd/build/luxd /luxd/plugins/*
USER lux
# Expose ports (mainnet=9630, testnet=9640, devnet=9650)
EXPOSE 9630 9631 9640 9641 9650 9651
HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \
CMD curl -sf http://localhost:${HTTP_PORT:-9630}/v1/health || exit 1
ENTRYPOINT ["/luxd/build/luxd"]