Spaces:
Build error
Build error
File size: 1,495 Bytes
7ce49a9 b7a7f32 63f7409 b7a7f32 7ce49a9 63f7409 7ce49a9 b7a7f32 7ce49a9 b7a7f32 7ce49a9 63f7409 c43171c 640392a 7ce49a9 b7a7f32 7ce49a9 b7a7f32 5173a75 1de79ab 5173a75 c2113b3 5173a75 c2113b3 5173a75 c2113b3 5173a75 109da6a bb57f2b 1de79ab bb57f2b |
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 |
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 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 ./ .
FROM redis:latest AS redis
RUN redis-server
FROM postgres:latest
# Start Postgres
RUN pg_ctl -D /usr/local/pgsql/data start
# Create user, database, and grant privileges
RUN psql -U postgres -c "CREATE USER postadmin WITH PASSWORD 'postpass';"
RUN psql -U postgres -c "CREATE DATABASE siksalaya;"
RUN psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE siksalaya TO postadmin;"
ENV DATABASE_URL=postgresql://postadmin:postpass@localhost/siksalaya
RUN alembic upgrade head
# Start the FastAPI app using Uvicorn
CMD ["bash", "-c", "redis-server --daemonize yes && uvicorn app:app --host 0.0.0.0 --port 7860"]
|