FROM debian:bookworm-slim

# Instala herramientas necesarias, incluyendo mongodump
RUN apt-get update && apt-get install -y \
    gzip \
    tar \
    curl \
    unzip \
    fuse \
    cron \
    && rm -rf /var/lib/apt/lists/*

# Instala dependencias necesarias
RUN apt-get update && apt-get install -y \
    gnupg \
    curl \
    ca-certificates \
    lsb-release \
    apt-transport-https

# Añade la clave GPG del repositorio de MongoDB
RUN curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
    gpg --dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg

# Añade el repositorio de MongoDB
RUN echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" \
    > /etc/apt/sources.list.d/mongodb-org-8.0.list

# Instala mongodump (mongo-tools)
RUN apt-get update && apt-get install -y mongodb-database-tools

# Instala rclone
RUN curl https://rclone.org/install.sh | bash

# Crea los directorios necesarios
RUN mkdir -p /backup /data-uploads /root/.config/rclone

# Declaramos los volúmenes
VOLUME ["/data-uploads", "/backup", "/root/.config/rclone"]

# Copia el script de backup
COPY backup.sh /usr/local/bin/backup.sh
RUN chmod +x /usr/local/bin/backup.sh

# Copia el cron job
COPY backup-cron /etc/cron.d/backup-cron
RUN chmod 0644 /etc/cron.d/backup-cron && \
    crontab /etc/cron.d/backup-cron

# Necesario para cron
RUN touch /var/log/cron.log

# Comando de inicio: corre cron y muestra logs
CMD cron && tail -f /var/log/cron.log