Files

60 lines
1.9 KiB
Docker
Raw Permalink Normal View History

# syntax=docker/dockerfile:1
# check=skip=SecretsUsedInArgOrEnv
# Ignore warnings about sensitive information as this is test data.
ARG LC_CORE_VERSION=0.2.0
ARG LB_NODE_VERSION=0.2.0
# ===========================
# BUILD IMAGE
# ===========================
2023-02-01 10:37:15 +02:00
FROM debian:trixie-slim AS builder
2023-02-01 10:37:15 +02:00
ARG LC_CORE_VERSION
ARG LB_NODE_VERSION
2023-02-01 10:37:15 +02:00
WORKDIR /logos-blockchain
COPY . .
2023-02-01 10:37:15 +02:00
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN scripts/setup-logos-core.sh "$LC_CORE_VERSION" "$(uname -m)-linux"
# Patch the AppImage magic bytes to restore standard ELF matching for QEMU
RUN dd if=/dev/zero of=lgpd bs=1 count=3 seek=8 conv=notrunc && \
dd if=/dev/zero of=lgpm bs=1 count=3 seek=8 conv=notrunc && \
dd if=/dev/zero of=logoscore bs=1 count=3 seek=8 conv=notrunc
RUN ./lgpd --appimage-extract && mv squashfs-root ext-lgpd && \
./lgpm --appimage-extract && mv squashfs-root ext-lgpm && \
./logoscore --appimage-extract && mv squashfs-root ext-logoscore
RUN ./ext-lgpd/AppRun download blockchain_module --version "$LB_NODE_VERSION" --output ./ && \
./ext-lgpm/AppRun --modules-dir ./modules install --file "blockchain_module-${LB_NODE_VERSION}.lgx"
# ===========================
# NODE IMAGE
# ===========================
FROM debian:trixie-slim
LABEL maintainer="augustinas@status.im" \
source="https://github.com/logos-blockchain/logos-blockchain" \
description="Logos blockchain node image"
2026-06-10 20:10:17 +02:00
# curl: allows querying the node's REST API from within the container without exposing it publicly
# yq: allows patching user_config.yaml after it is generated by `logos-blockchain-node init`
RUN apt-get update && apt-get install -y --no-install-recommends curl yq && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /logos-blockchain/ext-logoscore /opt/logoscore
COPY --from=builder /logos-blockchain/modules /opt/modules
EXPOSE 3000 8080 9000 60000
ENTRYPOINT ["logoscore"]