35 lines
572 B
Plaintext
35 lines
572 B
Plaintext
FROM python:3.11-slim
|
|
|
|
# Set environment variables
|
|
ENV PYTHONDONTWRITEBYTECODE=1
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
# Set work directory
|
|
WORKDIR /app
|
|
|
|
# Install dependencies
|
|
COPY requirements.txt /app/
|
|
RUN pip install --upgrade pip && \
|
|
pip install -r requirements.txt
|
|
|
|
# Copy project
|
|
COPY . /app/
|
|
|
|
# Collect static files
|
|
RUN python manage.py collectstatic --noinput
|
|
|
|
# Expose port
|
|
EXPOSE 8000
|
|
|
|
# Run gunicorn
|
|
CMD ["gunicorn", "booking_system.wsgi:application", "--bind", "0.0.0.0:8000"]
|
|
```
|
|
|
|
**Optional: Create `.dockerignore`:**
|
|
```
|
|
*.pyc
|
|
__pycache__
|
|
db.sqlite3
|
|
.env
|
|
.git
|
|
venv/ |