4NK_node/sdk_relay/Dockerfile

54 lines
1.4 KiB
Docker

# sdk_relay Dockerfile
FROM rust:1.89 as builder
WORKDIR /app
# Cloner les repositories avec les branches docker-support
RUN git clone --branch docker-support --depth 1 https://git.4nkweb.com/4nk/sdk_relay.git /app/sdk_relay
RUN git clone --branch docker-support --depth 1 https://git.4nkweb.com/4nk/sdk_common.git /app/sdk_common
# Compiler sdk_relay
WORKDIR /app/sdk_relay
RUN sed -i 's|git = "https://git.4nkweb.com/4nk/sdk_common.git", branch = "dev"|path = "/app/sdk_common"|' Cargo.toml && \
cargo build --release
# Image finale
FROM debian:bookworm-slim
# Installation des dépendances
RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
strace \
net-tools \
procps \
&& rm -rf /var/lib/apt/lists/*
# Copier le binaire
COPY --from=builder /app/sdk_relay/target/release/sdk_relay /usr/local/bin/sdk_relay
# Créer l'utilisateur bitcoin
RUN groupadd -g 1000 bitcoin && \
useradd -m -d /home/bitcoin -g bitcoin bitcoin
# Répertoire de travail
WORKDIR /home/bitcoin
# Créer le répertoire de données
RUN mkdir -p /home/bitcoin/.4nk
# Copier la configuration et le script de healthcheck
COPY 4NK_node/sdk_relay/.conf /home/bitcoin/.conf
COPY 4NK_node/sdk_relay/healthcheck.sh /usr/local/bin/healthcheck.sh
# Changer les permissions
RUN chown -R bitcoin:bitcoin /home/bitcoin
USER bitcoin
# Exposer les ports
EXPOSE 8090 8091
# Point d'entrée par défaut (peut être surchargé)
CMD ["/bin/bash"]