Spaces:
Runtime error
Runtime error
# Use a base image | |
FROM ubuntu:20.04 | |
# Set environment variable to non-interactive mode | |
ENV DEBIAN_FRONTEND=noninteractive | |
# Install PostgreSQL and dependencies | |
RUN apt-get update && apt-get install -y \ | |
postgresql postgresql-contrib \ | |
python3 python3-pip \ | |
tzdata && \ | |
rm -rf /var/lib/apt/lists/* | |
# Reset DEBIAN_FRONTEND | |
ENV DEBIAN_FRONTEND=interactive | |
# Set environment variables for PostgreSQL | |
ENV POSTGRES_DB=mydatabase | |
ENV POSTGRES_USER=myuser | |
ENV POSTGRES_PASSWORD=mypassword | |
# Install application dependencies | |
COPY requirements.txt /app/requirements.txt | |
RUN pip3 install -r /app/requirements.txt | |
# Copy FastAPI application code | |
COPY app.py /app/app.py | |
# Set up the PostgreSQL database and user | |
RUN service postgresql start && \ | |
su - postgres -c "psql -c \"CREATE USER myuser WITH PASSWORD 'mypassword';\"" && \ | |
su - postgres -c "createdb mydatabase" && \ | |
su - postgres -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;\"" | |
# Expose PostgreSQL and FastAPI ports | |
EXPOSE 5432 8080 | |
# Start PostgreSQL and FastAPI app together | |
CMD service postgresql start && cd app && uvicorn app:app --host 0.0.0.0 --port 8080 | |