API backend: Docker
mickahell opened this issue · 2 comments
mickahell commented
Summary
Dockeurize the api, that can be running using flags.
Example of api_server/docker/Dockerfile
:
FROM ubuntu:latest
ARG DEBIAN_FRONTEND=noninteractive
ARG PROJECT_NAME=purplecaffeine
LABEL org.opencontainers.image.title="${PROJECT_NAME}" \
org.opencontainers.image.authors=${GITHUB_ACTOR} \
org.opencontainers.image.vendor=${GITHUB_REPOSITORY} \
org.opencontainers.image.source="${PROJECT_URL}" \
org.opencontainers.image.url="${PROJECT_URL}/tags" \
org.opencontainers.image.description="API purplecaffeine" \
org.opencontainers.image.os="ubuntu" \
org.opencontainers.image.version=${GITHUB_REF}
COPY . /opt/purplecaffeine
RUN apt-get update -yq \
&& apt-get install python3-pip -y
RUN pip3 install --upgrade pip setuptools
RUN pip3 install -r /opt/purplecaffeine/requirements.txt
WORKDIR /opt/purplecaffeine
VOLUME /etc/purplecaffeine/conf/
EXPOSE 8080
ENTRYPOINT [ "/opt/purplecaffeine" ]
CMD [ "--help" ]
And so that can be run by calling from api_server/
:
docker run \
--name purplecaffeine \
-v $(PWD)/test:/etc/purplecaffeine/conf \
-e PASS_DB=${PASS_DB} -e TOKEN_API=${TOKEN_API} \
-p 8080:8080 \
purplecaffeine:latest \
-conf=/etc/purplecaffeine/conf/conf_docker.yaml \
-swagger=/etc/purplecaffeine/conf/swagger.yaml
Or something similar.
mickahell commented
See comment : #23 (comment)