# Stage 0: Get jq
FROM ghcr.io/jqlang/jq:1.7.1 as jq

# Stage 1: Jbrowse config file generated
FROM quay.io/biocontainers/jbrowse2:2.15.3--hbbc3ce4_0 as jbrowse_builder
WORKDIR /app/annelids
COPY --from=jq /jq ./
COPY jbrowse_script_base.sh ./
RUN ./jbrowse_script_base.sh
COPY tracks.json default_session.json  ./
RUN  ./jq --rawfile base default_session.json '.defaultSession = $base' config.json > config_tmp.json \
    && ./jq --rawfile base tracks.json '. += $base' config_tmp.json > config_final.json \
    && mv config_final.json config.json \
    && rm -rf node_modules jq jbrowse_script_base.sh default_session.json tracks.json

# Stage 2: Load into nginx
FROM nginx:alpine
WORKDIR /usr/share/nginx/html
RUN rm -rf ./*
COPY --from=jbrowse_builder /app/annelids/ .
ENTRYPOINT ["nginx", "-g", "daemon off;"]