Spaces:
Build error
Build error
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 install -y postgresql \ | |
&& 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 ./ . | |
# Install additional Python dependencies | |
#RUN pip install -U -q pyngrok ipython psycopg2 alembic | |
# Create PostgreSQL users and databases in the background | |
RUN service redis-server start \ | |
&& service postgresql start \ | |
RUN pg_ctl start -D /usr/local/pgsql/data -l logfile \ | |
&& psql -c "CREATE USER postadmin WITH PASSWORD 'postpass';" \ | |
&& psql -c "CREATE DATABASE siksalaya;" \ | |
&& psql -c "GRANT ALL PRIVILEGES ON DATABASE siksalaya TO postadmin;" \ | |
&& pg_ctl stop -D /usr/local/pgsql/data | |
# Start the FastAPI app using Uvicorn | |
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] | |