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]>
32 lines
917 B
Docker
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"]
|