From b634b050e55af7b86e215a9a6bd3974133e300ce Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Sun, 15 Feb 2026 21:26:38 +0100 Subject: [PATCH] added docker compose for easy setup --- backend/.dockerignore | 7 +++++++ backend/Dockerfile | 22 ++++++++++++++++++++++ backend/entrypoint.sh | 28 ++++++++++++++++++++++++++++ docker-compose.yml | 26 ++++++++++++++++++++++++++ frontend/.dockerignore | 6 ++++++ frontend/Dockerfile | 20 ++++++++++++++++++++ frontend/src/App.tsx | 10 +++++----- frontend/src/api.ts | 2 +- 8 files changed, 115 insertions(+), 6 deletions(-) create mode 100644 backend/.dockerignore create mode 100644 backend/Dockerfile create mode 100755 backend/entrypoint.sh create mode 100644 docker-compose.yml create mode 100644 frontend/.dockerignore create mode 100644 frontend/Dockerfile diff --git a/backend/.dockerignore b/backend/.dockerignore new file mode 100644 index 0000000..51c320a --- /dev/null +++ b/backend/.dockerignore @@ -0,0 +1,7 @@ +# Ignore virtual environment and cache +venv/ +__pycache__/ +*.pyc +db.sqlite3* +.idea/ +.vscode/ diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..636a820 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,22 @@ +# Use an official Python runtime as a parent image +FROM python:3.14-slim + +# Set environment variables +ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONUNBUFFERED 1 + +# Set the working directory in the container +WORKDIR /app + +# Install dependencies +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# Copy the rest of the backend code +COPY . . + +# Expose the port the app runs on +EXPOSE 8000 + +# Run the entrypoint script +ENTRYPOINT ["./entrypoint.sh"] diff --git a/backend/entrypoint.sh b/backend/entrypoint.sh new file mode 100755 index 0000000..08a1330 --- /dev/null +++ b/backend/entrypoint.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# Exit on error +set -e + +# Apply database migrations +echo "Applying database migrations..." +python manage.py migrate + +# Create superuser if it doesn't exist +echo "Creating superuser..." +python manage.py shell < { - - - + + {isMobile && ( { handleThemeChange('mocha')}>Mocha - - + + {/* Spacer for the fixed AppBar */} + {