From 6652284dbc729909fd793d9c2dc33f337514c24e Mon Sep 17 00:00:00 2001 From: bacalhau Date: Sun, 8 Mar 2026 17:30:55 +0000 Subject: [PATCH] added dockerfile, so you can run this in 1 click --- .gitignore | 2 ++ Dockerfile | 19 +++++++++++++++++++ docker-compose.yml | 14 ++++++++++++++ src/__pycache__/main.cpython-314.pyc | Bin 0 -> 28385 bytes 4 files changed, 35 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 src/__pycache__/main.cpython-314.pyc diff --git a/.gitignore b/.gitignore index 1377bfe..1433b19 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ venv src/static/uploads +data +src/lovedb.db diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..55488c7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM python:3.14.3-alpine3.23 + +WORKDIR /app + +COPY requirements.txt . + +RUN apk add gpg + +RUN pip install --no-cache-dir -r requirements.txt + +COPY src/ ./src/ + +EXPOSE 5000 + +ENV FLASK_APP=src/main.py +ENV FLASK_RUN_HOST=0.0.0.0 +ENV FLASK_ENV=production + +CMD ["flask", "run"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..55b906c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +services: + web: + build: . + container_name: dating + ports: + - "5000:5000" + volumes: + - ./src:/app/src + - ./data:/app/data + environment: + - FLASK_APP=src/main.py + - FLASK_RUN_HOST=0.0.0.0 + - FLASK_ENV=development + restart: unless-stopped diff --git a/src/__pycache__/main.cpython-314.pyc b/src/__pycache__/main.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2b97211c8b4700630021a742531f3c0f465ddbad GIT binary patch literal 28385 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 z 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 F|6lb(+D`xg literal 0 HcmV?d00001