Files
2026-07-16 20:48:43 -03:00

54 lines
1.5 KiB
Docker

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