From f5c4e39ba789fd1e67a663ab1ce605d660ee63b6 Mon Sep 17 00:00:00 2001 From: daniel Date: Wed, 18 Feb 2026 10:09:21 +0100 Subject: [PATCH] Add all --- .dockerignore | 9 +++++++++ .gitignore | 3 +++ Dockerfile | 18 ++++++++++++++++++ db.sqlite3 | Bin 262144 -> 0 bytes entrypoint.sh | 12 ++++++++++++ requirements.txt | 10 +++++++++- 6 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 Dockerfile delete mode 100644 db.sqlite3 create mode 100644 entrypoint.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..dbb263f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +.git +__pycache__ +*.pyc +.env +venv +.venv +db.sqlite3 +static +media \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a77af59 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +tienda/static/media +db.sqlite3 +.venv diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c9b7ee2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM python:3.14-slim + +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 +ENV DEBIANFRONTEND=noninteractive +WORKDIR /app + +RUN apt update && apt install -y build-essential figlet libpq-dev && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt /app/ +RUN pip install --no-cache-dir -r requirements.txt + +COPY . /app/ +RUN chmod +x /app/entrypoint.sh + +EXPOSE 8000 + +CMD ["/app/entrypoint.sh"] \ No newline at end of file diff --git a/db.sqlite3 b/db.sqlite3 deleted file mode 100644 index df7b118601dea49917ebd0f55cec5b674c37c970..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262144 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