Spaces:
Running
Running
| # --- STAGE 1: Build Frontend (Vite/React) --- | |
| FROM node:18 AS build-step | |
| WORKDIR /app/frontend | |
| # Kopiujemy pliki konfiguracyjne frontendu | |
| COPY io-app-front/package*.json ./ | |
| RUN npm install | |
| # Kopiujemy reszt臋 plik贸w frontendu i budujemy (bez tsc, samo vite build) | |
| COPY io-app-front/ ./ | |
| RUN npx vite build | |
| # --- STAGE 2: Backend Server (Python + Flask) --- | |
| # U偶ywamy 3.12, 偶eby spe艂ni膰 wymagania rasterio 1.5.0 i contourpy | |
| FROM python:3.12-slim | |
| WORKDIR /app | |
| # Instalacja zale偶no艣ci systemowych dla GDAL i kompilacji bibliotek C++ | |
| RUN apt-get update && apt-get install -y \ | |
| build-essential \ | |
| libgdal-dev \ | |
| python3-dev \ | |
| g++ \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Zmienne 艣rodowiskowe dla kompilatora (kluczowe dla bibliotek GIS) | |
| ENV CPLUS_INCLUDE_PATH=/usr/include/gdal | |
| ENV C_INCLUDE_PATH=/usr/include/gdal | |
| ENV GDAL_CONFIG=/usr/bin/gdal-config | |
| # Kopiujemy wymagania i instalujemy paczki | |
| COPY io-app-backend/requirements.txt . | |
| RUN pip install --upgrade pip setuptools wheel | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Przygotowanie struktury folder贸w dla backendu | |
| WORKDIR /app/io-app-backend | |
| # Kopiujemy zbudowany frontend (dist) do folderu static backendu | |
| COPY --from=build-step /app/frontend/dist /app/io-app-backend/static | |
| # Kopiujemy reszt臋 kodu backendu | |
| COPY io-app-backend/ . | |
| # Konfiguracja Flask | |
| ENV FLASK_APP=app.py | |
| ENV FLASK_RUN_HOST=0.0.0.0 | |
| ENV FLASK_RUN_PORT=7860 | |
| ENV PYTHONUNBUFFERED=1 | |
| EXPOSE 7860 | |
| # Uruchomienie aplikacji | |
| CMD ["python", "app.py"] | |