TESTINGDB / Dockerfile1
sarveshpatel's picture
Rename Dockerfile to Dockerfile1
f363c59 verified
FROM python:3.11-slim-bookworm
ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1
ENV PGDATA=/data/postgres
# Install PostgreSQL 15 + tools
RUN apt-get update && \
apt-get install -y --no-install-recommends \
postgresql-15 \
postgresql-contrib-15 \
postgresql-client-15 \
supervisor \
curl \
unzip \
sudo \
procps \
&& rm -rf /var/lib/apt/lists/*
# Install pgweb (lightweight PostgreSQL web UI)
RUN curl -sL https://github.com/sosedoff/pgweb/releases/download/v0.16.0/pgweb_linux_amd64.zip \
-o /tmp/pgweb.zip && \
unzip /tmp/pgweb.zip -d /usr/local/bin/ && \
mv /usr/local/bin/pgweb_linux_amd64 /usr/local/bin/pgweb && \
chmod +x /usr/local/bin/pgweb && \
rm /tmp/pgweb.zip
# Install Python dependencies
COPY requirements.txt /tmp/
RUN pip install --no-cache-dir -r /tmp/requirements.txt
# Create directories
RUN mkdir -p /data/postgres \
/data/backup \
/var/run/postgresql \
/var/log/supervisor \
/app && \
chown -R postgres:postgres /data/postgres /var/run/postgresql && \
chmod 700 /data/postgres
# Copy application files
COPY start.sh /app/start.sh
COPY sync_manager.py /app/sync_manager.py
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
RUN chmod +x /app/start.sh
WORKDIR /app
EXPOSE 7860
CMD ["/app/start.sh"]