From 02a99ea47d9edb73fcf46a9473d5c403db13a7eb Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Nov 2025 23:49:21 +0000 Subject: [PATCH] Fix Docker configuration for new backend structure - Update Dockerfile to use backend.main:app instead of main:app - Change exposed port from 8000 to 8001 - Fix docker-compose.yml port mapping to 8001:8001 - Update healthcheck to use correct port and /health endpoint - Remove old main.py from root directory Docker now correctly runs the new frontend + backend structure. --- Dockerfile | 6 +++--- docker-compose.yml | 6 +++--- main.py | 41 ----------------------------------------- 3 files changed, 6 insertions(+), 47 deletions(-) delete mode 100644 main.py diff --git a/Dockerfile b/Dockerfile index 3533224..d567991 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ RUN pip install --no-cache-dir -r requirements.txt COPY . . # Expose port -EXPOSE 8000 +EXPOSE 8001 -# Run the application -CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] +# Run the application using the new backend structure +CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8001"] diff --git a/docker-compose.yml b/docker-compose.yml index 6214c26..410d866 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,15 +5,15 @@ services: build: . container_name: seismo-fleet-manager ports: - - "8001:8000" + - "8001:8001" volumes: - # Persist SQLite database + # Persist SQLite database and photos - ./data:/app/data environment: - PYTHONUNBUFFERED=1 restart: unless-stopped healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8000/"] + test: ["CMD", "curl", "-f", "http://localhost:8001/health"] interval: 30s timeout: 10s retries: 3 diff --git a/main.py b/main.py deleted file mode 100644 index 9458fd8..0000000 --- a/main.py +++ /dev/null @@ -1,41 +0,0 @@ -from fastapi import FastAPI -from fastapi.middleware.cors import CORSMiddleware - -from database import engine, Base -from routes import router - -# Create database tables -Base.metadata.create_all(bind=engine) - -# Initialize FastAPI app -app = FastAPI( - title="Seismo Fleet Manager", - description="Backend API for managing seismograph fleet status", - version="0.1.0" -) - -# Configure CORS (adjust origins as needed for your deployment) -app.add_middleware( - CORSMiddleware, - allow_origins=["*"], # In production, specify exact origins - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], -) - -# Include API routes -app.include_router(router) - - -@app.get("/") -def root(): - """Root endpoint - health check""" - return { - "message": "Seismo Fleet Manager API v0.1", - "status": "running" - } - - -if __name__ == "__main__": - import uvicorn - uvicorn.run(app, host="0.0.0.0", port=8000)