Spaces:
Build error
Build error
File size: 1,250 Bytes
7ce49a9 b7a7f32 63f7409 b7a7f32 7ce49a9 63f7409 7ce49a9 b7a7f32 7ce49a9 b7a7f32 7ce49a9 bc24947 7ce49a9 63f7409 c43171c 640392a 7ce49a9 b7a7f32 7ce49a9 b7a7f32 7ce49a9 b7a7f32 a09c514 |
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 |
FROM python:3.9-slim AS builder
WORKDIR /app
COPY ./pyproject.toml .
COPY ./poetry.lock .
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends build-essential \
&& pip install --upgrade pip poetry \
&& poetry config virtualenvs.create false \
&& poetry install --no-interaction --no-ansi
FROM python:3.9-slim
WORKDIR /app
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends libpq5 redis-server \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install PostgreSQL client
RUN apt-get update \
&& apt-get install -y --no-install-recommends postgresql-client \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Switch to the root user
USER root
# Copy the built virtual environment from the builder stage
COPY --from=builder /usr/local /usr/local
# Copy the rest of the backend files to the container
COPY ./ .
# Expose the backend port (change this if your FastAPI app uses a different port)
EXPOSE 7860
# Start Redis server and the FastAPI app using Uvicorn
CMD ["bash", "-c", "service redis-server start && pg_ctl start -D /usr/local/pgsql/data -l logfile && uvicorn app:app --host 0.0.0.0 --port 7860"]
|