openapi: generate the HTML documentation too and embed it in the image

Aligning with the requirement to run the container without
external resources: embed the documentation of the REST API
directly in the Docker image.
This commit is contained in:
Benjamin Tissoires 2019-01-18 15:49:03 +01:00
parent c83cdc9335
commit 08ca353205

View file

@ -252,6 +252,7 @@ RUN \
gosu wekan:wekan /home/wekan/.meteor/meteor -- help; \ gosu wekan:wekan /home/wekan/.meteor/meteor -- help; \
\ \
# extract the OpenAPI specification # extract the OpenAPI specification
npm install -g api2html && \
mkdir -p /home/wekan/python && \ mkdir -p /home/wekan/python && \
chown wekan:wekan --recursive /home/wekan/python && \ chown wekan:wekan --recursive /home/wekan/python && \
cd /home/wekan/python && \ cd /home/wekan/python && \
@ -260,7 +261,8 @@ RUN \
python3 setup.py install --record files.txt && \ python3 setup.py install --record files.txt && \
cd /home/wekan/app &&\ cd /home/wekan/app &&\
mkdir -p ./public/api && \ mkdir -p ./public/api && \
python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml; \ python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml && \
/opt/nodejs/bin/api2html -c ./public/wekan-logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml; \
# Build app # Build app
cd /home/wekan/app && \ cd /home/wekan/app && \
gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \ gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \
@ -285,6 +287,7 @@ RUN \
# Cleanup # Cleanup
apt-get remove --purge -y ${BUILD_DEPS} && \ apt-get remove --purge -y ${BUILD_DEPS} && \
apt-get autoremove -y && \ apt-get autoremove -y && \
npm uninstall -g api2html &&\
rm -R /var/lib/apt/lists/* && \ rm -R /var/lib/apt/lists/* && \
rm -R /home/wekan/.meteor && \ rm -R /home/wekan/.meteor && \
rm -R /home/wekan/app && \ rm -R /home/wekan/app && \