# Dockerfile para a distribuição já compilada do spdNFCe API (Linux).
#
# Este Dockerfile NÃO compila a aplicação a partir do código-fonte — ele
# empacota o binário que já vem dentro deste pacote de release. Use-o como
# está, direto na pasta extraída do .zip.
#
# Build:
#   docker build -t spdnfce-api .
#
# Run:
#   docker run -d --name spdnfce-api -p 8082:8082 \
#     -v $(pwd)/config:/app/config \
#     -v $(pwd)/certificados:/app/certificados \
#     spdnfce-api

FROM debian:bookworm-slim

# Chrome é necessário para os endpoints /printcupom e /processar-nfce
# (geração de PDF da DANFCE via chromedp).
RUN apt-get update && apt-get install -y --no-install-recommends \
        wget gnupg ca-certificates \
    && wget -q -O /tmp/chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
    && apt-get install -y /tmp/chrome.deb \
    && rm /tmp/chrome.deb \
    && rm -rf /var/lib/apt/lists/*

ENV CHROME_BIN=/opt/google/chrome/google-chrome

WORKDIR /app

COPY spdNFCe-api ./
COPY redoc ./redoc
COPY elements ./elements
COPY config/config.example.json ./config/config.example.json
COPY template-exemplo ./template-exemplo

RUN chmod +x ./spdNFCe-api \
    && mkdir -p logs danfce XmlDestinatario XmlContingencia license servidores

EXPOSE 8082

ENTRYPOINT ["./spdNFCe-api"]
CMD ["-port", "8082"]
