# Dockerfile para contenedor de mantenimiento
FROM alpine:3.19

# Instalar herramientas necesarias incluyendo PHP
RUN apk add --no-cache \
    bash \
    php82 \
    php82-pdo \
    php82-pdo_mysql \
    php82-mysqli \
    php82-curl \
    php82-json \
    php82-mbstring \
    php82-openssl \
    php82-redis \
    mariadb-client \
    curl \
    tzdata \
    dcron \
    logrotate \
    gzip && \
    ln -sf /usr/bin/php82 /usr/bin/php

# Configurar zona horaria
ENV TZ=America/Bogota
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# Crear directorios de trabajo
RUN mkdir -p /backups /scripts /var/log/cron

# Copiar scripts de mantenimiento
COPY docker/maintenance/scripts/ /scripts/
RUN chmod +x /scripts/*.sh

# Configurar crontab
COPY docker/maintenance/crontab /etc/crontabs/root

# Script de inicio
COPY docker/maintenance/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

WORKDIR /scripts

ENTRYPOINT ["/entrypoint.sh"]
