FROM node:20-alpine

ARG OPNSENSE_MCP_VERSION=0.8.2
ARG SUPERGATEWAY_VERSION=3.4.3

ENV NODE_ENV=production

RUN npm install --global \
	"opnsense-mcp-server@${OPNSENSE_MCP_VERSION}" \
	"supergateway@${SUPERGATEWAY_VERSION}"

COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh

RUN chmod +x /usr/local/bin/docker-entrypoint.sh

ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
CMD ["supergateway", "--stdio", "opnsense-mcp-server", "--outputTransport", "streamableHttp", "--port", "8000", "--streamableHttpPath", "/mcp", "--healthEndpoint", "/healthz", "--logLevel", "info"]