From 618fd1c4bb2a67ad7a9d43a6584565f60f394576 Mon Sep 17 00:00:00 2001 From: Thomas Hintz Date: Sun, 3 Dec 2023 10:13:31 -0800 Subject: [PATCH] try to use dockerfile directly --- Dockerfile | 56 ++++++++++++++++++++++++++++++++++++++++++++++ captain-definition | 7 +----- 2 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e01f8fa --- /dev/null +++ b/Dockerfile @@ -0,0 +1,56 @@ +# set base image (host OS) +FROM python:3.8 + +# set the working directory in the container +WORKDIR /app + +# set env tag +ENV RUN_IN_DOCKER Yes + +# copy the dependencies file to the working directory +COPY requirements.txt . + +# install odbc driver +RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \ + curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list + +RUN apt-get update && apt-get install -y unzip unixodbc-dev git nano ghostscript +RUN ACCEPT_EULA=Y apt-get install -y msodbcsql17 + +# allow ghostscript PDF conversion +RUN sed 's/rights="none" pattern="PDF"/rights="read | write" pattern="PDF"/g' /etc/ImageMagick-6/policy.xml -i + +# install dependencies +RUN pip install -r requirements.txt + +# copy the content of the local src directory to the working directory +COPY src/ ./src + +# create config folder +RUN mkdir -p /app/config + +# clone repo +RUN git clone https://github.com/ReceiptManager/receipt-manager-webapp.git + +# compile frontend with polymer +RUN curl -sL https://deb.nodesource.com/setup_16.x | bash +RUN apt-get install -y nodejs +RUN npm install -g polymer-cli +RUN cd receipt-manager-webapp/Frontend && polymer build +RUN mkdir -p /app/webroot && mkdir -p /app/webroot/ssl && mkdir -p /app/webroot/settings && cp -a receipt-manager-webapp/Frontend/build/default/. /app/webroot +RUN cp -rf receipt-manager-webapp/Frontend/lang/. /app/webroot/lang +RUN yes | cp -rf receipt-manager-webapp/Frontend/node_modules/lit-html/. /app/webroot/node_modules/lit-html +RUN cp -r receipt-manager-webapp/Frontend/node_modules/lit-element/lit-element.js.map /app/webroot/node_modules/lit-element/lit-element.js.map +RUN cp -r receipt-manager-webapp/Frontend/node_modules/lit-element/lib/*.map /app/webroot/node_modules/lit-element/lib +RUN cp -r receipt-manager-webapp/Frontend/node_modules/@webcomponents/webcomponentsjs/. /app/webroot/node_modules/@webcomponents/webcomponentsjs +RUN cp -r receipt-manager-webapp/Frontend/node_modules/web-animations-js/*.map /app/webroot/node_modules/web-animations-js +RUN cp -r receipt-manager-webapp/Frontend/img/. /app/webroot/img +RUN cp receipt-manager-webapp/Frontend/favicon.ico /app/webroot/favicon.ico +RUN rm -rf receipt-manager-webapp + +WORKDIR /app/src + +EXPOSE 8721 + +# command to run on container start +CMD [ "python", "-u", "./__init__.py" ] diff --git a/captain-definition b/captain-definition index 9f3d900..704386e 100644 --- a/captain-definition +++ b/captain-definition @@ -1,9 +1,4 @@ { "schemaVersion": 2, - "dockerfileLines": [ - "FROM monolidth/receipt-parser:latest", - "EXPOSE 8721", - "WORKDIR /app/src", - "CMD [ \"python\", \"-u\", \"./__init__.py\" ]" - ] + "dockerfilePath": "./Dockerfile" } \ No newline at end of file