FROM debian:13-slim ENV DEBIAN_FRONTEND=noninteractive \ PYTHONUNBUFFERED=1 # Apache2 + NetworkManager embarqué + outils Wi-Fi + Python RUN apt-get update \ && apt full-upgrade -y && apt-get install -y --no-install-recommends \ apache2 nano python3 \ network-manager wpasupplicant dbus \ iw iproute2 rfkill wireless-regdb \ dnsmasq-base iptables nftables procps \ && a2enmod proxy proxy_http headers \ && rm -rf /var/lib/apt/lists/* # Vos fichiers WORKDIR /app COPY ap.py /app/ap.py # Nom de votre fichier HTML dans le dossier de build (par défaut index.html) ARG HTML_FILE=index.html COPY ${HTML_FILE} /app/index.html COPY ${HTML_FILE} /var/www/html/index.html COPY favicon.png /var/www/html/favicon.png # L'API n'est plus joignable que via Apache : le HTML appelle /api sur le même port (1001) RUN sed -i 's#const API_URL=[^;]*;#const API_URL="";#' /app/index.html /var/www/html/index.html COPY apache-ap.conf /etc/apache2/sites-available/000-default.conf COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh && rm -f /var/www/html/index.html.orig \ && sed -i 's/^Listen 80$/Listen ${AP_WEB_PORT}/; s/^\s*Listen 443$/ Listen 1443/' /etc/apache2/ports.conf ENV AP_DB_FILE=/data/ap-dashboard.sqlite3 \ AP_CONNECTION_FILE=/data/connection \ AP_UPTIME_FILE=/data/uptime VOLUME ["/data", "/etc/NetworkManager/system-connections", "/var/lib/NetworkManager"] ENV AP_WEB_PORT=1001 EXPOSE 1001 ENTRYPOINT ["/entrypoint.sh"]