40 lines
942 B
Docker
40 lines
942 B
Docker
# Dockerfile
|
|
# À placer dans /opt/container/growatt-live/
|
|
FROM python:3.11-slim
|
|
|
|
# Métadonnées
|
|
LABEL maintainer="growatt-interceptor"
|
|
LABEL description="Intercepteur Growatt autonome - Remplace Grott"
|
|
|
|
# Définir le répertoire de travail
|
|
WORKDIR /app
|
|
|
|
# Installer les dépendances système si nécessaire
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
curl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Installer les dépendances Python
|
|
RUN pip install --no-cache-dir \
|
|
flask \
|
|
requests \
|
|
python-dateutil
|
|
|
|
# Créer le dossier data
|
|
RUN mkdir -p /app/data
|
|
|
|
# Copier le script principal
|
|
COPY growatt_interceptor.py /app/
|
|
|
|
# Créer un utilisateur non-root pour la sécurité
|
|
RUN useradd -m -s /bin/bash growatt && \
|
|
chown -R growatt:growatt /app
|
|
|
|
# Changer vers l'utilisateur non-root
|
|
USER growatt
|
|
|
|
# Exposer les ports
|
|
EXPOSE 5279 8080
|
|
|
|
# Commande de démarrage
|
|
CMD ["python", "-u", "growatt_interceptor.py"] |