wifi-etl/infra/Dockerfile
Rafael Lopes 331a021d9a
Some checks failed
Deploy WiFi-ETL Prod / deploy (push) Failing after 0s
FEAT: Implementado ETL completo para Ruijie e Wifeed
- Adicionado suporte para extração de dados do Ruijie e WiFeed, incluindo autenticação e tratamento de erros.
- Adicionado suporte para watermarking em ambas as fontes para extração incremental.
- Criado script de transformação para mesclagem de MAC addresses.
- Implementado Backfill para WiFeed, permitindo extração histórica com controle de taxa.
- Adicionado script de depuração para testes de transformação do WiFeed.
- Desenvolvido scripts de implantação e configurações do Docker para setup de produção.
- Criado script de inicialização do schema do PostgreSQL em infra/init.sql.
- Adicionado teste automatizado para lógica de transformação e carregamento em test_transform_load.py.
- Atualizado documentation para implantação e setup de produção.
2026-04-22 16:55:44 -03:00

35 lines
809 B
Docker

# WiFi ETL — Docker Image
FROM python:3.11-slim
# System deps
RUN apt-get update && apt-get install -y --no-install-recommends \
cron \
gcc \
libpq-dev \
&& rm -rf /var/lib/apt/lists/*
# Workdir
WORKDIR /app
# Python deps
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Code
COPY app ./app
COPY infra/init.sql /docker-entrypoint-initdb.d/
COPY infra/entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint.sh
# Crontab
COPY infra/crontab /etc/cron.d/wifi-etl
RUN chmod 0644 /etc/cron.d/wifi-etl && \
crontab /etc/cron.d/wifi-etl
# Log dir
RUN mkdir -p /var/log && touch /var/log/wifi-etl.log /var/log/wifi-etl-cleanup.log
# Entrypoint executa ETL uma vez, depois inicia cron
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["cron", "-f"]