FROM registry.fedoraproject.org/fedora:33

ARG version=latest
ARG vcs_url="https://github.com/Nitrate/Nitrate"
ARG build_latest=no

LABEL \
    name=Nitrate \
    license=GPLv2+ \
    version="${version}" \
    maintainer="Chenxiong Qi <qcxhome@gmail.com>" \
    vendor="" \
    io.github.nitrate.url="https://nitrate.readthedocs.io/" \
    io.github.nitrate.vcs-url="${vcs_url}" \
    io.github.nitrate.issues-url="${vcs_url}/issues/" \
    description="Nitrate worker image to run asynchronous tasks."

RUN dnf --setopt=deltarpm=0 --setopt=install_weak_deps=false --nodocs install -y dnf-utils && \
    dnf copr enable -y cqi/python-nitrate-tcms && \
    if [[ "${build_latest}" == "yes" ]]; then \
        dnf copr enable -y cqi/python-nitrate-tcms-testing; \
    fi && \
    dnf --setopt=deltarpm=0 --setopt=install_weak_deps=false --nodocs install -y \
        python3-sqlalchemy \
        python3-nitrate-tcms python3-nitrate-tcms+async python3-nitrate-tcms+mysql && \
    dnf copr remove -y cqi/python-nitrate-tcms && \
    if [[ "${build_latest}" == "yes" ]]; then \
        dnf copr remove -y cqi/python-nitrate-tcms-testing; \
    fi && \
    dnf clean all && \
    rm -rf /var/cache/dnf

# Directory holding customized settings module.
RUN mkdir /nitrate-config

VOLUME ["/nitrate-config"]

ENV PYTHONPATH=/nitrate-config DJANGO_SETTINGS_MODULE=tcms.settings.product

CMD ["celery", "-A", "tcms", "worker", "-l", "INFO"]
