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