# GhostPay — no build step, no dependencies to install.
FROM python:3.12-alpine

LABEL org.opencontainers.image.title="GhostPay" \
      org.opencontainers.image.description="Zero-KYC self-hosted crypto checkout for .onion shops" \
      org.opencontainers.image.version="1.0.0"

RUN adduser -D -h /app ghostpay
WORKDIR /app
COPY --chown=ghostpay:ghostpay ghostpay.py README.md ./
RUN mkdir -p /data && chown ghostpay:ghostpay /data

USER ghostpay
ENV GHOSTPAY_DB=/data/ghostpay.db \
    GHOSTPAY_HOST=0.0.0.0 \
    GHOSTPAY_PORT=8899 \
    PYTHONUNBUFFERED=1
VOLUME ["/data"]
EXPOSE 8899

HEALTHCHECK --interval=60s --timeout=5s --start-period=10s \
  CMD python3 -c "import urllib.request;urllib.request.urlopen('http://127.0.0.1:8899/health',timeout=4)"

ENTRYPOINT ["python3", "ghostpay.py"]
CMD ["serve"]
