Spaces:
Sleeping
Sleeping
File size: 2,839 Bytes
200c0e9 c1648a3 3e97a63 7ffe51d 3e97a63 7ffe51d 3e97a63 7ffe51d 200c0e9 7ffe51d 4b49493 3e97a63 7ffe51d 200c0e9 7ffe51d 3e97a63 200c0e9 3e97a63 cac2b72 7525a49 3e97a63 7ffe51d 3e97a63 7ffe51d 3e97a63 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# # Use Python 3.11 slim image
# FROM python:3.11-slim
# # Set working directory
# WORKDIR /app
# # Install system dependencies
# RUN apt-get update && apt-get install -y \
# gcc \
# postgresql-client \
# && rm -rf /var/lib/apt/lists/*
# # Copy requirements first for better caching
# COPY requirements.txt .
# # Install Python dependencies
# RUN pip install --no-cache-dir -r requirements.txt
# # Copy application code
# COPY . .
# # Expose port 7860 (Hugging Face Spaces default)
# EXPOSE 7860
# # Run database migrations and start the application
# CMD alembic upgrade head && uvicorn src.main:app --host 0.0.0.0 --port 7860
# # =========================
# # Base Image
# # =========================
# FROM python:3.11-slim
# # Set working directory
# WORKDIR /app
# # =========================
# # Install system dependencies
# # =========================
# RUN apt-get update && apt-get install -y \
# gcc \
# libpq-dev \
# postgresql-client \
# && rm -rf /var/lib/apt/lists/*
# # =========================
# # Copy requirements first (cache optimization)
# # =========================
# COPY requirements.txt .
# # Upgrade pip and install Python dependencies
# RUN pip install --upgrade pip
# RUN pip install --no-cache-dir -r requirements.txt
# # =========================
# # Copy app source code
# # =========================
# COPY src/ ./src
# # Copy alembic config
# COPY alembic.ini .
# # =========================
# # Copy specs folder to match expected absolute path
# # =========================
# COPY specs/ /specs/
# # =========================
# # Expose port (for FastAPI / Hugging Face Spaces)
# # =========================
# EXPOSE 7860
# # =========================
# # Run migrations and start app
# # =========================
# CMD alembic upgrade head && uvicorn src.main:app --host 0.0.0.0 --port 7860
# ////////////////////
# Use slim Python 3.11 image
FROM python:3.11-slim
# Set working directory inside container
WORKDIR /app
# Install system dependencies
RUN apt-get update && apt-get install -y \
gcc \
libpq-dev \
postgresql-client \
&& rm -rf /var/lib/apt/lists/*
RUN pip uninstall -y bcrypt && \
pip install bcrypt==4.0.1 passlib[bcrypt]==1.7.4
# Copy and install Python dependencies
COPY requirements.txt .
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
# Copy source code
COPY src/ ./src
# Copy Alembic migrations and config
COPY src/alembic/ ./alembic/
COPY alembic.ini .
# Copy specs (MCP tools contracts)
COPY specs/ ./specs/
# Set environment variable for working directory (optional, helps paths)
ENV PROJECT_ROOT=/app
# Expose port
EXPOSE 7860
# Run migrations and start the app
CMD ["sh", "-c", "alembic upgrade head && uvicorn src.main:app --host 0.0.0.0 --port 7860 --reload"]
|