# Dockerfile
FROM python:3.12-slim
-WORKDIR /app
+WORKDIR /var/www/network-manager
# Install dependencies
RUN pip install --no-cache-dir fastapi uvicorn[standard]
# Copy backend and frontend
-COPY backend/ /app/backend/
-COPY frontend/ /app/frontend/
+COPY backend/ /var/www/network-manager/backend/
+COPY frontend/ /var/www/network-manager/frontend/
# Default environment variables
ENV DB_PATH=/data/database.db
-ENV APP_PORT=8000
+ENV HTTP_PORT=8000
-# Expose the port dynamically (Docker ignores env here but it's good documentation)
-EXPOSE ${APP_PORT}
+# Expose the port dynamically
+EXPOSE ${HTTP_PORT}
# Use the env var in the startup command
-CMD ["sh", "-c", "uvicorn backend.main:app --host 0.0.0.0 --port ${APP_PORT}"]
+CMD ["sh", "-c", "uvicorn backend.main:app --host 0.0.0.0 --port ${HTTP_PORT}"]
import os
import ipaddress
-DB_PATH = os.environ.get("DB_PATH", "/app/database.db")
+DB_PATH = os.environ.get("DB_PATH", "/data/database.db")
# -----------------------------
# Connect to the database
# FRONTEND PATHS (absolute paths inside Docker)
# ---------------------------------------------------------
-FRONTEND_DIR = "/app/frontend"
+FRONTEND_DIR = "/var/www/network-manager/frontend"
# Homepage
@app.get("/")