new file: Dockerfile new file: README.md new file: app.py new file: index.html new file: projekte des/PROJECT_DESCRIPTION.txt new file: projekte des/WEBSITE_DESCRIPTION.md new file: projekte des/website_project_description_en.txt new file: requirements.txt new file: script.js new file: static/css/styles.css new file: static/js/script.js new file: styles.css new file: templates/about.html new file: templates/base.html new file: templates/contact.html new file: templates/index.html new file: templates/minecraft.html new file: templates/project_detail.html new file: templates/projects.html
31 lines
715 B
Docker
31 lines
715 B
Docker
FROM python:3.10-slim
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
PIP_NO_CACHE_DIR=1 \
|
|
PORT=5000
|
|
|
|
WORKDIR /app
|
|
|
|
# Keep image minimal; add build tools only if future deps require them
|
|
RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install dependencies (better layer caching)
|
|
COPY requirements.txt ./
|
|
RUN pip install --upgrade pip && pip install -r requirements.txt
|
|
|
|
# Copy application code
|
|
COPY app.py ./
|
|
COPY templates ./templates
|
|
COPY static ./static
|
|
|
|
# Environment variables from Coolify (if used)
|
|
ENV DEMO=$DEMO
|
|
|
|
EXPOSE 5000
|
|
|
|
# Production server
|
|
CMD ["gunicorn", "-w", "3", "-b", "0.0.0.0:5000", "app:app"]
|