From e75b21a17dc51db4aafe5c3cb4a279271ca50d99 Mon Sep 17 00:00:00 2001 From: Federico Luzzi Date: Tue, 23 Jul 2024 10:12:37 -0300 Subject: [PATCH] dockerize --- Dockerfile | 18 ++++++++++++++++++ docker-compose.yml | 26 ++++++++++++++++++++++++++ requirements.txt | 3 +++ 3 files changed, 47 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 requirements.txt diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5f98c2c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +# Use the official Python base image +FROM python:3.9-slim + +# Set the working directory in the container +WORKDIR /app + +# Copy the current directory contents into the container at /app +COPY . /app + +# Install the dependencies +RUN pip install --no-cache-dir -r requirements.txt + +# Expose port 5000 to the outside world +EXPOSE 5000 + +# Command to run the Flask app +CMD ["python", "app.py"] + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..aaf1b1b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,26 @@ +version: '3.8' + +services: + traefik-frontend: + container_name: traefik-frontend + build: + context: . + dockerfile: Dockerfile + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + environment: + FLASK_ENV: development + networks: + - web + labels: + - "traefik.enable=true" + - "traefik.http.routers.home.rule=Host(`home.gederico.dynu.net`)" + - "traefik.http.routers.home.tls.certresolver=leresolver" + - "traefik.http.routers.home.entrypoints=websecure" + - "traefik.http.routers.home.middlewares=chain-authelia@file" + - "traefik.http.services.home.loadbalancer.server.port=5000" + - "traefik.http.services.home.loadbalancer.server.scheme=http" + +networks: + web: + external: true diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..a63d0c5 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +docker==7.1.0 +Flask==2.3.2 +Requests==2.32.3