2025-09-19 09:22:00 +03:00
|
|
|
# syntax=docker/dockerfile:1
|
|
|
|
|
# check=skip=SecretsUsedInArgOrEnv
|
|
|
|
|
# Ignore warnings about sensitive information as this is test data.
|
|
|
|
|
|
2026-07-09 18:43:50 +03:00
|
|
|
ARG LC_CORE_VERSION=0.2.0
|
|
|
|
|
ARG LB_NODE_VERSION=0.2.0
|
2025-09-19 09:22:00 +03:00
|
|
|
|
2025-02-28 10:47:39 +01:00
|
|
|
# ===========================
|
|
|
|
|
# BUILD IMAGE
|
|
|
|
|
# ===========================
|
2023-02-01 10:37:15 +02:00
|
|
|
|
2026-07-06 20:32:49 +03:00
|
|
|
FROM debian:trixie-slim AS builder
|
2023-02-01 10:37:15 +02:00
|
|
|
|
2026-07-09 18:43:50 +03:00
|
|
|
ARG LC_CORE_VERSION
|
|
|
|
|
ARG LB_NODE_VERSION
|
2023-02-01 10:37:15 +02:00
|
|
|
|
2026-01-20 11:45:39 +01:00
|
|
|
WORKDIR /logos-blockchain
|
2025-02-28 10:47:39 +01:00
|
|
|
COPY . .
|
2023-02-01 10:37:15 +02:00
|
|
|
|
2026-07-06 20:32:49 +03:00
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
|
|
|
curl \
|
|
|
|
|
ca-certificates \
|
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
2026-07-09 18:43:50 +03:00
|
|
|
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
|
2026-07-06 20:32:49 +03:00
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
2026-07-09 18:43:50 +03:00
|
|
|
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"
|
2025-02-28 10:47:39 +01:00
|
|
|
|
2025-09-19 09:22:00 +03:00
|
|
|
# ===========================
|
|
|
|
|
# NODE IMAGE
|
|
|
|
|
# ===========================
|
|
|
|
|
|
2026-02-10 09:07:44 +01:00
|
|
|
FROM debian:trixie-slim
|
2025-09-19 09:22:00 +03:00
|
|
|
|
|
|
|
|
LABEL maintainer="augustinas@status.im" \
|
2026-01-20 11:45:39 +01:00
|
|
|
source="https://github.com/logos-blockchain/logos-blockchain" \
|
|
|
|
|
description="Logos blockchain node image"
|
2025-09-19 09:22:00 +03:00
|
|
|
|
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/*
|
|
|
|
|
|
2026-07-06 20:32:49 +03:00
|
|
|
COPY --from=builder /logos-blockchain/ext-logoscore /opt/logoscore
|
|
|
|
|
COPY --from=builder /logos-blockchain/modules /opt/modules
|
2025-09-19 09:22:00 +03:00
|
|
|
|
2025-02-28 10:47:39 +01:00
|
|
|
EXPOSE 3000 8080 9000 60000
|
|
|
|
|
|
2026-07-06 20:32:49 +03:00
|
|
|
ENTRYPOINT ["logoscore"]
|