FROM python:3.11-slim

# Install dependencies
RUN apt-get update && apt-get install -y \
    gnupg \
    lsb-release \
    curl \
    && rm -rf /var/lib/apt/lists/*

# Add PostgreSQL repository with modern GPG key method
RUN echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
    && curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg \
    && chmod 644 /etc/apt/trusted.gpg.d/postgresql.gpg

RUN apt-get update && apt-get install -y \
    postgresql-client-18 \
    redis-tools \
    cron \
    && rm -rf /var/lib/apt/lists/*

# Set working directory
WORKDIR /app

# Copy backup and restore scripts
COPY scripts/backup.py /app/backup.py
COPY scripts/restore.py /app/restore.py

# Create backup directory
RUN mkdir -p /backups

# Create crontabs directory
RUN mkdir -p /etc/crontabs

# Set up cron
RUN echo "$CRON_SCHEDULE /usr/bin/python3 /app/backup.py >> /var/log/backup.log 2>&1" > /etc/crontabs/root

# Run cron
CMD cron -f
