# Analog Mainnet Production Container
# Replaces Python simulation with live C consensus engine
FROM alpine:3.18

# Install build tools and runtime dependencies
RUN apk add --no-cache \
    gcc \
    g++ \
    make \
    musl-dev \
    linux-headers \
    curl \
    ca-certificates

# Create application directory
WORKDIR /app

# Copy C source files
COPY src/hdgl_bridge_v40.c /app/
COPY src/hdgl_http_api.c /app/
COPY src/hdgl_netcat.c /app/
COPY src/bridge_globals.h /app/
COPY src/hdgl_netcat.h /app/

# Copy configuration
COPY config/ /app/config/

# Build consensus engine
RUN gcc -o hdgl_bridge \
    hdgl_bridge_v40.c \
    hdgl_http_api.c \
    hdgl_netcat.c \
    -lm -lpthread \
    -O3 -march=native \
    -DPRODUCTION=1

# Expose ports
EXPOSE 9999 9095

# Set environment
ENV HDGL_CONFIG=/app/config/runtime_config.json
ENV HDGL_MODE=production
ENV HDGL_LOG_LEVEL=INFO

# Run consensus engine
CMD ["./hdgl_bridge", "--production", "--port", "9999"]
