Gurucool_Test / Dockerfile
ashwinR's picture
Update Dockerfile
e1969f9
raw
history blame
1.14 kB
FROM python:3.9-slim
WORKDIR /app
# 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
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends redis-server postgresql \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Start Redis and Postgres
RUN service redis-server start
RUN service postgresql start
# Create user, database, and grant privileges
RUN su postgres -c "psql -c \"CREATE USER postadmin WITH PASSWORD 'postpass';\""
RUN su postgres -c "psql -c \"CREATE DATABASE siksalaya;\""
RUN su postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE siksalaya TO postadmin;\""
# Set environment variables for Alembic
ENV DATABASE_URL=postgresql://postadmin:postpass@localhost/siksalaya
# Run Alembic migrations
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"]