diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..6d0556067a3d3f3aac08f1645ae679c46aade1d9 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,29 @@ +# Verwende das neueste Python-Image +FROM python:latest + +# Setze das Arbeitsverzeichnis im Container +WORKDIR /app + +# Kopiere die pyproject.toml und uv.lock-Dateien +COPY pyproject.toml . +COPY uv.lock . + +# Kopiere auch requirements.txt, falls vorhanden +COPY requirements.txt . + +# Installiere uv und die Abhängigkeiten +RUN pip install --upgrade pip && \ + pip install uv && \ + pip install --no-cache-dir -r requirements.txt + +# Kopiere den Rest des Projekts in den Container +COPY . . + +# Setze Umgebungsvariablen, falls nötig +ENV PYTHONUNBUFFERED 1 + +# Exponiere den Port 8000 für den Server +EXPOSE 8000 + +# Der Startbefehl: Starte den Server mit uv +CMD ["uv", "run", "python", "manage.py", "runserver", "0.0.0.0:8000"] diff --git a/backend/app/views.py b/backend/app/views.py index 4aeec7f4fa2a084512d00f9d298b0a4c56ba1c3d..7bff2a9e70abf3f8e6590ac58906a1dcaa551079 100644 --- a/backend/app/views.py +++ b/backend/app/views.py @@ -32,7 +32,7 @@ def login_view(request): user = authenticate(request, username=email, password=password) if user: - login(request, user) + login(request, user) # also creates a session in the browser return JsonResponse({"success": True}) return JsonResponse( {"success": False, "message": "Invalid credentials"}, status=401 @@ -40,7 +40,7 @@ def login_view(request): def logout_view(request): - logout(request) + logout(request) return JsonResponse({"message": "Logged out"}) diff --git a/backend/core/urls.py b/backend/core/urls.py index 8e18b6fa40ad248ce188e6b17bf9fd7da01e8819..8d12f2b65075ac542493d4e5bd15b8d644b03734 100644 --- a/backend/core/urls.py +++ b/backend/core/urls.py @@ -20,5 +20,5 @@ from django.urls import path, include urlpatterns = [ path("admin/", admin.site.urls), - path("", include("sim.urls")), + path("", include("app.urls")), ] diff --git a/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..f7b96d0262a80c5d79eea5977842ac8852927521 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3.9' + +services: + backend: + build: ./backend + ports: + - "8000:8000" + volumes: + - ./backend:/app + + frontend: + build: ./frontend + ports: + - "5173:5173" + volumes: + - ./frontend:/app + stdin_open: true + tty: true diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..7e7ab9140b17abd8223d07a5b3c8ac7d321981f2 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,13 @@ +# frontend/Dockerfile + +FROM node:20 +WORKDIR /app + +# Nur lokale Abhängigkeiten, kein globales Vite! +COPY package*.json ./ +RUN npm install + +COPY . . + +EXPOSE 5173 +CMD ["npx", "vite", "--host"]