implement cors + add Dockerfile for frontend + compose

This commit is contained in:
Michi 2025-04-22 14:49:44 +02:00
parent 4af8161a11
commit b59a74645f
4 changed files with 74 additions and 4 deletions

View file

@ -23,8 +23,8 @@ COPY webservice.py .
COPY crypto.py .
COPY dbfunctions.py .
COPY models.py .
COPY certs/key.pem .
COPY certs/cert.pem .
COPY certs/server.key .
COPY certs/server.crt .
# Start app
CMD ["uvicorn", "webservice:app", "--host", "0.0.0.0", "--port", "8443", "--ssl-keyfile=key.pem", "--ssl-certfile=cert.pem"]
CMD ["uvicorn", "webservice:app", "--host", "0.0.0.0", "--port", "8443", "--ssl-keyfile=server.key", "--ssl-certfile=server.crt"]

View file

@ -3,6 +3,7 @@
################ IMPORTS ################
from fastapi import FastAPI, Depends, HTTPException, Header, Body, Query
from fastapi.middleware.cors import CORSMiddleware
from sqlmodel import Session
from dbfunctions import List, Optional, get_db, save_sensor_data, get_client_id_by_name, validate_token_with_access, engine, save_token_to_db, get_recent_sensor_data, get_all_clients
from models import SensorDataIn, SensorData, MessageOnly, User, Client, ClientCreate, TokenResponse, Session as SessionModel
@ -14,7 +15,20 @@ app = FastAPI(
title="BBZW-Horizon",
description="BBZW-Horizon ist ein Tool, welches entwickelt wurde, um durch die Erfassung und Auswertung von Luftqualitätsmesswerten die Luftqualität in den Schulzimmern des BBZW Sursee zu verbessern. Bei dieser API handelt es sich um die Kommunikationsschnittstelle, zwischen den Arduinos, welche mit Sensoren die Daten erfassen und an die API senden. Diese API speichert die Daten dann in der Datenbank, damit diese durch das Frontend abgerufen und visualisiert werden können.",
summary="Die BBZW-Horizon API dient als Kommunikationsschnittstelle, um Luftqualitätsmesswerte von Arduinos, die mit Sensoren ausgestattet sind, zu erfassen",
version="0.0.5"
version="0.0.6"
)
# CORS
origins = [
"*",
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# DB Session