From 027ad1c62f2c15de2613e213786568b73c42a465 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Pelletier?= Date: Wed, 5 Jul 2023 01:12:44 -0400 Subject: [PATCH] ajout images --- Dockerfile | 7 +++--- logo-case-cocher.png | Bin 0 -> 17451 bytes main.py | 48 +++++++++++++++++++++++++++++++++++++- requirements.txt | 3 ++- resources/images/__file__ | 0 test_main.http | 4 ++++ upload_image.sh | 8 +++++++ 7 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 logo-case-cocher.png create mode 100644 resources/images/__file__ create mode 100644 upload_image.sh diff --git a/Dockerfile b/Dockerfile index 5fd104a..75e2fc4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,15 +29,14 @@ COPY requirements.txt . # Install Python dependencies RUN pip install -r requirements.txt -# Copy the application code -COPY . . - # Policy for ImageMagick - COPY conf/policy.xml /etc/ImageMagick-6/policy.xml # Expose the application port EXPOSE 8000 +# Copy the application code +COPY . . + # Run the application CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/logo-case-cocher.png b/logo-case-cocher.png new file mode 100644 index 0000000000000000000000000000000000000000..cc649a9d72fb6b9d6efd109356fa5acb7364174a GIT binary patch literal 17451 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