# The public AI:MND Registry (registry.aimndlabs.com) in a container. From the repo root:
#   python3 tools/build_wheel.py
#   docker build -f deploy/registry/Dockerfile -t aimnd-registry .
#   docker run -p 8080:8080 -v aimnd-registry:/data aimnd-registry
# Existing registry signing key is mandatory. Never initialize over production data.
FROM python:3.12-slim
RUN useradd --create-home --uid 10001 aimnd && mkdir -p /data /app
COPY dist/aimnd-*-py3-none-any.whl /tmp/
RUN pip install --no-cache-dir "$(ls /tmp/aimnd-*-py3-none-any.whl)[identity]" && rm /tmp/aimnd-*.whl
COPY deploy/registry/entrypoint.py /app/entrypoint.py
ENV PYTHONUNBUFFERED=1 PORT=8080 AIMND_REGISTRY_PUBLIC_URL=https://registry.aimndlabs.com
VOLUME /data
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=5s CMD python -c "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:8080/v1/health', timeout=4).status == 200 else 1)"
USER aimnd
CMD ["python", "/app/entrypoint.py"]
