Files
2026-10-05 02:54:13 +02:00

40 lines
1.4 KiB
Docker

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"]