#15 30.47 Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
#15 30.50 Downloading flask-3.1.2-py3-none-any.whl (103 kB)
#15 30.53 Downloading flask_cors-6.0.2-py3-none-any.whl (13 kB)
#15 30.56 Downloading unifi_sm_api-0.2.1-py3-none-any.whl (16 kB)
#15 30.58 Downloading tplink_omada_client-1.4.4-py3-none-any.whl (46 kB)
#15 30.61 Downloading wakeonlan-3.1.0-py3-none-any.whl (5.0 kB)
#15 30.64 Downloading pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl (2.3 MB)
#15 30.69    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 45.1 MB/s  0:00:00
#15 30.72 Downloading requests-2.32.5-py3-none-any.whl (64 kB)
#15 30.75 Downloading urllib3-2.6.3-py3-none-any.whl (131 kB)
#15 30.78 Downloading charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl (154 kB)
#15 30.82 Downloading idna-3.11-py3-none-any.whl (71 kB)
#15 30.85 Downloading paho_mqtt-2.1.0-py3-none-any.whl (67 kB)
#15 30.88 Downloading scapy-2.7.0-py3-none-any.whl (2.6 MB)
#15 30.91    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.6/2.6 MB 105.0 MB/s  0:00:00
#15 30.95 Downloading cron_converter-1.3.1-py3-none-any.whl (14 kB)
#15 30.97 Downloading pytz-2025.2-py2.py3-none-any.whl (509 kB)
#15 31.01 Downloading json2table-1.1.5-py2.py3-none-any.whl (8.7 kB)
#15 31.04 Downloading dhcp_leases-0.1.6-py3-none-any.whl (11 kB)
#15 31.07 Downloading pyunifi-2.21-py3-none-any.whl (11 kB)
#15 31.11 Downloading speedtest_cli-2.1.3-py2.py3-none-any.whl (23 kB)
#15 31.14 Downloading chardet-5.2.0-py3-none-any.whl (199 kB)
#15 31.17 Downloading dnspython-2.8.0-py3-none-any.whl (331 kB)
#15 31.21 Downloading librouteros-3.4.1-py3-none-any.whl (16 kB)
#15 31.33 Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
#15 31.40 Downloading zeroconf-0.148.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.3 MB)
#15 31.42    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 125.0 MB/s  0:00:00
#15 31.48 Downloading simplejson-3.20.2-cp312-cp312-musllinux_1_2_x86_64.whl (154 kB)
#15 31.51 Downloading future-1.0.0-py3-none-any.whl (491 kB)
#15 31.54 Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
#15 31.55 Downloading httplib2-0.31.2-py3-none-any.whl (91 kB)
#15 31.58 Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB)
#15 31.65 Downloading gunicorn-24.1.1-py3-none-any.whl (114 kB)
#15 31.69 Downloading mcp-1.26.0-py3-none-any.whl (233 kB)
#15 31.72 Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl (15 kB)
#15 31.75 Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)
#15 31.77 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
#15 31.80 Downloading anyio-4.12.1-py3-none-any.whl (113 kB)
#15 31.83 Downloading attrs-25.4.0-py3-none-any.whl (67 kB)
#15 31.86 Downloading awesomeversion-25.8.0-py3-none-any.whl (15 kB)
#15 31.89 Downloading blinker-1.9.0-py3-none-any.whl (8.5 kB)
#15 31.91 Downloading certifi-2026.1.4-py3-none-any.whl (152 kB)
#15 31.96 Downloading cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (221 kB)
#15 32.02 Downloading click-8.3.1-py3-none-any.whl (108 kB)
#15 32.06 Downloading frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl (239 kB)
#15 32.08 Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
#15 32.12 Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)
#15 32.15 Downloading h11-0.16.0-py3-none-any.whl (37 kB)
#15 32.18 Downloading httpx_sse-0.4.3-py3-none-any.whl (9.0 kB)
#15 32.21 Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
#15 32.23 Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
#15 32.26 Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
#15 32.29 Downloading jsonschema-4.26.0-py3-none-any.whl (90 kB)
#15 32.32 Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)
#15 32.35 Downloading markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl (23 kB)
#15 32.38 Downloading propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl (215 kB)
#15 32.41 Downloading pydantic_settings-2.12.0-py3-none-any.whl (51 kB)
#15 32.44 Downloading pyjwt-2.11.0-py3-none-any.whl (28 kB)
#15 32.49 Downloading python_dotenv-1.2.1-py3-none-any.whl (21 kB)
#15 32.53 Downloading python_multipart-0.0.22-py3-none-any.whl (24 kB)
#15 32.56 Downloading referencing-0.37.0-py3-none-any.whl (26 kB)
#15 32.62 Downloading rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl (563 kB)
#15 32.63    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 563.1/563.1 kB 171.5 MB/s  0:00:00
#15 32.66 Downloading sse_starlette-3.2.0-py3-none-any.whl (12 kB)
#15 32.68 Downloading starlette-0.52.1-py3-none-any.whl (74 kB)
#15 32.71 Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB)
#15 32.75 Downloading uvicorn-0.40.0-py3-none-any.whl (68 kB)
#15 32.78 Downloading werkzeug-3.1.5-py3-none-any.whl (225 kB)
#15 32.81 Downloading xmltodict-1.0.2-py3-none-any.whl (13 kB)
#15 32.84 Downloading pycparser-3.0-py3-none-any.whl (48 kB)
#15 33.15 Building wheels for collected packages: aiofreepybox, python-nmap, yattag
#15 33.16   Building wheel for aiofreepybox (pyproject.toml): started
#15 33.68   Building wheel for aiofreepybox (pyproject.toml): finished with status 'done'
#15 33.68   Created wheel for aiofreepybox: filename=aiofreepybox-6.0.0-py3-none-any.whl size=60051 sha256=25c71405468495eedd44ed5287c37fee69f5d0e43cbb71dbe36dd7ffa12344ec
#15 33.68   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/3c/d3/ae/fb97a84a29a5fbe8517de58d67e66586505440af35981e0dd3
#15 33.69   Building wheel for python-nmap (pyproject.toml): started
#15 34.14   Building wheel for python-nmap (pyproject.toml): finished with status 'done'
#15 34.14   Created wheel for python-nmap: filename=python_nmap-0.7.1-py2.py3-none-any.whl size=20680 sha256=59f070bea8bbcd62045dc3b8259296debbd92b89226dda477eb25b02958cca2f
#15 34.14   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/06/fc/d4/0957e1d9942e696188208772ea0abf909fe6eb3d9dff6e5a9e
#15 34.16   Building wheel for yattag (pyproject.toml): started
#15 34.60   Building wheel for yattag (pyproject.toml): finished with status 'done'
#15 34.61   Created wheel for yattag: filename=yattag-1.16.1-py3-none-any.whl size=15929 sha256=b9b2e919f75c6afa2455fed1ea3fca364b30608d5272d2b1fbbd71db60694f6a
#15 34.61   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/d2/2f/52/049ff4f7c8c9c932b2ece7ec800d7facf2a141ac5ab0ce7e51
#15 34.61 Successfully built aiofreepybox python-nmap yattag
#15 34.93 Installing collected packages: yattag, speedtest-cli, pytz, python-nmap, json2table, ifaddr, dhcp-leases, zeroconf, xmltodict, wakeonlan, urllib3, typing-extensions, toml, six, simplejson, scapy, rpds-py, python-multipart, python-dotenv, pyparsing, pyjwt, pycryptodome, pycparser, propcache, paho-mqtt, multidict, markupsafe, itsdangerous, idna, httpx-sse, h11, gunicorn, graphql-core, future, frozenlist, dnspython, Click, charset_normalizer, chardet, certifi, blinker, awesomeversion, attrs, annotated-types, aiohappyeyeballs, yarl, werkzeug, uvicorn, typing-inspection, requests, referencing, python-dateutil, pydantic-core, librouteros, jinja2, httplib2, httpcore, graphql-relay, cffi, anyio, aiosignal, unifi-sm-api, starlette, pyunifi, pydantic, openwrt-luci-rpc, jsonschema-specifications, httpx, graphene, flask, cryptography, cron-converter, aiohttp, tplink-omada-client, sse-starlette, pydantic-settings, jsonschema, flask-cors, asusrouter, aiofreepybox, mcp

Process still running.

 netalertx Pulling
 netalertx Warning pull access denied for netalertx, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Compose can now delegate builds to bake for better performance.
 To do so, set COMPOSE_BAKE=true.
#0 building with "default" instance using docker driver

#1 [netalertx internal] load build definition from Dockerfile
#1 transferring dockerfile: 11.32kB done
#1 DONE 0.1s

#2 [netalertx internal] load metadata for docker.io/library/alpine:3.22
#2 DONE 1.3s

#3 [netalertx internal] load .dockerignore
#3 transferring context: 222B done
#3 DONE 0.0s

#4 [netalertx builder 1/4] FROM docker.io/library/alpine:3.22@sha256:55ae5d250caebc548793f321534bc6a8ef1d116f334f18f4ada1b2daad3251b2
#4 resolve docker.io/library/alpine:3.22@sha256:55ae5d250caebc548793f321534bc6a8ef1d116f334f18f4ada1b2daad3251b2 0.0s done
#4 sha256:e0baf8c394150ac5a14925e179100519f5e37c53547f647acbd9f8eb3e5c4528 1.02kB / 1.02kB done
#4 sha256:f65e6e80f68613c7e9c51c98f879c73373d7a38c0790300e1478ce45894a24aa 611B / 611B done
#4 sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 0B / 3.80MB 0.1s
#4 sha256:55ae5d250caebc548793f321534bc6a8ef1d116f334f18f4ada1b2daad3251b2 9.22kB / 9.22kB done
#4 sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 2.10MB / 3.80MB 0.3s
#4 ...

#5 [netalertx internal] load build context
#5 transferring context: 20.19MB 0.4s done
#5 DONE 0.4s

#4 [netalertx builder 1/4] FROM docker.io/library/alpine:3.22@sha256:55ae5d250caebc548793f321534bc6a8ef1d116f334f18f4ada1b2daad3251b2
#4 sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 3.80MB / 3.80MB 0.3s done
#4 extracting sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 0.1s
#4 extracting sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 0.1s done
#4 DONE 0.6s

#6 [netalertx builder 2/4] COPY requirements.txt /tmp/requirements.txt
#6 DONE 0.4s

#7 [netalertx runner  2/10] RUN apk add --no-cache bash mtr libbsd zip lsblk tzdata curl arp-scan iproute2 iproute2-ss nmap fping     nmap-scripts traceroute nbtscan net-tools net-snmp-tools bind-tools awake ca-certificates     sqlite php83 php83-fpm php83-cgi php83-curl php83-sqlite3 php83-session python3 envsubst     nginx supercronic shadow su-exec jq &&     rm -Rf /var/cache/apk/*  &&     rm -Rf /etc/nginx &&     addgroup -g 20211 netalertx &&     adduser -u 20211 -D -h /app -G netalertx netalertx &&     apk del shadow
#7 0.711 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
#7 1.198 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
#7 2.542 (1/102) Installing libpcap (1.10.5-r1)
#7 2.603 (2/102) Installing arp-scan (1.10.0-r2)
#7 2.760 (3/102) Installing libbz2 (1.0.8-r6)
#7 2.791 (4/102) Installing libexpat (2.7.3-r0)
#7 2.828 (5/102) Installing libffi (3.4.8-r0)
#7 2.857 (6/102) Installing gdbm (1.24-r0)
#7 2.888 (7/102) Installing xz-libs (5.8.1-r0)
#7 2.934 (8/102) Installing libgcc (14.2.0-r6)
#7 2.970 (9/102) Installing libstdc++ (14.2.0-r6)
#7 3.186 (10/102) Installing mpdecimal (4.0.1-r0)
#7 3.230 (11/102) Installing ncurses-terminfo-base (6.5_p20250503-r0)
#7 3.262 (12/102) Installing libncursesw (6.5_p20250503-r0)
#7 3.310 (13/102) Installing libpanelw (6.5_p20250503-r0)
#7 3.333 (14/102) Installing readline (8.2.13-r1)
#7 3.389 (15/102) Installing sqlite-libs (3.49.2-r1)
#7 3.571 (16/102) Installing python3 (3.12.12-r0)
#7 5.061 (17/102) Installing python3-pycache-pyc0 (3.12.12-r0)
#7 5.649 (18/102) Installing pyc (3.12.12-r0)
#7 5.649 (19/102) Installing py3-awake-pyc (1.0-r12)
#7 5.673 (20/102) Installing python3-pyc (3.12.12-r0)
#7 5.673 (21/102) Installing py3-awake (1.0-r12)
#7 5.716 (22/102) Installing awake (1.0-r12)
#7 5.747 (23/102) Installing bash (5.2.37-r0)
#7 5.839 Executing bash-5.2.37-r0.post-install
#7 5.848 (24/102) Installing fstrm (0.6.1-r4)
#7 5.884 (25/102) Installing krb5-conf (1.0-r2)
#7 6.019 (26/102) Installing libcom_err (1.47.2-r2)
#7 6.088 (27/102) Installing keyutils-libs (1.6.3-r4)
#7 6.110 (28/102) Installing libverto (0.3.2-r2)
#7 6.143 (29/102) Installing krb5-libs (1.21.3-r0)
#7 6.396 (30/102) Installing json-c (0.18-r1)
#7 6.431 (31/102) Installing nghttp2-libs (1.65.0-r0)
#7 6.468 (32/102) Installing protobuf-c (1.5.2-r0)
#7 6.491 (33/102) Installing userspace-rcu (0.15.2-r0)
#7 6.530 (34/102) Installing libuv (1.51.0-r0)
#7 6.577 (35/102) Installing libxml2 (2.13.9-r0)
#7 6.657 (36/102) Installing bind-libs (9.20.18-r0)
#7 6.922 (37/102) Installing bind-tools (9.20.18-r0)
#7 6.993 (38/102) Installing ca-certificates (20250911-r0)
#7 7.083 (39/102) Installing brotli-libs (1.1.0-r2)
#7 7.142 (40/102) Installing c-ares (1.34.6-r0)
#7 7.177 (41/102) Installing libunistring (1.3-r0)
#7 7.289 (42/102) Installing libidn2 (2.3.7-r0)
#7 7.327 (43/102) Installing libpsl (0.21.5-r3)
#7 7.357 (44/102) Installing zstd-libs (1.5.7-r0)
#7 7.429 (45/102) Installing libcurl (8.14.1-r2)
#7 7.489 (46/102) Installing curl (8.14.1-r2)
#7 7.530 (47/102) Installing libintl (0.24.1-r0)
#7 7.564 (48/102) Installing gettext-envsubst (0.24.1-r0)
#7 7.594 (49/102) Installing fping (5.3-r0)
#7 7.627 (50/102) Installing libcap2 (2.76-r0)
#7 7.660 (51/102) Installing libelf (0.193-r0)
#7 7.682 (52/102) Installing libmnl (1.0.5-r2)
#7 7.706 (53/102) Installing iproute2-minimal (6.15.0-r0)
#7 7.761 (54/102) Installing libxtables (1.8.11-r1)
#7 7.795 (55/102) Installing iproute2-tc (6.15.0-r0)
#7 7.867 (56/102) Installing iproute2-ss (6.15.0-r0)
#7 7.895 (57/102) Installing iproute2 (6.15.0-r0)
#7 8.058 Executing iproute2-6.15.0-r0.post-install
#7 8.066 (58/102) Installing oniguruma (6.9.10-r0)
#7 8.103 (59/102) Installing jq (1.8.1-r0)
#7 8.148 (60/102) Installing libmd (1.1.0-r0)
#7 8.177 (61/102) Installing libbsd (0.12.2-r0)
#7 8.202 (62/102) Installing libeconf (0.6.3-r0)
#7 8.229 (63/102) Installing libblkid (2.41-r9)
#7 8.264 (64/102) Installing libmount (2.41-r9)
#7 8.301 (65/102) Installing libsmartcols (2.41-r9)
#7 8.327 (66/102) Installing lsblk (2.41-r9)
#7 8.359 (67/102) Installing jansson (2.14.1-r0)
#7 8.383 (68/102) Installing mtr (0.96-r0)
#7 8.425 (69/102) Installing nbtscan (1.7.2-r0)
#7 8.453 (70/102) Installing net-snmp-libs (5.9.4-r1)
#7 8.698 (71/102) Installing net-snmp-agent-libs (5.9.4-r1)
#7 8.850 (72/102) Installing net-snmp-tools (5.9.4-r1)
#7 8.894 (73/102) Installing mii-tool (2.10-r3)
#7 8.911 (74/102) Installing net-tools (2.10-r3)
#7 8.956 (75/102) Installing pcre2 (10.46-r0)
#7 9.013 (76/102) Installing nginx (1.28.0-r3)
#7 9.050 Executing nginx-1.28.0-r3.pre-install
#7 9.133 Executing nginx-1.28.0-r3.post-install
#7 9.143 (77/102) Installing lua5.4-libs (5.4.7-r0)
#7 9.181 (78/102) Installing libssh2 (1.11.1-r0)
#7 9.220 (79/102) Installing nmap (7.97-r0)
#7 10.02 (80/102) Installing nmap-nselibs (7.97-r0)
#7 10.43 (81/102) Installing nmap-scripts (7.97-r0)
#7 ...

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 0.328 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
#8 0.867 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
#8 2.303 (1/55) Installing ncurses-terminfo-base (6.5_p20250503-r0)
#8 2.342 (2/55) Installing libncursesw (6.5_p20250503-r0)
#8 2.424 (3/55) Installing readline (8.2.13-r1)
#8 2.500 (4/55) Installing bash (5.2.37-r0)
#8 2.670 Executing bash-5.2.37-r0.post-install
#8 2.681 (5/55) Installing libgcc (14.2.0-r6)
#8 2.729 (6/55) Installing jansson (2.14.1-r0)
#8 2.767 (7/55) Installing libstdc++ (14.2.0-r6)
#8 3.032 (8/55) Installing zstd-libs (1.5.7-r0)
#8 3.226 (9/55) Installing binutils (2.44-r3)
#8 4.043 (10/55) Installing libgomp (14.2.0-r6)
#8 4.109 (11/55) Installing libatomic (14.2.0-r6)
#8 4.132 (12/55) Installing gmp (6.3.0-r3)
#8 4.204 (13/55) Installing isl26 (0.26-r1)
#8 4.428 (14/55) Installing mpfr4 (4.2.1_p1-r0)
#8 4.518 (15/55) Installing mpc1 (1.3.1-r1)
#8 4.561 (16/55) Installing gcc (14.2.0-r6)
#8 10.28 (17/55) Installing musl-dev (1.2.5-r10)
#8 ...

#7 [netalertx runner  2/10] RUN apk add --no-cache bash mtr libbsd zip lsblk tzdata curl arp-scan iproute2 iproute2-ss nmap fping     nmap-scripts traceroute nbtscan net-tools net-snmp-tools bind-tools awake ca-certificates     sqlite php83 php83-fpm php83-cgi php83-curl php83-sqlite3 php83-session python3 envsubst     nginx supercronic shadow su-exec jq &&     rm -Rf /var/cache/apk/*  &&     rm -Rf /etc/nginx &&     addgroup -g 20211 netalertx &&     adduser -u 20211 -D -h /app -G netalertx netalertx &&     apk del shadow
#7 10.76 (82/102) Installing php83-common (8.3.29-r0)
#7 10.80 (83/102) Installing argon2-libs (20190702-r5)
#7 10.86 (84/102) Installing libedit (20250104.3.1-r1)
#7 10.92 (85/102) Installing php83 (8.3.29-r0)
#7 11.29 (86/102) Installing php83-cgi (8.3.29-r0)
#7 11.63 (87/102) Installing php83-curl (8.3.29-r0)
#7 11.66 (88/102) Installing acl-libs (2.3.2-r1)
#7 11.69 (89/102) Installing php83-fpm (8.3.29-r0)
#7 12.08 (90/102) Installing php83-session (8.3.29-r0)
#7 12.11 (91/102) Installing php83-sqlite3 (8.3.29-r0)
#7 12.16 (92/102) Installing skalibs-libs (2.14.4.0-r0)
#7 12.20 (93/102) Installing utmps-libs (0.1.3.1-r0)
#7 12.22 (94/102) Installing linux-pam (1.7.0-r4)
#7 12.28 (95/102) Installing shadow (4.17.3-r0)
#7 12.36 (96/102) Installing sqlite (3.49.2-r1)
#7 12.49 (97/102) Installing su-exec (0.2-r3)
#7 12.63 (98/102) Installing supercronic (0.2.33-r10)
#7 12.92 (99/102) Installing traceroute (2.1.6-r0)
#7 13.07 (100/102) Installing tzdata (2025c-r0)
#7 13.16 (101/102) Installing unzip (6.0-r15)
#7 13.20 (102/102) Installing zip (3.0-r13)
#7 13.23 Executing busybox-1.37.0-r20.trigger
#7 13.24 Executing ca-certificates-20250911-r0.trigger
#7 13.31 OK: 136 MiB in 118 packages
#7 13.52 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/main: No such file or directory
#7 13.52 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/community: No such file or directory
#7 13.52 (1/4) Purging shadow (4.17.3-r0)
#7 13.52 (2/4) Purging linux-pam (1.7.0-r4)
#7 13.53 (3/4) Purging utmps-libs (0.1.3.1-r0)
#7 13.53 (4/4) Purging skalibs-libs (2.14.4.0-r0)
#7 13.53 Executing busybox-1.37.0-r20.trigger
#7 13.54 OK: 133 MiB in 114 packages
#7 DONE 14.1s

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 10.63 (18/55) Installing libffi (3.4.8-r0)
#8 10.66 (19/55) Installing xz-libs (5.8.1-r0)
#8 10.70 (20/55) Installing libxml2 (2.13.9-r0)
#8 10.77 (21/55) Installing llvm20-libs (20.1.8-r0)
#8 ...

#9 [netalertx runner  3/10] COPY --chown=netalertx:netalertx install/production-filesystem/ /
#9 DONE 0.1s

#10 [netalertx runner  4/10] COPY --chown=netalertx:netalertx --chmod=755 back /app/back
#10 DONE 0.1s

#11 [netalertx runner  5/10] COPY --chown=netalertx:netalertx --chmod=755 front /app/front
#11 DONE 0.3s

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 ...

#12 [netalertx runner  6/10] COPY --chown=netalertx:netalertx --chmod=755 server /app/server
#12 DONE 0.1s

#13 [netalertx runner  7/10] RUN install -d -o netalertx -g netalertx -m 700 /data /data/config /data/db /tmp/api                        /tmp/log /tmp/log/plugins /tmp/run                        /tmp/run/tmp /tmp/run/logs                        /tmp/nginx/active-config &&     sh -c "find /app -type f \( -name '*.sh' -o -name 'speedtest-cli' \)     -exec chmod 750 {} \;"
#13 DONE 0.4s

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 ...

#14 [netalertx runner  8/10] COPY --chown=netalertx:netalertx .[V]ERSION /app/.VERSION
#14 DONE 0.1s

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 14.92 (22/55) Installing scudo-malloc (20.1.8-r0)
#8 14.95 (23/55) Installing rust (1.87.0-r0)
#8 17.80 (24/55) Installing brotli-libs (1.1.0-r2)
#8 17.85 (25/55) Installing c-ares (1.34.6-r0)
#8 17.88 (26/55) Installing libunistring (1.3-r0)
#8 17.93 (27/55) Installing libidn2 (2.3.7-r0)
#8 17.96 (28/55) Installing nghttp2-libs (1.65.0-r0)
#8 18.00 (29/55) Installing libpsl (0.21.5-r3)
#8 18.03 (30/55) Installing libcurl (8.14.1-r2)
#8 18.07 (31/55) Installing cargo (1.87.0-r0)
#8 18.48 (32/55) Installing libexpat (2.7.3-r0)
#8 18.52 (33/55) Installing pcre2 (10.46-r0)
#8 18.56 (34/55) Installing git (2.49.1-r0)
#8 18.70 (35/55) Installing git-init-template (2.49.1-r0)
#8 18.73 (36/55) Installing linux-headers (6.14.2-r0)
#8 18.93 (37/55) Installing pkgconf (2.4.3-r0)
#8 19.00 (38/55) Installing libffi-dev (3.4.8-r0)
#8 19.05 (39/55) Installing openssl-dev (3.5.5-r0)
#8 19.10 (40/55) Installing libbz2 (1.0.8-r6)
#8 19.26 (41/55) Installing gdbm (1.24-r0)
#8 19.30 (42/55) Installing mpdecimal (4.0.1-r0)
#8 19.34 (43/55) Installing libpanelw (6.5_p20250503-r0)
#8 19.38 (44/55) Installing sqlite-libs (3.49.2-r1)
#8 19.45 (45/55) Installing python3 (3.12.12-r0)
#8 19.79 (46/55) Installing python3-pycache-pyc0 (3.12.12-r0)
#8 20.00 (47/55) Installing pyc (3.12.12-r0)
#8 20.00 (48/55) Installing python3-pyc (3.12.12-r0)
#8 20.00 (49/55) Installing python3-dev (3.12.12-r0)
#8 20.45 (50/55) Installing libmd (1.1.0-r0)
#8 20.48 (51/55) Installing libbsd (0.12.2-r0)
#8 20.51 (52/55) Installing skalibs-libs (2.14.4.0-r0)
#8 20.54 (53/55) Installing utmps-libs (0.1.3.1-r0)
#8 20.57 (54/55) Installing linux-pam (1.7.0-r4)
#8 20.63 (55/55) Installing shadow (4.17.3-r0)
#8 20.69 Executing busybox-1.37.0-r20.trigger
#8 20.70 OK: 667 MiB in 71 packages
#8 DONE 26.9s

#15 [netalertx builder 4/4] RUN python -m pip install --upgrade pip setuptools wheel &&     pip install --prefer-binary --no-cache-dir -r /tmp/requirements.txt &&     chmod -R u-rwx,g-rwx /opt
#15 0.989 Requirement already satisfied: pip in /opt/venv/lib/python3.12/site-packages (25.0.1)
#15 1.245 Collecting pip
#15 1.407   Downloading pip-26.0-py3-none-any.whl.metadata (4.7 kB)
#15 1.811 Collecting setuptools
#15 1.840   Downloading setuptools-80.10.2-py3-none-any.whl.metadata (6.6 kB)
#15 1.922 Collecting wheel
#15 1.956   Downloading wheel-0.46.3-py3-none-any.whl.metadata (2.4 kB)
#15 2.038 Collecting packaging>=24.0 (from wheel)
#15 2.068   Downloading packaging-26.0-py3-none-any.whl.metadata (3.3 kB)
#15 2.129 Downloading pip-26.0-py3-none-any.whl (1.8 MB)
#15 2.263    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 19.1 MB/s eta 0:00:00
#15 2.318 Downloading setuptools-80.10.2-py3-none-any.whl (1.1 MB)
#15 2.342    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 50.1 MB/s eta 0:00:00
#15 2.376 Downloading wheel-0.46.3-py3-none-any.whl (30 kB)
#15 2.419 Downloading packaging-26.0-py3-none-any.whl (74 kB)
#15 2.517 Installing collected packages: setuptools, pip, packaging, wheel
#15 3.971   Attempting uninstall: pip
#15 3.977     Found existing installation: pip 25.0.1
#15 4.052     Uninstalling pip-25.0.1:
#15 4.531       Successfully uninstalled pip-25.0.1
#15 6.850 Successfully installed packaging-26.0 pip-26.0 setuptools-80.10.2 wheel-0.46.3
#15 7.823 Collecting git+https://github.com/foreign-sub/aiofreepybox.git (from -r /tmp/requirements.txt (line 33))
#15 7.825   Cloning https://github.com/foreign-sub/aiofreepybox.git to ./tmp/pip-req-build-jwrxf4t9
#15 7.829   Running command git clone --filter=blob:none --quiet https://github.com/foreign-sub/aiofreepybox.git /tmp/pip-req-build-jwrxf4t9
#15 8.734   Resolved https://github.com/foreign-sub/aiofreepybox.git to commit 4ee18ea0f3e76edc839c48eb8df1da59c1baee3d
#15 8.740   Installing build dependencies: started
#15 9.963   Installing build dependencies: finished with status 'done'
#15 9.965   Getting requirements to build wheel: started
#15 10.76   Getting requirements to build wheel: finished with status 'done'
#15 10.77   Preparing metadata (pyproject.toml): started
#15 11.14   Preparing metadata (pyproject.toml): finished with status 'done'
#15 11.76 Collecting cryptography<40 (from -r /tmp/requirements.txt (line 1))
#15 11.91   Downloading cryptography-39.0.2-cp36-abi3-musllinux_1_1_x86_64.whl.metadata (5.6 kB)
#15 11.98 Collecting openwrt-luci-rpc (from -r /tmp/requirements.txt (line 2))
#15 12.01   Downloading openwrt_luci_rpc-1.1.17-py2.py3-none-any.whl.metadata (4.9 kB)
#15 12.11 Collecting asusrouter (from -r /tmp/requirements.txt (line 3))
#15 12.14   Downloading asusrouter-1.21.3-py3-none-any.whl.metadata (33 kB)
#15 13.13 Collecting aiohttp (from -r /tmp/requirements.txt (line 4))
#15 13.17   Downloading aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (8.1 kB)
#15 13.26 Collecting graphene (from -r /tmp/requirements.txt (line 5))
#15 13.29   Downloading graphene-3.4.3-py2.py3-none-any.whl.metadata (6.9 kB)
#15 13.34 Collecting flask (from -r /tmp/requirements.txt (line 6))
#15 13.36   Downloading flask-3.1.2-py3-none-any.whl.metadata (3.2 kB)
#15 13.42 Collecting flask-cors (from -r /tmp/requirements.txt (line 7))
#15 13.44   Downloading flask_cors-6.0.2-py3-none-any.whl.metadata (5.3 kB)
#15 13.50 Collecting unifi-sm-api (from -r /tmp/requirements.txt (line 8))
#15 13.55   Downloading unifi_sm_api-0.2.1-py3-none-any.whl.metadata (2.3 kB)
#15 13.64 Collecting tplink-omada-client (from -r /tmp/requirements.txt (line 9))
#15 13.66   Downloading tplink_omada_client-1.4.4-py3-none-any.whl.metadata (3.5 kB)
#15 13.70 Collecting wakeonlan (from -r /tmp/requirements.txt (line 10))
#15 13.73   Downloading wakeonlan-3.1.0-py3-none-any.whl.metadata (4.3 kB)
#15 14.03 Collecting pycryptodome (from -r /tmp/requirements.txt (line 11))
#15 14.05   Downloading pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl.metadata (3.4 kB)
#15 14.12 Collecting requests (from -r /tmp/requirements.txt (line 12))
#15 14.15   Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)
#15 14.19 Collecting paho-mqtt (from -r /tmp/requirements.txt (line 13))
#15 14.22   Downloading paho_mqtt-2.1.0-py3-none-any.whl.metadata (23 kB)
#15 14.29 Collecting scapy (from -r /tmp/requirements.txt (line 14))
#15 14.34   Downloading scapy-2.7.0-py3-none-any.whl.metadata (5.8 kB)
#15 14.41 Collecting cron-converter (from -r /tmp/requirements.txt (line 15))
#15 14.44   Downloading cron_converter-1.3.1-py3-none-any.whl.metadata (9.9 kB)
#15 14.56 Collecting pytz (from -r /tmp/requirements.txt (line 16))
#15 14.58   Downloading pytz-2025.2-py2.py3-none-any.whl.metadata (22 kB)
#15 14.65 Collecting json2table (from -r /tmp/requirements.txt (line 17))
#15 14.71   Downloading json2table-1.1.5-py2.py3-none-any.whl.metadata (6.0 kB)
#15 14.77 Collecting dhcp-leases (from -r /tmp/requirements.txt (line 18))
#15 14.80   Downloading dhcp_leases-0.1.6-py3-none-any.whl.metadata (5.9 kB)
#15 14.87 Collecting pyunifi (from -r /tmp/requirements.txt (line 19))
#15 14.89   Downloading pyunifi-2.21-py3-none-any.whl.metadata (274 bytes)
#15 14.97 Collecting speedtest-cli (from -r /tmp/requirements.txt (line 20))
#15 15.00   Downloading speedtest_cli-2.1.3-py2.py3-none-any.whl.metadata (6.8 kB)
#15 15.05 Collecting chardet (from -r /tmp/requirements.txt (line 21))
#15 15.07   Downloading chardet-5.2.0-py3-none-any.whl.metadata (3.4 kB)
#15 15.13 Collecting python-nmap (from -r /tmp/requirements.txt (line 22))
#15 15.15   Downloading python-nmap-0.7.1.tar.gz (44 kB)
#15 15.17   Installing build dependencies: started
#15 16.37   Installing build dependencies: finished with status 'done'
#15 16.38   Getting requirements to build wheel: started
#15 17.18   Getting requirements to build wheel: finished with status 'done'
#15 17.18   Preparing metadata (pyproject.toml): started
#15 17.60   Preparing metadata (pyproject.toml): finished with status 'done'
#15 17.66 Collecting dnspython (from -r /tmp/requirements.txt (line 23))
#15 17.72   Downloading dnspython-2.8.0-py3-none-any.whl.metadata (5.7 kB)
#15 17.82 Collecting librouteros (from -r /tmp/requirements.txt (line 24))
#15 17.85   Downloading librouteros-3.4.1-py3-none-any.whl.metadata (1.6 kB)
#15 17.94 Collecting yattag (from -r /tmp/requirements.txt (line 25))
#15 17.97   Downloading yattag-1.16.1.tar.gz (29 kB)
#15 18.00   Installing build dependencies: started
#15 19.24   Installing build dependencies: finished with status 'done'
#15 19.24   Getting requirements to build wheel: started
#15 20.07   Getting requirements to build wheel: finished with status 'done'
#15 20.07   Preparing metadata (pyproject.toml): started
#15 20.45   Preparing metadata (pyproject.toml): finished with status 'done'
#15 21.28 Collecting zeroconf (from -r /tmp/requirements.txt (line 26))
#15 21.31   Downloading zeroconf-0.148.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (6.3 kB)
#15 21.46 Collecting simplejson (from -r /tmp/requirements.txt (line 27))
#15 21.49   Downloading simplejson-3.20.2-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (3.2 kB)
#15 21.54 Collecting future (from -r /tmp/requirements.txt (line 28))
#15 21.56   Downloading future-1.0.0-py3-none-any.whl.metadata (4.0 kB)
#15 21.60 Collecting six (from -r /tmp/requirements.txt (line 29))
#15 21.63   Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
#15 21.77 Collecting urllib3 (from -r /tmp/requirements.txt (line 30))
#15 21.79   Downloading urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB)
#15 21.84 Collecting httplib2 (from -r /tmp/requirements.txt (line 31))
#15 21.86   Downloading httplib2-0.31.2-py3-none-any.whl.metadata (2.2 kB)
#15 21.90 Collecting gunicorn (from -r /tmp/requirements.txt (line 32))
#15 21.93   Downloading gunicorn-24.1.1-py3-none-any.whl.metadata (4.6 kB)
#15 21.98 Collecting mcp (from -r /tmp/requirements.txt (line 34))
#15 22.00   Downloading mcp-1.26.0-py3-none-any.whl.metadata (89 kB)
#15 22.24 Collecting pydantic<3.0,>=2.0 (from -r /tmp/requirements.txt (line 35))
#15 22.26   Downloading pydantic-2.12.5-py3-none-any.whl.metadata (90 kB)
#15 22.47 Collecting cffi>=1.12 (from cryptography<40->-r /tmp/requirements.txt (line 1))
#15 22.50   Downloading cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (2.6 kB)
#15 22.53 Collecting aiohappyeyeballs>=2.5.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 22.55   Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl.metadata (5.9 kB)
#15 22.58 Collecting aiosignal>=1.4.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 22.60   Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)
#15 22.64 Collecting attrs>=17.3.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 22.66   Downloading attrs-25.4.0-py3-none-any.whl.metadata (10 kB)
#15 22.79 Collecting frozenlist>=1.1.1 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 22.82   Downloading frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (20 kB)
#15 23.27 Collecting multidict<7.0,>=4.5 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 23.30   Downloading multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (5.3 kB)
#15 23.44 Collecting propcache>=0.2.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 23.46   Downloading propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (13 kB)
#15 24.04 Collecting yarl<2.0,>=1.17.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 24.07   Downloading yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (75 kB)
#15 24.11 Collecting annotated-types>=0.6.0 (from pydantic<3.0,>=2.0->-r /tmp/requirements.txt (line 35))
#15 24.14   Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
#15 25.40 Collecting pydantic-core==2.41.5 (from pydantic<3.0,>=2.0->-r /tmp/requirements.txt (line 35))
#15 25.44   Downloading pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl.metadata (7.3 kB)
#15 25.49 Collecting typing-extensions>=4.14.1 (from pydantic<3.0,>=2.0->-r /tmp/requirements.txt (line 35))
#15 25.52   Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
#15 25.55 Collecting typing-inspection>=0.4.2 (from pydantic<3.0,>=2.0->-r /tmp/requirements.txt (line 35))
#15 25.57   Downloading typing_inspection-0.4.2-py3-none-any.whl.metadata (2.6 kB)
#15 25.61 Collecting idna>=2.0 (from yarl<2.0,>=1.17.0->aiohttp->-r /tmp/requirements.txt (line 4))
#15 25.64   Downloading idna-3.11-py3-none-any.whl.metadata (8.4 kB)
#15 25.70 Collecting Click>=6.0 (from openwrt-luci-rpc->-r /tmp/requirements.txt (line 2))
#15 25.73   Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB)
#15 25.74 Requirement already satisfied: packaging>=19.1 in ./opt/venv/lib/python3.12/site-packages (from openwrt-luci-rpc->-r /tmp/requirements.txt (line 2)) (26.0)
#15 25.78 Collecting xmltodict>=0.12.0 (from asusrouter->-r /tmp/requirements.txt (line 3))
#15 25.80   Downloading xmltodict-1.0.2-py3-none-any.whl.metadata (15 kB)
#15 25.89 Collecting graphql-core<3.3,>=3.1 (from graphene->-r /tmp/requirements.txt (line 5))
#15 25.92   Downloading graphql_core-3.2.7-py3-none-any.whl.metadata (11 kB)
#15 25.95 Collecting graphql-relay<3.3,>=3.1 (from graphene->-r /tmp/requirements.txt (line 5))
#15 25.98   Downloading graphql_relay-3.2.0-py3-none-any.whl.metadata (12 kB)
#15 26.01 Collecting python-dateutil<3,>=2.7.0 (from graphene->-r /tmp/requirements.txt (line 5))
#15 26.04   Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
#15 26.09 Collecting blinker>=1.9.0 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.12   Downloading blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)
#15 26.16 Collecting itsdangerous>=2.2.0 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.19   Downloading itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
#15 26.23 Collecting jinja2>=3.1.2 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.26   Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
#15 26.43 Collecting markupsafe>=2.1.1 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.46   Downloading markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (2.7 kB)
#15 26.50 Collecting werkzeug>=3.1.0 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.52   Downloading werkzeug-3.1.5-py3-none-any.whl.metadata (4.0 kB)
#15 26.61 Collecting awesomeversion>=22.9.0 (from tplink-omada-client->-r /tmp/requirements.txt (line 9))
#15 26.64   Downloading awesomeversion-25.8.0-py3-none-any.whl.metadata (9.8 kB)
#15 26.81 Collecting charset_normalizer<4,>=2 (from requests->-r /tmp/requirements.txt (line 12))
#15 26.84   Downloading charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (37 kB)
#15 26.91 Collecting certifi>=2017.4.17 (from requests->-r /tmp/requirements.txt (line 12))
#15 26.93   Downloading certifi-2026.1.4-py3-none-any.whl.metadata (2.5 kB)
#15 26.98 Collecting toml<0.11.0,>=0.10.2 (from librouteros->-r /tmp/requirements.txt (line 24))
#15 27.00   Downloading toml-0.10.2-py2.py3-none-any.whl.metadata (7.1 kB)
#15 27.04 Collecting ifaddr>=0.1.7 (from zeroconf->-r /tmp/requirements.txt (line 26))
#15 27.06   Downloading ifaddr-0.2.0-py3-none-any.whl.metadata (4.9 kB)
#15 27.14 Collecting pyparsing<4,>=3.1 (from httplib2->-r /tmp/requirements.txt (line 31))
#15 27.17   Downloading pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB)
#15 27.22 Collecting anyio>=4.5 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.25   Downloading anyio-4.12.1-py3-none-any.whl.metadata (4.3 kB)
#15 27.31 Collecting httpx-sse>=0.4 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.33   Downloading httpx_sse-0.4.3-py3-none-any.whl.metadata (9.7 kB)
#15 27.39 Collecting httpx>=0.27.1 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.41   Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)
#15 27.48 Collecting jsonschema>=4.20.0 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.51   Downloading jsonschema-4.26.0-py3-none-any.whl.metadata (7.6 kB)
#15 27.57 Collecting pydantic-settings>=2.5.2 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.60   Downloading pydantic_settings-2.12.0-py3-none-any.whl.metadata (3.4 kB)
#15 27.68 Collecting pyjwt>=2.10.1 (from pyjwt[crypto]>=2.10.1->mcp->-r /tmp/requirements.txt (line 34))
#15 27.71   Downloading pyjwt-2.11.0-py3-none-any.whl.metadata (4.0 kB)
#15 27.77 Collecting python-multipart>=0.0.9 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.80   Downloading python_multipart-0.0.22-py3-none-any.whl.metadata (1.8 kB)
#15 27.86 Collecting sse-starlette>=1.6.1 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.89   Downloading sse_starlette-3.2.0-py3-none-any.whl.metadata (12 kB)
#15 27.98 Collecting starlette>=0.27 (from mcp->-r /tmp/requirements.txt (line 34))
#15 28.01   Downloading starlette-0.52.1-py3-none-any.whl.metadata (6.3 kB)
#15 28.30 Collecting uvicorn>=0.31.1 (from mcp->-r /tmp/requirements.txt (line 34))
#15 28.34   Downloading uvicorn-0.40.0-py3-none-any.whl.metadata (6.7 kB)
#15 28.40 Collecting pycparser (from cffi>=1.12->cryptography<40->-r /tmp/requirements.txt (line 1))
#15 28.42   Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)
#15 28.48 Collecting httpcore==1.* (from httpx>=0.27.1->mcp->-r /tmp/requirements.txt (line 34))
#15 28.51   Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)
#15 28.56 Collecting h11>=0.16 (from httpcore==1.*->httpx>=0.27.1->mcp->-r /tmp/requirements.txt (line 34))
#15 28.59   Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)
#15 28.66 Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=4.20.0->mcp->-r /tmp/requirements.txt (line 34))
#15 28.71   Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB)
#15 28.83 Collecting referencing>=0.28.4 (from jsonschema>=4.20.0->mcp->-r /tmp/requirements.txt (line 34))
#15 28.86   Downloading referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB)
#15 29.67 Collecting rpds-py>=0.25.0 (from jsonschema>=4.20.0->mcp->-r /tmp/requirements.txt (line 34))
#15 29.69   Downloading rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (4.1 kB)
#15 29.74 Collecting python-dotenv>=0.21.0 (from pydantic-settings>=2.5.2->mcp->-r /tmp/requirements.txt (line 34))
#15 29.77   Downloading python_dotenv-1.2.1-py3-none-any.whl.metadata (25 kB)
#15 29.86 Downloading cryptography-39.0.2-cp36-abi3-musllinux_1_1_x86_64.whl (4.3 MB)
#15 29.96    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 52.2 MB/s  0:00:00
#15 29.99 Downloading aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl (1.7 MB)
#15 30.01    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 75.7 MB/s  0:00:00
#15 30.05 Downloading pydantic-2.12.5-py3-none-any.whl (463 kB)
#15 30.10 Downloading pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl (2.3 MB)
#15 30.21    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 20.0 MB/s  0:00:00
#15 30.23 Downloading multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl (251 kB)
#15 30.26 Downloading yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl (374 kB)
#15 30.30 Downloading openwrt_luci_rpc-1.1.17-py2.py3-none-any.whl (9.5 kB)
#15 30.33 Downloading asusrouter-1.21.3-py3-none-any.whl (132 kB)
#15 30.36 Downloading graphene-3.4.3-py2.py3-none-any.whl (114 kB)
#15 30.38 Downloading graphql_core-3.2.7-py3-none-any.whl (207 kB)
#15 30.42 Downloading graphql_relay-3.2.0-py3-none-any.whl (16 kB)
#15 30.44 Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
#15 30.47 Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
#15 30.50 Downloading flask-3.1.2-py3-none-any.whl (103 kB)
#15 30.53 Downloading flask_cors-6.0.2-py3-none-any.whl (13 kB)
#15 30.56 Downloading unifi_sm_api-0.2.1-py3-none-any.whl (16 kB)
#15 30.58 Downloading tplink_omada_client-1.4.4-py3-none-any.whl (46 kB)
#15 30.61 Downloading wakeonlan-3.1.0-py3-none-any.whl (5.0 kB)
#15 30.64 Downloading pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl (2.3 MB)
#15 30.69    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 45.1 MB/s  0:00:00
#15 30.72 Downloading requests-2.32.5-py3-none-any.whl (64 kB)
#15 30.75 Downloading urllib3-2.6.3-py3-none-any.whl (131 kB)
#15 30.78 Downloading charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl (154 kB)
#15 30.82 Downloading idna-3.11-py3-none-any.whl (71 kB)
#15 30.85 Downloading paho_mqtt-2.1.0-py3-none-any.whl (67 kB)
#15 30.88 Downloading scapy-2.7.0-py3-none-any.whl (2.6 MB)
#15 30.91    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.6/2.6 MB 105.0 MB/s  0:00:00
#15 30.95 Downloading cron_converter-1.3.1-py3-none-any.whl (14 kB)
#15 30.97 Downloading pytz-2025.2-py2.py3-none-any.whl (509 kB)
#15 31.01 Downloading json2table-1.1.5-py2.py3-none-any.whl (8.7 kB)
#15 31.04 Downloading dhcp_leases-0.1.6-py3-none-any.whl (11 kB)
#15 31.07 Downloading pyunifi-2.21-py3-none-any.whl (11 kB)
#15 31.11 Downloading speedtest_cli-2.1.3-py2.py3-none-any.whl (23 kB)
#15 31.14 Downloading chardet-5.2.0-py3-none-any.whl (199 kB)
#15 31.17 Downloading dnspython-2.8.0-py3-none-any.whl (331 kB)
#15 31.21 Downloading librouteros-3.4.1-py3-none-any.whl (16 kB)
#15 31.33 Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
#15 31.40 Downloading zeroconf-0.148.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.3 MB)
#15 31.42    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 125.0 MB/s  0:00:00
#15 31.48 Downloading simplejson-3.20.2-cp312-cp312-musllinux_1_2_x86_64.whl (154 kB)
#15 31.51 Downloading future-1.0.0-py3-none-any.whl (491 kB)
#15 31.54 Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
#15 31.55 Downloading httplib2-0.31.2-py3-none-any.whl (91 kB)
#15 31.58 Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB)
#15 31.65 Downloading gunicorn-24.1.1-py3-none-any.whl (114 kB)
#15 31.69 Downloading mcp-1.26.0-py3-none-any.whl (233 kB)
#15 31.72 Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl (15 kB)
#15 31.75 Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)
#15 31.77 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
#15 31.80 Downloading anyio-4.12.1-py3-none-any.whl (113 kB)
#15 31.83 Downloading attrs-25.4.0-py3-none-any.whl (67 kB)
#15 31.86 Downloading awesomeversion-25.8.0-py3-none-any.whl (15 kB)
#15 31.89 Downloading blinker-1.9.0-py3-none-any.whl (8.5 kB)
#15 31.91 Downloading certifi-2026.1.4-py3-none-any.whl (152 kB)
#15 31.96 Downloading cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (221 kB)
#15 32.02 Downloading click-8.3.1-py3-none-any.whl (108 kB)
#15 32.06 Downloading frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl (239 kB)
#15 32.08 Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
#15 32.12 Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)
#15 32.15 Downloading h11-0.16.0-py3-none-any.whl (37 kB)
#15 32.18 Downloading httpx_sse-0.4.3-py3-none-any.whl (9.0 kB)
#15 32.21 Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
#15 32.23 Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
#15 32.26 Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
#15 32.29 Downloading jsonschema-4.26.0-py3-none-any.whl (90 kB)
#15 32.32 Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)
#15 32.35 Downloading markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl (23 kB)
#15 32.38 Downloading propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl (215 kB)
#15 32.41 Downloading pydantic_settings-2.12.0-py3-none-any.whl (51 kB)
#15 32.44 Downloading pyjwt-2.11.0-py3-none-any.whl (28 kB)
#15 32.49 Downloading python_dotenv-1.2.1-py3-none-any.whl (21 kB)
#15 32.53 Downloading python_multipart-0.0.22-py3-none-any.whl (24 kB)
#15 32.56 Downloading referencing-0.37.0-py3-none-any.whl (26 kB)
#15 32.62 Downloading rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl (563 kB)
#15 32.63    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 563.1/563.1 kB 171.5 MB/s  0:00:00
#15 32.66 Downloading sse_starlette-3.2.0-py3-none-any.whl (12 kB)
#15 32.68 Downloading starlette-0.52.1-py3-none-any.whl (74 kB)
#15 32.71 Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB)
#15 32.75 Downloading uvicorn-0.40.0-py3-none-any.whl (68 kB)
#15 32.78 Downloading werkzeug-3.1.5-py3-none-any.whl (225 kB)
#15 32.81 Downloading xmltodict-1.0.2-py3-none-any.whl (13 kB)
#15 32.84 Downloading pycparser-3.0-py3-none-any.whl (48 kB)
#15 33.15 Building wheels for collected packages: aiofreepybox, python-nmap, yattag
#15 33.16   Building wheel for aiofreepybox (pyproject.toml): started
#15 33.68   Building wheel for aiofreepybox (pyproject.toml): finished with status 'done'
#15 33.68   Created wheel for aiofreepybox: filename=aiofreepybox-6.0.0-py3-none-any.whl size=60051 sha256=25c71405468495eedd44ed5287c37fee69f5d0e43cbb71dbe36dd7ffa12344ec
#15 33.68   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/3c/d3/ae/fb97a84a29a5fbe8517de58d67e66586505440af35981e0dd3
#15 33.69   Building wheel for python-nmap (pyproject.toml): started
#15 34.14   Building wheel for python-nmap (pyproject.toml): finished with status 'done'
#15 34.14   Created wheel for python-nmap: filename=python_nmap-0.7.1-py2.py3-none-any.whl size=20680 sha256=59f070bea8bbcd62045dc3b8259296debbd92b89226dda477eb25b02958cca2f
#15 34.14   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/06/fc/d4/0957e1d9942e696188208772ea0abf909fe6eb3d9dff6e5a9e
#15 34.16   Building wheel for yattag (pyproject.toml): started
#15 34.60   Building wheel for yattag (pyproject.toml): finished with status 'done'
#15 34.61   Created wheel for yattag: filename=yattag-1.16.1-py3-none-any.whl size=15929 sha256=b9b2e919f75c6afa2455fed1ea3fca364b30608d5272d2b1fbbd71db60694f6a
#15 34.61   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/d2/2f/52/049ff4f7c8c9c932b2ece7ec800d7facf2a141ac5ab0ce7e51
#15 34.61 Successfully built aiofreepybox python-nmap yattag
#15 34.93 Installing collected packages: yattag, speedtest-cli, pytz, python-nmap, json2table, ifaddr, dhcp-leases, zeroconf, xmltodict, wakeonlan, urllib3, typing-extensions, toml, six, simplejson, scapy, rpds-py, python-multipart, python-dotenv, pyparsing, pyjwt, pycryptodome, pycparser, propcache, paho-mqtt, multidict, markupsafe, itsdangerous, idna, httpx-sse, h11, gunicorn, graphql-core, future, frozenlist, dnspython, Click, charset_normalizer, chardet, certifi, blinker, awesomeversion, attrs, annotated-types, aiohappyeyeballs, yarl, werkzeug, uvicorn, typing-inspection, requests, referencing, python-dateutil, pydantic-core, librouteros, jinja2, httplib2, httpcore, graphql-relay, cffi, anyio, aiosignal, unifi-sm-api, starlette, pyunifi, pydantic, openwrt-luci-rpc, jsonschema-specifications, httpx, graphene, flask, cryptography, cron-converter, aiohttp, tplink-omada-client, sse-starlette, pydantic-settings, jsonschema, flask-cors, asusrouter, aiofreepybox, mcp


Almost done installing. Let me wait for it to finish:


(no new output)

Process still running.


#15 31.80 Downloading anyio-4.12.1-py3-none-any.whl (113 kB)
#15 31.83 Downloading attrs-25.4.0-py3-none-any.whl (67 kB)
#15 31.86 Downloading awesomeversion-25.8.0-py3-none-any.whl (15 kB)
#15 31.89 Downloading blinker-1.9.0-py3-none-any.whl (8.5 kB)
#15 31.91 Downloading certifi-2026.1.4-py3-none-any.whl (152 kB)
#15 31.96 Downloading cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (221 kB)
#15 32.02 Downloading click-8.3.1-py3-none-any.whl (108 kB)
#15 32.06 Downloading frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl (239 kB)
#15 32.08 Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
#15 32.12 Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)
#15 32.15 Downloading h11-0.16.0-py3-none-any.whl (37 kB)
#15 32.18 Downloading httpx_sse-0.4.3-py3-none-any.whl (9.0 kB)
#15 32.21 Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
#15 32.23 Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
#15 32.26 Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
#15 32.29 Downloading jsonschema-4.26.0-py3-none-any.whl (90 kB)
#15 32.32 Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)
#15 32.35 Downloading markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl (23 kB)
#15 32.38 Downloading propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl (215 kB)
#15 32.41 Downloading pydantic_settings-2.12.0-py3-none-any.whl (51 kB)
#15 32.44 Downloading pyjwt-2.11.0-py3-none-any.whl (28 kB)
#15 32.49 Downloading python_dotenv-1.2.1-py3-none-any.whl (21 kB)
#15 32.53 Downloading python_multipart-0.0.22-py3-none-any.whl (24 kB)
#15 32.56 Downloading referencing-0.37.0-py3-none-any.whl (26 kB)
#15 32.62 Downloading rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl (563 kB)
#15 32.63    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 563.1/563.1 kB 171.5 MB/s  0:00:00
#15 32.66 Downloading sse_starlette-3.2.0-py3-none-any.whl (12 kB)
#15 32.68 Downloading starlette-0.52.1-py3-none-any.whl (74 kB)
#15 32.71 Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB)
#15 32.75 Downloading uvicorn-0.40.0-py3-none-any.whl (68 kB)
#15 32.78 Downloading werkzeug-3.1.5-py3-none-any.whl (225 kB)
#15 32.81 Downloading xmltodict-1.0.2-py3-none-any.whl (13 kB)
#15 32.84 Downloading pycparser-3.0-py3-none-any.whl (48 kB)
#15 33.15 Building wheels for collected packages: aiofreepybox, python-nmap, yattag
#15 33.16   Building wheel for aiofreepybox (pyproject.toml): started
#15 33.68   Building wheel for aiofreepybox (pyproject.toml): finished with status 'done'
#15 33.68   Created wheel for aiofreepybox: filename=aiofreepybox-6.0.0-py3-none-any.whl size=60051 sha256=25c71405468495eedd44ed5287c37fee69f5d0e43cbb71dbe36dd7ffa12344ec
#15 33.68   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/3c/d3/ae/fb97a84a29a5fbe8517de58d67e66586505440af35981e0dd3
#15 33.69   Building wheel for python-nmap (pyproject.toml): started
#15 34.14   Building wheel for python-nmap (pyproject.toml): finished with status 'done'
#15 34.14   Created wheel for python-nmap: filename=python_nmap-0.7.1-py2.py3-none-any.whl size=20680 sha256=59f070bea8bbcd62045dc3b8259296debbd92b89226dda477eb25b02958cca2f
#15 34.14   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/06/fc/d4/0957e1d9942e696188208772ea0abf909fe6eb3d9dff6e5a9e
#15 34.16   Building wheel for yattag (pyproject.toml): started
#15 34.60   Building wheel for yattag (pyproject.toml): finished with status 'done'
#15 34.61   Created wheel for yattag: filename=yattag-1.16.1-py3-none-any.whl size=15929 sha256=b9b2e919f75c6afa2455fed1ea3fca364b30608d5272d2b1fbbd71db60694f6a
#15 34.61   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/d2/2f/52/049ff4f7c8c9c932b2ece7ec800d7facf2a141ac5ab0ce7e51
#15 34.61 Successfully built aiofreepybox python-nmap yattag
#15 34.93 Installing collected packages: yattag, speedtest-cli, pytz, python-nmap, json2table, ifaddr, dhcp-leases, zeroconf, xmltodict, wakeonlan, urllib3, typing-extensions, toml, six, simplejson, scapy, rpds-py, python-multipart, python-dotenv, pyparsing, pyjwt, pycryptodome, pycparser, propcache, paho-mqtt, multidict, markupsafe, itsdangerous, idna, httpx-sse, h11, gunicorn, graphql-core, future, frozenlist, dnspython, Click, charset_normalizer, chardet, certifi, blinker, awesomeversion, attrs, annotated-types, aiohappyeyeballs, yarl, werkzeug, uvicorn, typing-inspection, requests, referencing, python-dateutil, pydantic-core, librouteros, jinja2, httplib2, httpcore, graphql-relay, cffi, anyio, aiosignal, unifi-sm-api, starlette, pyunifi, pydantic, openwrt-luci-rpc, jsonschema-specifications, httpx, graphene, flask, cryptography, cron-converter, aiohttp, tplink-omada-client, sse-starlette, pydantic-settings, jsonschema, flask-cors, asusrouter, aiofreepybox, mcp
#15 49.75
#15 49.76 Successfully installed Click-8.3.1 aiofreepybox-6.0.0 aiohappyeyeballs-2.6.1 aiohttp-3.13.3 aiosignal-1.4.0 annotated-types-0.7.0 anyio-4.12.1 asusrouter-1.21.3 attrs-25.4.0 awesomeversion-25.8.0 blinker-1.9.0 certifi-2026.1.4 cffi-2.0.0 chardet-5.2.0 charset_normalizer-3.4.4 cron-converter-1.3.1 cryptography-39.0.2 dhcp-leases-0.1.6 dnspython-2.8.0 flask-3.1.2 flask-cors-6.0.2 frozenlist-1.8.0 future-1.0.0 graphene-3.4.3 graphql-core-3.2.7 graphql-relay-3.2.0 gunicorn-24.1.1 h11-0.16.0 httpcore-1.0.9 httplib2-0.31.2 httpx-0.28.1 httpx-sse-0.4.3 idna-3.11 ifaddr-0.2.0 itsdangerous-2.2.0 jinja2-3.1.6 json2table-1.1.5 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 librouteros-3.4.1 markupsafe-3.0.3 mcp-1.26.0 multidict-6.7.1 openwrt-luci-rpc-1.1.17 paho-mqtt-2.1.0 propcache-0.4.1 pycparser-3.0 pycryptodome-3.23.0 pydantic-2.12.5 pydantic-core-2.41.5 pydantic-settings-2.12.0 pyjwt-2.11.0 pyparsing-3.3.2 python-dateutil-2.9.0.post0 python-dotenv-1.2.1 python-multipart-0.0.22 python-nmap-0.7.1 pytz-2025.2 pyunifi-2.21 referencing-0.37.0 requests-2.32.5 rpds-py-0.30.0 scapy-2.7.0 simplejson-3.20.2 six-1.17.0 speedtest-cli-2.1.3 sse-starlette-3.2.0 starlette-0.52.1 toml-0.10.2 tplink-omada-client-1.4.4 typing-extensions-4.15.0 typing-inspection-0.4.2 unifi-sm-api-0.2.1 urllib3-2.6.3 uvicorn-0.40.0 wakeonlan-3.1.0 werkzeug-3.1.5 xmltodict-1.0.2 yarl-1.22.0 yattag-1.16.1 zeroconf-0.148.0


The build is almost done. Let me check if it completed:


#15 49.75
#15 49.76 Successfully installed Click-8.3.1 aiofreepybox-6.0.0 aiohappyeyeballs-2.6.1 aiohttp-3.13.3 aiosignal-1.4.0 annotated-types-0.7.0 anyio-4.12.1 asusrouter-1.21.3 attrs-25.4.0 awesomeversion-25.8.0 blinker-1.9.0 certifi-2026.1.4 cffi-2.0.0 chardet-5.2.0 charset_normalizer-3.4.4 cron-converter-1.3.1 cryptography-39.0.2 dhcp-leases-0.1.6 dnspython-2.8.0 flask-3.1.2 flask-cors-6.0.2 frozenlist-1.8.0 future-1.0.0 graphene-3.4.3 graphql-core-3.2.7 graphql-relay-3.2.0 gunicorn-24.1.1 h11-0.16.0 httpcore-1.0.9 httplib2-0.31.2 httpx-0.28.1 httpx-sse-0.4.3 idna-3.11 ifaddr-0.2.0 itsdangerous-2.2.0 jinja2-3.1.6 json2table-1.1.5 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 librouteros-3.4.1 markupsafe-3.0.3 mcp-1.26.0 multidict-6.7.1 openwrt-luci-rpc-1.1.17 paho-mqtt-2.1.0 propcache-0.4.1 pycparser-3.0 pycryptodome-3.23.0 pydantic-2.12.5 pydantic-core-2.41.5 pydantic-settings-2.12.0 pyjwt-2.11.0 pyparsing-3.3.2 python-dateutil-2.9.0.post0 python-dotenv-1.2.1 python-multipart-0.0.22 python-nmap-0.7.1 pytz-2025.2 pyunifi-2.21 referencing-0.37.0 requests-2.32.5 rpds-py-0.30.0 scapy-2.7.0 simplejson-3.20.2 six-1.17.0 speedtest-cli-2.1.3 sse-starlette-3.2.0 starlette-0.52.1 toml-0.10.2 tplink-omada-client-1.4.4 typing-extensions-4.15.0 typing-inspection-0.4.2 unifi-sm-api-0.2.1 urllib3-2.6.3 uvicorn-0.40.0 wakeonlan-3.1.0 werkzeug-3.1.5 xmltodict-1.0.2 yarl-1.22.0 yattag-1.16.1 zeroconf-0.148.0
#15 DONE 52.1s

#16 [netalertx runner  9/10] COPY --from=builder --chown=20212:20212 /opt/venv /opt/venv
#16 DONE 1.7s

#17 [netalertx runner 10/10] RUN for vfile in .VERSION; do         if [ ! -f "/app/${vfile}" ]; then             echo "DEVELOPMENT 00000000" > "/app/${vfile}";         fi;         chown 20212:20212 "/app/${vfile}";     done &&     apk add --no-cache libcap &&     setcap cap_net_raw,cap_net_admin+eip /usr/bin/nmap &&     setcap cap_net_raw,cap_net_admin+eip /usr/bin/arp-scan &&     setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nbtscan &&     setcap cap_net_raw,cap_net_admin+eip /usr/bin/traceroute &&     setcap cap_net_raw,cap_net_admin+eip "$(readlink -f /opt/venv/bin/python)" &&     /bin/sh /build/init-nginx.sh &&     /bin/sh /build/init-php-fpm.sh &&     /bin/sh /build/init-cron.sh &&     /bin/sh /build/init-backend.sh &&     rm -rf /build &&     apk del libcap &&     date +%s > "/app/front/buildtimestamp.txt"
#17 0.297 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
#17 0.681 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
#17 1.343 (1/4) Installing libcap-getcap (2.76-r0)
#17 1.381 (2/4) Installing libcap-setcap (2.76-r0)
#17 1.409 (3/4) Installing libcap-utils (2.76-r0)
#17 1.440 (4/4) Installing libcap (2.76-r0)
#17 1.440 Executing busybox-1.37.0-r20.trigger
#17 1.461 OK: 134 MiB in 118 packages
#17 1.632 Initializing nginx...
#17 1.638 nginx initialized.
#17 1.639 Initializing php-fpm...
#17 1.639 php-fpm initialized.
#17 1.640 Initializing cron...
#17 1.640 cron initialized.
#17 1.641 Initializing backend...
#17 1.641 Backend initialized.
#17 1.652 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/main: No such file or directory
#17 1.652 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/community: No such file or directory
#17 1.653 (1/4) Purging libcap (2.76-r0)
#17 1.653 (2/4) Purging libcap-utils (2.76-r0)
#17 1.653 (3/4) Purging libcap-getcap (2.76-r0)
#17 1.653 (4/4) Purging libcap-setcap (2.76-r0)
#17 1.653 Executing busybox-1.37.0-r20.trigger
#17 1.658 OK: 133 MiB in 114 packages
#17 DONE 1.7s

#18 [netalertx hardened 1/2] RUN addgroup -g 20212 "readonly" &&     adduser -u 20212 -G "readonly" -D -h /app "readonly"

Process still running.

cd /home/crogers2287/NetAlertX

 netalertx Pulling
 netalertx Warning pull access denied for netalertx, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Compose can now delegate builds to bake for better performance.
 To do so, set COMPOSE_BAKE=true.
#0 building with "default" instance using docker driver

#1 [netalertx internal] load build definition from Dockerfile
#1 transferring dockerfile: 11.32kB done
#1 DONE 0.1s

#2 [netalertx internal] load metadata for docker.io/library/alpine:3.22
#2 DONE 1.3s

#3 [netalertx internal] load .dockerignore
#3 transferring context: 222B done
#3 DONE 0.0s

#4 [netalertx builder 1/4] FROM docker.io/library/alpine:3.22@sha256:55ae5d250caebc548793f321534bc6a8ef1d116f334f18f4ada1b2daad3251b2
#4 resolve docker.io/library/alpine:3.22@sha256:55ae5d250caebc548793f321534bc6a8ef1d116f334f18f4ada1b2daad3251b2 0.0s done
#4 sha256:e0baf8c394150ac5a14925e179100519f5e37c53547f647acbd9f8eb3e5c4528 1.02kB / 1.02kB done
#4 sha256:f65e6e80f68613c7e9c51c98f879c73373d7a38c0790300e1478ce45894a24aa 611B / 611B done
#4 sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 0B / 3.80MB 0.1s
#4 sha256:55ae5d250caebc548793f321534bc6a8ef1d116f334f18f4ada1b2daad3251b2 9.22kB / 9.22kB done
#4 sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 2.10MB / 3.80MB 0.3s
#4 ...

#5 [netalertx internal] load build context
#5 transferring context: 20.19MB 0.4s done
#5 DONE 0.4s

#4 [netalertx builder 1/4] FROM docker.io/library/alpine:3.22@sha256:55ae5d250caebc548793f321534bc6a8ef1d116f334f18f4ada1b2daad3251b2
#4 sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 3.80MB / 3.80MB 0.3s done
#4 extracting sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 0.1s
#4 extracting sha256:d49a2dee86fb12766dd648402d010ca105846a41bd58738454e53780d4bb8e97 0.1s done
#4 DONE 0.6s

#6 [netalertx builder 2/4] COPY requirements.txt /tmp/requirements.txt
#6 DONE 0.4s

#7 [netalertx runner  2/10] RUN apk add --no-cache bash mtr libbsd zip lsblk tzdata curl arp-scan iproute2 iproute2-ss nmap fping     nmap-scripts traceroute nbtscan net-tools net-snmp-tools bind-tools awake ca-certificates     sqlite php83 php83-fpm php83-cgi php83-curl php83-sqlite3 php83-session python3 envsubst     nginx supercronic shadow su-exec jq &&     rm -Rf /var/cache/apk/*  &&     rm -Rf /etc/nginx &&     addgroup -g 20211 netalertx &&     adduser -u 20211 -D -h /app -G netalertx netalertx &&     apk del shadow
#7 0.711 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
#7 1.198 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
#7 2.542 (1/102) Installing libpcap (1.10.5-r1)
#7 2.603 (2/102) Installing arp-scan (1.10.0-r2)
#7 2.760 (3/102) Installing libbz2 (1.0.8-r6)
#7 2.791 (4/102) Installing libexpat (2.7.3-r0)
#7 2.828 (5/102) Installing libffi (3.4.8-r0)
#7 2.857 (6/102) Installing gdbm (1.24-r0)
#7 2.888 (7/102) Installing xz-libs (5.8.1-r0)
#7 2.934 (8/102) Installing libgcc (14.2.0-r6)
#7 2.970 (9/102) Installing libstdc++ (14.2.0-r6)
#7 3.186 (10/102) Installing mpdecimal (4.0.1-r0)
#7 3.230 (11/102) Installing ncurses-terminfo-base (6.5_p20250503-r0)
#7 3.262 (12/102) Installing libncursesw (6.5_p20250503-r0)
#7 3.310 (13/102) Installing libpanelw (6.5_p20250503-r0)
#7 3.333 (14/102) Installing readline (8.2.13-r1)
#7 3.389 (15/102) Installing sqlite-libs (3.49.2-r1)
#7 3.571 (16/102) Installing python3 (3.12.12-r0)
#7 5.061 (17/102) Installing python3-pycache-pyc0 (3.12.12-r0)
#7 5.649 (18/102) Installing pyc (3.12.12-r0)
#7 5.649 (19/102) Installing py3-awake-pyc (1.0-r12)
#7 5.673 (20/102) Installing python3-pyc (3.12.12-r0)
#7 5.673 (21/102) Installing py3-awake (1.0-r12)
#7 5.716 (22/102) Installing awake (1.0-r12)
#7 5.747 (23/102) Installing bash (5.2.37-r0)
#7 5.839 Executing bash-5.2.37-r0.post-install
#7 5.848 (24/102) Installing fstrm (0.6.1-r4)
#7 5.884 (25/102) Installing krb5-conf (1.0-r2)
#7 6.019 (26/102) Installing libcom_err (1.47.2-r2)
#7 6.088 (27/102) Installing keyutils-libs (1.6.3-r4)
#7 6.110 (28/102) Installing libverto (0.3.2-r2)
#7 6.143 (29/102) Installing krb5-libs (1.21.3-r0)
#7 6.396 (30/102) Installing json-c (0.18-r1)
#7 6.431 (31/102) Installing nghttp2-libs (1.65.0-r0)
#7 6.468 (32/102) Installing protobuf-c (1.5.2-r0)
#7 6.491 (33/102) Installing userspace-rcu (0.15.2-r0)
#7 6.530 (34/102) Installing libuv (1.51.0-r0)
#7 6.577 (35/102) Installing libxml2 (2.13.9-r0)
#7 6.657 (36/102) Installing bind-libs (9.20.18-r0)
#7 6.922 (37/102) Installing bind-tools (9.20.18-r0)
#7 6.993 (38/102) Installing ca-certificates (20250911-r0)
#7 7.083 (39/102) Installing brotli-libs (1.1.0-r2)
#7 7.142 (40/102) Installing c-ares (1.34.6-r0)
#7 7.177 (41/102) Installing libunistring (1.3-r0)
#7 7.289 (42/102) Installing libidn2 (2.3.7-r0)
#7 7.327 (43/102) Installing libpsl (0.21.5-r3)
#7 7.357 (44/102) Installing zstd-libs (1.5.7-r0)
#7 7.429 (45/102) Installing libcurl (8.14.1-r2)
#7 7.489 (46/102) Installing curl (8.14.1-r2)
#7 7.530 (47/102) Installing libintl (0.24.1-r0)
#7 7.564 (48/102) Installing gettext-envsubst (0.24.1-r0)
#7 7.594 (49/102) Installing fping (5.3-r0)
#7 7.627 (50/102) Installing libcap2 (2.76-r0)
#7 7.660 (51/102) Installing libelf (0.193-r0)
#7 7.682 (52/102) Installing libmnl (1.0.5-r2)
#7 7.706 (53/102) Installing iproute2-minimal (6.15.0-r0)
#7 7.761 (54/102) Installing libxtables (1.8.11-r1)
#7 7.795 (55/102) Installing iproute2-tc (6.15.0-r0)
#7 7.867 (56/102) Installing iproute2-ss (6.15.0-r0)
#7 7.895 (57/102) Installing iproute2 (6.15.0-r0)
#7 8.058 Executing iproute2-6.15.0-r0.post-install
#7 8.066 (58/102) Installing oniguruma (6.9.10-r0)
#7 8.103 (59/102) Installing jq (1.8.1-r0)
#7 8.148 (60/102) Installing libmd (1.1.0-r0)
#7 8.177 (61/102) Installing libbsd (0.12.2-r0)
#7 8.202 (62/102) Installing libeconf (0.6.3-r0)
#7 8.229 (63/102) Installing libblkid (2.41-r9)
#7 8.264 (64/102) Installing libmount (2.41-r9)
#7 8.301 (65/102) Installing libsmartcols (2.41-r9)
#7 8.327 (66/102) Installing lsblk (2.41-r9)
#7 8.359 (67/102) Installing jansson (2.14.1-r0)
#7 8.383 (68/102) Installing mtr (0.96-r0)
#7 8.425 (69/102) Installing nbtscan (1.7.2-r0)
#7 8.453 (70/102) Installing net-snmp-libs (5.9.4-r1)
#7 8.698 (71/102) Installing net-snmp-agent-libs (5.9.4-r1)
#7 8.850 (72/102) Installing net-snmp-tools (5.9.4-r1)
#7 8.894 (73/102) Installing mii-tool (2.10-r3)
#7 8.911 (74/102) Installing net-tools (2.10-r3)
#7 8.956 (75/102) Installing pcre2 (10.46-r0)
#7 9.013 (76/102) Installing nginx (1.28.0-r3)
#7 9.050 Executing nginx-1.28.0-r3.pre-install
#7 9.133 Executing nginx-1.28.0-r3.post-install
#7 9.143 (77/102) Installing lua5.4-libs (5.4.7-r0)
#7 9.181 (78/102) Installing libssh2 (1.11.1-r0)
#7 9.220 (79/102) Installing nmap (7.97-r0)
#7 10.02 (80/102) Installing nmap-nselibs (7.97-r0)
#7 10.43 (81/102) Installing nmap-scripts (7.97-r0)
#7 ...

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 0.328 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
#8 0.867 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
#8 2.303 (1/55) Installing ncurses-terminfo-base (6.5_p20250503-r0)
#8 2.342 (2/55) Installing libncursesw (6.5_p20250503-r0)
#8 2.424 (3/55) Installing readline (8.2.13-r1)
#8 2.500 (4/55) Installing bash (5.2.37-r0)
#8 2.670 Executing bash-5.2.37-r0.post-install
#8 2.681 (5/55) Installing libgcc (14.2.0-r6)
#8 2.729 (6/55) Installing jansson (2.14.1-r0)
#8 2.767 (7/55) Installing libstdc++ (14.2.0-r6)
#8 3.032 (8/55) Installing zstd-libs (1.5.7-r0)
#8 3.226 (9/55) Installing binutils (2.44-r3)
#8 4.043 (10/55) Installing libgomp (14.2.0-r6)
#8 4.109 (11/55) Installing libatomic (14.2.0-r6)
#8 4.132 (12/55) Installing gmp (6.3.0-r3)
#8 4.204 (13/55) Installing isl26 (0.26-r1)
#8 4.428 (14/55) Installing mpfr4 (4.2.1_p1-r0)
#8 4.518 (15/55) Installing mpc1 (1.3.1-r1)
#8 4.561 (16/55) Installing gcc (14.2.0-r6)
#8 10.28 (17/55) Installing musl-dev (1.2.5-r10)
#8 ...

#7 [netalertx runner  2/10] RUN apk add --no-cache bash mtr libbsd zip lsblk tzdata curl arp-scan iproute2 iproute2-ss nmap fping     nmap-scripts traceroute nbtscan net-tools net-snmp-tools bind-tools awake ca-certificates     sqlite php83 php83-fpm php83-cgi php83-curl php83-sqlite3 php83-session python3 envsubst     nginx supercronic shadow su-exec jq &&     rm -Rf /var/cache/apk/*  &&     rm -Rf /etc/nginx &&     addgroup -g 20211 netalertx &&     adduser -u 20211 -D -h /app -G netalertx netalertx &&     apk del shadow
#7 10.76 (82/102) Installing php83-common (8.3.29-r0)
#7 10.80 (83/102) Installing argon2-libs (20190702-r5)
#7 10.86 (84/102) Installing libedit (20250104.3.1-r1)
#7 10.92 (85/102) Installing php83 (8.3.29-r0)
#7 11.29 (86/102) Installing php83-cgi (8.3.29-r0)
#7 11.63 (87/102) Installing php83-curl (8.3.29-r0)
#7 11.66 (88/102) Installing acl-libs (2.3.2-r1)
#7 11.69 (89/102) Installing php83-fpm (8.3.29-r0)
#7 12.08 (90/102) Installing php83-session (8.3.29-r0)
#7 12.11 (91/102) Installing php83-sqlite3 (8.3.29-r0)
#7 12.16 (92/102) Installing skalibs-libs (2.14.4.0-r0)
#7 12.20 (93/102) Installing utmps-libs (0.1.3.1-r0)
#7 12.22 (94/102) Installing linux-pam (1.7.0-r4)
#7 12.28 (95/102) Installing shadow (4.17.3-r0)
#7 12.36 (96/102) Installing sqlite (3.49.2-r1)
#7 12.49 (97/102) Installing su-exec (0.2-r3)
#7 12.63 (98/102) Installing supercronic (0.2.33-r10)
#7 12.92 (99/102) Installing traceroute (2.1.6-r0)
#7 13.07 (100/102) Installing tzdata (2025c-r0)
#7 13.16 (101/102) Installing unzip (6.0-r15)
#7 13.20 (102/102) Installing zip (3.0-r13)
#7 13.23 Executing busybox-1.37.0-r20.trigger
#7 13.24 Executing ca-certificates-20250911-r0.trigger
#7 13.31 OK: 136 MiB in 118 packages
#7 13.52 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/main: No such file or directory
#7 13.52 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/community: No such file or directory
#7 13.52 (1/4) Purging shadow (4.17.3-r0)
#7 13.52 (2/4) Purging linux-pam (1.7.0-r4)
#7 13.53 (3/4) Purging utmps-libs (0.1.3.1-r0)
#7 13.53 (4/4) Purging skalibs-libs (2.14.4.0-r0)
#7 13.53 Executing busybox-1.37.0-r20.trigger
#7 13.54 OK: 133 MiB in 114 packages
#7 DONE 14.1s

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 10.63 (18/55) Installing libffi (3.4.8-r0)
#8 10.66 (19/55) Installing xz-libs (5.8.1-r0)
#8 10.70 (20/55) Installing libxml2 (2.13.9-r0)
#8 10.77 (21/55) Installing llvm20-libs (20.1.8-r0)
#8 ...

#9 [netalertx runner  3/10] COPY --chown=netalertx:netalertx install/production-filesystem/ /
#9 DONE 0.1s

#10 [netalertx runner  4/10] COPY --chown=netalertx:netalertx --chmod=755 back /app/back
#10 DONE 0.1s

#11 [netalertx runner  5/10] COPY --chown=netalertx:netalertx --chmod=755 front /app/front
#11 DONE 0.3s

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 ...

#12 [netalertx runner  6/10] COPY --chown=netalertx:netalertx --chmod=755 server /app/server
#12 DONE 0.1s

#13 [netalertx runner  7/10] RUN install -d -o netalertx -g netalertx -m 700 /data /data/config /data/db /tmp/api                        /tmp/log /tmp/log/plugins /tmp/run                        /tmp/run/tmp /tmp/run/logs                        /tmp/nginx/active-config &&     sh -c "find /app -type f \( -name '*.sh' -o -name 'speedtest-cli' \)     -exec chmod 750 {} \;"
#13 DONE 0.4s

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 ...

#14 [netalertx runner  8/10] COPY --chown=netalertx:netalertx .[V]ERSION /app/.VERSION
#14 DONE 0.1s

#8 [netalertx builder 3/4] RUN apk add --no-cache         bash         shadow         python3         python3-dev         gcc         musl-dev         libffi-dev         openssl-dev         git         rust         cargo     && python -m venv /opt/venv
#8 14.92 (22/55) Installing scudo-malloc (20.1.8-r0)
#8 14.95 (23/55) Installing rust (1.87.0-r0)
#8 17.80 (24/55) Installing brotli-libs (1.1.0-r2)
#8 17.85 (25/55) Installing c-ares (1.34.6-r0)
#8 17.88 (26/55) Installing libunistring (1.3-r0)
#8 17.93 (27/55) Installing libidn2 (2.3.7-r0)
#8 17.96 (28/55) Installing nghttp2-libs (1.65.0-r0)
#8 18.00 (29/55) Installing libpsl (0.21.5-r3)
#8 18.03 (30/55) Installing libcurl (8.14.1-r2)
#8 18.07 (31/55) Installing cargo (1.87.0-r0)
#8 18.48 (32/55) Installing libexpat (2.7.3-r0)
#8 18.52 (33/55) Installing pcre2 (10.46-r0)
#8 18.56 (34/55) Installing git (2.49.1-r0)
#8 18.70 (35/55) Installing git-init-template (2.49.1-r0)
#8 18.73 (36/55) Installing linux-headers (6.14.2-r0)
#8 18.93 (37/55) Installing pkgconf (2.4.3-r0)
#8 19.00 (38/55) Installing libffi-dev (3.4.8-r0)
#8 19.05 (39/55) Installing openssl-dev (3.5.5-r0)
#8 19.10 (40/55) Installing libbz2 (1.0.8-r6)
#8 19.26 (41/55) Installing gdbm (1.24-r0)
#8 19.30 (42/55) Installing mpdecimal (4.0.1-r0)
#8 19.34 (43/55) Installing libpanelw (6.5_p20250503-r0)
#8 19.38 (44/55) Installing sqlite-libs (3.49.2-r1)
#8 19.45 (45/55) Installing python3 (3.12.12-r0)
#8 19.79 (46/55) Installing python3-pycache-pyc0 (3.12.12-r0)
#8 20.00 (47/55) Installing pyc (3.12.12-r0)
#8 20.00 (48/55) Installing python3-pyc (3.12.12-r0)
#8 20.00 (49/55) Installing python3-dev (3.12.12-r0)
#8 20.45 (50/55) Installing libmd (1.1.0-r0)
#8 20.48 (51/55) Installing libbsd (0.12.2-r0)
#8 20.51 (52/55) Installing skalibs-libs (2.14.4.0-r0)
#8 20.54 (53/55) Installing utmps-libs (0.1.3.1-r0)
#8 20.57 (54/55) Installing linux-pam (1.7.0-r4)
#8 20.63 (55/55) Installing shadow (4.17.3-r0)
#8 20.69 Executing busybox-1.37.0-r20.trigger
#8 20.70 OK: 667 MiB in 71 packages
#8 DONE 26.9s

#15 [netalertx builder 4/4] RUN python -m pip install --upgrade pip setuptools wheel &&     pip install --prefer-binary --no-cache-dir -r /tmp/requirements.txt &&     chmod -R u-rwx,g-rwx /opt
#15 0.989 Requirement already satisfied: pip in /opt/venv/lib/python3.12/site-packages (25.0.1)
#15 1.245 Collecting pip
#15 1.407   Downloading pip-26.0-py3-none-any.whl.metadata (4.7 kB)
#15 1.811 Collecting setuptools
#15 1.840   Downloading setuptools-80.10.2-py3-none-any.whl.metadata (6.6 kB)
#15 1.922 Collecting wheel
#15 1.956   Downloading wheel-0.46.3-py3-none-any.whl.metadata (2.4 kB)
#15 2.038 Collecting packaging>=24.0 (from wheel)
#15 2.068   Downloading packaging-26.0-py3-none-any.whl.metadata (3.3 kB)
#15 2.129 Downloading pip-26.0-py3-none-any.whl (1.8 MB)
#15 2.263    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 19.1 MB/s eta 0:00:00
#15 2.318 Downloading setuptools-80.10.2-py3-none-any.whl (1.1 MB)
#15 2.342    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 50.1 MB/s eta 0:00:00
#15 2.376 Downloading wheel-0.46.3-py3-none-any.whl (30 kB)
#15 2.419 Downloading packaging-26.0-py3-none-any.whl (74 kB)
#15 2.517 Installing collected packages: setuptools, pip, packaging, wheel
#15 3.971   Attempting uninstall: pip
#15 3.977     Found existing installation: pip 25.0.1
#15 4.052     Uninstalling pip-25.0.1:
#15 4.531       Successfully uninstalled pip-25.0.1
#15 6.850 Successfully installed packaging-26.0 pip-26.0 setuptools-80.10.2 wheel-0.46.3
#15 7.823 Collecting git+https://github.com/foreign-sub/aiofreepybox.git (from -r /tmp/requirements.txt (line 33))
#15 7.825   Cloning https://github.com/foreign-sub/aiofreepybox.git to ./tmp/pip-req-build-jwrxf4t9
#15 7.829   Running command git clone --filter=blob:none --quiet https://github.com/foreign-sub/aiofreepybox.git /tmp/pip-req-build-jwrxf4t9
#15 8.734   Resolved https://github.com/foreign-sub/aiofreepybox.git to commit 4ee18ea0f3e76edc839c48eb8df1da59c1baee3d
#15 8.740   Installing build dependencies: started
#15 9.963   Installing build dependencies: finished with status 'done'
#15 9.965   Getting requirements to build wheel: started
#15 10.76   Getting requirements to build wheel: finished with status 'done'
#15 10.77   Preparing metadata (pyproject.toml): started
#15 11.14   Preparing metadata (pyproject.toml): finished with status 'done'
#15 11.76 Collecting cryptography<40 (from -r /tmp/requirements.txt (line 1))
#15 11.91   Downloading cryptography-39.0.2-cp36-abi3-musllinux_1_1_x86_64.whl.metadata (5.6 kB)
#15 11.98 Collecting openwrt-luci-rpc (from -r /tmp/requirements.txt (line 2))
#15 12.01   Downloading openwrt_luci_rpc-1.1.17-py2.py3-none-any.whl.metadata (4.9 kB)
#15 12.11 Collecting asusrouter (from -r /tmp/requirements.txt (line 3))
#15 12.14   Downloading asusrouter-1.21.3-py3-none-any.whl.metadata (33 kB)
#15 13.13 Collecting aiohttp (from -r /tmp/requirements.txt (line 4))
#15 13.17   Downloading aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (8.1 kB)
#15 13.26 Collecting graphene (from -r /tmp/requirements.txt (line 5))
#15 13.29   Downloading graphene-3.4.3-py2.py3-none-any.whl.metadata (6.9 kB)
#15 13.34 Collecting flask (from -r /tmp/requirements.txt (line 6))
#15 13.36   Downloading flask-3.1.2-py3-none-any.whl.metadata (3.2 kB)
#15 13.42 Collecting flask-cors (from -r /tmp/requirements.txt (line 7))
#15 13.44   Downloading flask_cors-6.0.2-py3-none-any.whl.metadata (5.3 kB)
#15 13.50 Collecting unifi-sm-api (from -r /tmp/requirements.txt (line 8))
#15 13.55   Downloading unifi_sm_api-0.2.1-py3-none-any.whl.metadata (2.3 kB)
#15 13.64 Collecting tplink-omada-client (from -r /tmp/requirements.txt (line 9))
#15 13.66   Downloading tplink_omada_client-1.4.4-py3-none-any.whl.metadata (3.5 kB)
#15 13.70 Collecting wakeonlan (from -r /tmp/requirements.txt (line 10))
#15 13.73   Downloading wakeonlan-3.1.0-py3-none-any.whl.metadata (4.3 kB)
#15 14.03 Collecting pycryptodome (from -r /tmp/requirements.txt (line 11))
#15 14.05   Downloading pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl.metadata (3.4 kB)
#15 14.12 Collecting requests (from -r /tmp/requirements.txt (line 12))
#15 14.15   Downloading requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)
#15 14.19 Collecting paho-mqtt (from -r /tmp/requirements.txt (line 13))
#15 14.22   Downloading paho_mqtt-2.1.0-py3-none-any.whl.metadata (23 kB)
#15 14.29 Collecting scapy (from -r /tmp/requirements.txt (line 14))
#15 14.34   Downloading scapy-2.7.0-py3-none-any.whl.metadata (5.8 kB)
#15 14.41 Collecting cron-converter (from -r /tmp/requirements.txt (line 15))
#15 14.44   Downloading cron_converter-1.3.1-py3-none-any.whl.metadata (9.9 kB)
#15 14.56 Collecting pytz (from -r /tmp/requirements.txt (line 16))
#15 14.58   Downloading pytz-2025.2-py2.py3-none-any.whl.metadata (22 kB)
#15 14.65 Collecting json2table (from -r /tmp/requirements.txt (line 17))
#15 14.71   Downloading json2table-1.1.5-py2.py3-none-any.whl.metadata (6.0 kB)
#15 14.77 Collecting dhcp-leases (from -r /tmp/requirements.txt (line 18))
#15 14.80   Downloading dhcp_leases-0.1.6-py3-none-any.whl.metadata (5.9 kB)
#15 14.87 Collecting pyunifi (from -r /tmp/requirements.txt (line 19))
#15 14.89   Downloading pyunifi-2.21-py3-none-any.whl.metadata (274 bytes)
#15 14.97 Collecting speedtest-cli (from -r /tmp/requirements.txt (line 20))
#15 15.00   Downloading speedtest_cli-2.1.3-py2.py3-none-any.whl.metadata (6.8 kB)
#15 15.05 Collecting chardet (from -r /tmp/requirements.txt (line 21))
#15 15.07   Downloading chardet-5.2.0-py3-none-any.whl.metadata (3.4 kB)
#15 15.13 Collecting python-nmap (from -r /tmp/requirements.txt (line 22))
#15 15.15   Downloading python-nmap-0.7.1.tar.gz (44 kB)
#15 15.17   Installing build dependencies: started
#15 16.37   Installing build dependencies: finished with status 'done'
#15 16.38   Getting requirements to build wheel: started
#15 17.18   Getting requirements to build wheel: finished with status 'done'
#15 17.18   Preparing metadata (pyproject.toml): started
#15 17.60   Preparing metadata (pyproject.toml): finished with status 'done'
#15 17.66 Collecting dnspython (from -r /tmp/requirements.txt (line 23))
#15 17.72   Downloading dnspython-2.8.0-py3-none-any.whl.metadata (5.7 kB)
#15 17.82 Collecting librouteros (from -r /tmp/requirements.txt (line 24))
#15 17.85   Downloading librouteros-3.4.1-py3-none-any.whl.metadata (1.6 kB)
#15 17.94 Collecting yattag (from -r /tmp/requirements.txt (line 25))
#15 17.97   Downloading yattag-1.16.1.tar.gz (29 kB)
#15 18.00   Installing build dependencies: started
#15 19.24   Installing build dependencies: finished with status 'done'
#15 19.24   Getting requirements to build wheel: started
#15 20.07   Getting requirements to build wheel: finished with status 'done'
#15 20.07   Preparing metadata (pyproject.toml): started
#15 20.45   Preparing metadata (pyproject.toml): finished with status 'done'
#15 21.28 Collecting zeroconf (from -r /tmp/requirements.txt (line 26))
#15 21.31   Downloading zeroconf-0.148.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (6.3 kB)
#15 21.46 Collecting simplejson (from -r /tmp/requirements.txt (line 27))
#15 21.49   Downloading simplejson-3.20.2-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (3.2 kB)
#15 21.54 Collecting future (from -r /tmp/requirements.txt (line 28))
#15 21.56   Downloading future-1.0.0-py3-none-any.whl.metadata (4.0 kB)
#15 21.60 Collecting six (from -r /tmp/requirements.txt (line 29))
#15 21.63   Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
#15 21.77 Collecting urllib3 (from -r /tmp/requirements.txt (line 30))
#15 21.79   Downloading urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB)
#15 21.84 Collecting httplib2 (from -r /tmp/requirements.txt (line 31))
#15 21.86   Downloading httplib2-0.31.2-py3-none-any.whl.metadata (2.2 kB)
#15 21.90 Collecting gunicorn (from -r /tmp/requirements.txt (line 32))
#15 21.93   Downloading gunicorn-24.1.1-py3-none-any.whl.metadata (4.6 kB)
#15 21.98 Collecting mcp (from -r /tmp/requirements.txt (line 34))
#15 22.00   Downloading mcp-1.26.0-py3-none-any.whl.metadata (89 kB)
#15 22.24 Collecting pydantic<3.0,>=2.0 (from -r /tmp/requirements.txt (line 35))
#15 22.26   Downloading pydantic-2.12.5-py3-none-any.whl.metadata (90 kB)
#15 22.47 Collecting cffi>=1.12 (from cryptography<40->-r /tmp/requirements.txt (line 1))
#15 22.50   Downloading cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (2.6 kB)
#15 22.53 Collecting aiohappyeyeballs>=2.5.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 22.55   Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl.metadata (5.9 kB)
#15 22.58 Collecting aiosignal>=1.4.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 22.60   Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)
#15 22.64 Collecting attrs>=17.3.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 22.66   Downloading attrs-25.4.0-py3-none-any.whl.metadata (10 kB)
#15 22.79 Collecting frozenlist>=1.1.1 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 22.82   Downloading frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (20 kB)
#15 23.27 Collecting multidict<7.0,>=4.5 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 23.30   Downloading multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (5.3 kB)
#15 23.44 Collecting propcache>=0.2.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 23.46   Downloading propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (13 kB)
#15 24.04 Collecting yarl<2.0,>=1.17.0 (from aiohttp->-r /tmp/requirements.txt (line 4))
#15 24.07   Downloading yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (75 kB)
#15 24.11 Collecting annotated-types>=0.6.0 (from pydantic<3.0,>=2.0->-r /tmp/requirements.txt (line 35))
#15 24.14   Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
#15 25.40 Collecting pydantic-core==2.41.5 (from pydantic<3.0,>=2.0->-r /tmp/requirements.txt (line 35))
#15 25.44   Downloading pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl.metadata (7.3 kB)
#15 25.49 Collecting typing-extensions>=4.14.1 (from pydantic<3.0,>=2.0->-r /tmp/requirements.txt (line 35))
#15 25.52   Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
#15 25.55 Collecting typing-inspection>=0.4.2 (from pydantic<3.0,>=2.0->-r /tmp/requirements.txt (line 35))
#15 25.57   Downloading typing_inspection-0.4.2-py3-none-any.whl.metadata (2.6 kB)
#15 25.61 Collecting idna>=2.0 (from yarl<2.0,>=1.17.0->aiohttp->-r /tmp/requirements.txt (line 4))
#15 25.64   Downloading idna-3.11-py3-none-any.whl.metadata (8.4 kB)
#15 25.70 Collecting Click>=6.0 (from openwrt-luci-rpc->-r /tmp/requirements.txt (line 2))
#15 25.73   Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB)
#15 25.74 Requirement already satisfied: packaging>=19.1 in ./opt/venv/lib/python3.12/site-packages (from openwrt-luci-rpc->-r /tmp/requirements.txt (line 2)) (26.0)
#15 25.78 Collecting xmltodict>=0.12.0 (from asusrouter->-r /tmp/requirements.txt (line 3))
#15 25.80   Downloading xmltodict-1.0.2-py3-none-any.whl.metadata (15 kB)
#15 25.89 Collecting graphql-core<3.3,>=3.1 (from graphene->-r /tmp/requirements.txt (line 5))
#15 25.92   Downloading graphql_core-3.2.7-py3-none-any.whl.metadata (11 kB)
#15 25.95 Collecting graphql-relay<3.3,>=3.1 (from graphene->-r /tmp/requirements.txt (line 5))
#15 25.98   Downloading graphql_relay-3.2.0-py3-none-any.whl.metadata (12 kB)
#15 26.01 Collecting python-dateutil<3,>=2.7.0 (from graphene->-r /tmp/requirements.txt (line 5))
#15 26.04   Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
#15 26.09 Collecting blinker>=1.9.0 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.12   Downloading blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)
#15 26.16 Collecting itsdangerous>=2.2.0 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.19   Downloading itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
#15 26.23 Collecting jinja2>=3.1.2 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.26   Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
#15 26.43 Collecting markupsafe>=2.1.1 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.46   Downloading markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (2.7 kB)
#15 26.50 Collecting werkzeug>=3.1.0 (from flask->-r /tmp/requirements.txt (line 6))
#15 26.52   Downloading werkzeug-3.1.5-py3-none-any.whl.metadata (4.0 kB)
#15 26.61 Collecting awesomeversion>=22.9.0 (from tplink-omada-client->-r /tmp/requirements.txt (line 9))
#15 26.64   Downloading awesomeversion-25.8.0-py3-none-any.whl.metadata (9.8 kB)
#15 26.81 Collecting charset_normalizer<4,>=2 (from requests->-r /tmp/requirements.txt (line 12))
#15 26.84   Downloading charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (37 kB)
#15 26.91 Collecting certifi>=2017.4.17 (from requests->-r /tmp/requirements.txt (line 12))
#15 26.93   Downloading certifi-2026.1.4-py3-none-any.whl.metadata (2.5 kB)
#15 26.98 Collecting toml<0.11.0,>=0.10.2 (from librouteros->-r /tmp/requirements.txt (line 24))
#15 27.00   Downloading toml-0.10.2-py2.py3-none-any.whl.metadata (7.1 kB)
#15 27.04 Collecting ifaddr>=0.1.7 (from zeroconf->-r /tmp/requirements.txt (line 26))
#15 27.06   Downloading ifaddr-0.2.0-py3-none-any.whl.metadata (4.9 kB)
#15 27.14 Collecting pyparsing<4,>=3.1 (from httplib2->-r /tmp/requirements.txt (line 31))
#15 27.17   Downloading pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB)
#15 27.22 Collecting anyio>=4.5 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.25   Downloading anyio-4.12.1-py3-none-any.whl.metadata (4.3 kB)
#15 27.31 Collecting httpx-sse>=0.4 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.33   Downloading httpx_sse-0.4.3-py3-none-any.whl.metadata (9.7 kB)
#15 27.39 Collecting httpx>=0.27.1 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.41   Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)
#15 27.48 Collecting jsonschema>=4.20.0 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.51   Downloading jsonschema-4.26.0-py3-none-any.whl.metadata (7.6 kB)
#15 27.57 Collecting pydantic-settings>=2.5.2 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.60   Downloading pydantic_settings-2.12.0-py3-none-any.whl.metadata (3.4 kB)
#15 27.68 Collecting pyjwt>=2.10.1 (from pyjwt[crypto]>=2.10.1->mcp->-r /tmp/requirements.txt (line 34))
#15 27.71   Downloading pyjwt-2.11.0-py3-none-any.whl.metadata (4.0 kB)
#15 27.77 Collecting python-multipart>=0.0.9 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.80   Downloading python_multipart-0.0.22-py3-none-any.whl.metadata (1.8 kB)
#15 27.86 Collecting sse-starlette>=1.6.1 (from mcp->-r /tmp/requirements.txt (line 34))
#15 27.89   Downloading sse_starlette-3.2.0-py3-none-any.whl.metadata (12 kB)
#15 27.98 Collecting starlette>=0.27 (from mcp->-r /tmp/requirements.txt (line 34))
#15 28.01   Downloading starlette-0.52.1-py3-none-any.whl.metadata (6.3 kB)
#15 28.30 Collecting uvicorn>=0.31.1 (from mcp->-r /tmp/requirements.txt (line 34))
#15 28.34   Downloading uvicorn-0.40.0-py3-none-any.whl.metadata (6.7 kB)
#15 28.40 Collecting pycparser (from cffi>=1.12->cryptography<40->-r /tmp/requirements.txt (line 1))
#15 28.42   Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)
#15 28.48 Collecting httpcore==1.* (from httpx>=0.27.1->mcp->-r /tmp/requirements.txt (line 34))
#15 28.51   Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)
#15 28.56 Collecting h11>=0.16 (from httpcore==1.*->httpx>=0.27.1->mcp->-r /tmp/requirements.txt (line 34))
#15 28.59   Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)
#15 28.66 Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=4.20.0->mcp->-r /tmp/requirements.txt (line 34))
#15 28.71   Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB)
#15 28.83 Collecting referencing>=0.28.4 (from jsonschema>=4.20.0->mcp->-r /tmp/requirements.txt (line 34))
#15 28.86   Downloading referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB)
#15 29.67 Collecting rpds-py>=0.25.0 (from jsonschema>=4.20.0->mcp->-r /tmp/requirements.txt (line 34))
#15 29.69   Downloading rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (4.1 kB)
#15 29.74 Collecting python-dotenv>=0.21.0 (from pydantic-settings>=2.5.2->mcp->-r /tmp/requirements.txt (line 34))
#15 29.77   Downloading python_dotenv-1.2.1-py3-none-any.whl.metadata (25 kB)
#15 29.86 Downloading cryptography-39.0.2-cp36-abi3-musllinux_1_1_x86_64.whl (4.3 MB)
#15 29.96    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 52.2 MB/s  0:00:00
#15 29.99 Downloading aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl (1.7 MB)
#15 30.01    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 75.7 MB/s  0:00:00
#15 30.05 Downloading pydantic-2.12.5-py3-none-any.whl (463 kB)
#15 30.10 Downloading pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl (2.3 MB)
#15 30.21    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 20.0 MB/s  0:00:00
#15 30.23 Downloading multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl (251 kB)
#15 30.26 Downloading yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl (374 kB)
#15 30.30 Downloading openwrt_luci_rpc-1.1.17-py2.py3-none-any.whl (9.5 kB)
#15 30.33 Downloading asusrouter-1.21.3-py3-none-any.whl (132 kB)
#15 30.36 Downloading graphene-3.4.3-py2.py3-none-any.whl (114 kB)
#15 30.38 Downloading graphql_core-3.2.7-py3-none-any.whl (207 kB)
#15 30.42 Downloading graphql_relay-3.2.0-py3-none-any.whl (16 kB)
#15 30.44 Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
#15 30.47 Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
#15 30.50 Downloading flask-3.1.2-py3-none-any.whl (103 kB)
#15 30.53 Downloading flask_cors-6.0.2-py3-none-any.whl (13 kB)
#15 30.56 Downloading unifi_sm_api-0.2.1-py3-none-any.whl (16 kB)
#15 30.58 Downloading tplink_omada_client-1.4.4-py3-none-any.whl (46 kB)
#15 30.61 Downloading wakeonlan-3.1.0-py3-none-any.whl (5.0 kB)
#15 30.64 Downloading pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl (2.3 MB)
#15 30.69    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 45.1 MB/s  0:00:00
#15 30.72 Downloading requests-2.32.5-py3-none-any.whl (64 kB)
#15 30.75 Downloading urllib3-2.6.3-py3-none-any.whl (131 kB)
#15 30.78 Downloading charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl (154 kB)
#15 30.82 Downloading idna-3.11-py3-none-any.whl (71 kB)
#15 30.85 Downloading paho_mqtt-2.1.0-py3-none-any.whl (67 kB)
#15 30.88 Downloading scapy-2.7.0-py3-none-any.whl (2.6 MB)
#15 30.91    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.6/2.6 MB 105.0 MB/s  0:00:00
#15 30.95 Downloading cron_converter-1.3.1-py3-none-any.whl (14 kB)
#15 30.97 Downloading pytz-2025.2-py2.py3-none-any.whl (509 kB)
#15 31.01 Downloading json2table-1.1.5-py2.py3-none-any.whl (8.7 kB)
#15 31.04 Downloading dhcp_leases-0.1.6-py3-none-any.whl (11 kB)
#15 31.07 Downloading pyunifi-2.21-py3-none-any.whl (11 kB)
#15 31.11 Downloading speedtest_cli-2.1.3-py2.py3-none-any.whl (23 kB)
#15 31.14 Downloading chardet-5.2.0-py3-none-any.whl (199 kB)
#15 31.17 Downloading dnspython-2.8.0-py3-none-any.whl (331 kB)
#15 31.21 Downloading librouteros-3.4.1-py3-none-any.whl (16 kB)
#15 31.33 Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
#15 31.40 Downloading zeroconf-0.148.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.3 MB)
#15 31.42    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 125.0 MB/s  0:00:00
#15 31.48 Downloading simplejson-3.20.2-cp312-cp312-musllinux_1_2_x86_64.whl (154 kB)
#15 31.51 Downloading future-1.0.0-py3-none-any.whl (491 kB)
#15 31.54 Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
#15 31.55 Downloading httplib2-0.31.2-py3-none-any.whl (91 kB)
#15 31.58 Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB)
#15 31.65 Downloading gunicorn-24.1.1-py3-none-any.whl (114 kB)
#15 31.69 Downloading mcp-1.26.0-py3-none-any.whl (233 kB)
#15 31.72 Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl (15 kB)
#15 31.75 Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)
#15 31.77 Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
#15 31.80 Downloading anyio-4.12.1-py3-none-any.whl (113 kB)
#15 31.83 Downloading attrs-25.4.0-py3-none-any.whl (67 kB)
#15 31.86 Downloading awesomeversion-25.8.0-py3-none-any.whl (15 kB)
#15 31.89 Downloading blinker-1.9.0-py3-none-any.whl (8.5 kB)
#15 31.91 Downloading certifi-2026.1.4-py3-none-any.whl (152 kB)
#15 31.96 Downloading cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (221 kB)
#15 32.02 Downloading click-8.3.1-py3-none-any.whl (108 kB)
#15 32.06 Downloading frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl (239 kB)
#15 32.08 Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
#15 32.12 Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)
#15 32.15 Downloading h11-0.16.0-py3-none-any.whl (37 kB)
#15 32.18 Downloading httpx_sse-0.4.3-py3-none-any.whl (9.0 kB)
#15 32.21 Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
#15 32.23 Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
#15 32.26 Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
#15 32.29 Downloading jsonschema-4.26.0-py3-none-any.whl (90 kB)
#15 32.32 Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)
#15 32.35 Downloading markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl (23 kB)
#15 32.38 Downloading propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl (215 kB)
#15 32.41 Downloading pydantic_settings-2.12.0-py3-none-any.whl (51 kB)
#15 32.44 Downloading pyjwt-2.11.0-py3-none-any.whl (28 kB)
#15 32.49 Downloading python_dotenv-1.2.1-py3-none-any.whl (21 kB)
#15 32.53 Downloading python_multipart-0.0.22-py3-none-any.whl (24 kB)
#15 32.56 Downloading referencing-0.37.0-py3-none-any.whl (26 kB)
#15 32.62 Downloading rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl (563 kB)
#15 32.63    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 563.1/563.1 kB 171.5 MB/s  0:00:00
#15 32.66 Downloading sse_starlette-3.2.0-py3-none-any.whl (12 kB)
#15 32.68 Downloading starlette-0.52.1-py3-none-any.whl (74 kB)
#15 32.71 Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB)
#15 32.75 Downloading uvicorn-0.40.0-py3-none-any.whl (68 kB)
#15 32.78 Downloading werkzeug-3.1.5-py3-none-any.whl (225 kB)
#15 32.81 Downloading xmltodict-1.0.2-py3-none-any.whl (13 kB)
#15 32.84 Downloading pycparser-3.0-py3-none-any.whl (48 kB)
#15 33.15 Building wheels for collected packages: aiofreepybox, python-nmap, yattag
#15 33.16   Building wheel for aiofreepybox (pyproject.toml): started
#15 33.68   Building wheel for aiofreepybox (pyproject.toml): finished with status 'done'
#15 33.68   Created wheel for aiofreepybox: filename=aiofreepybox-6.0.0-py3-none-any.whl size=60051 sha256=25c71405468495eedd44ed5287c37fee69f5d0e43cbb71dbe36dd7ffa12344ec
#15 33.68   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/3c/d3/ae/fb97a84a29a5fbe8517de58d67e66586505440af35981e0dd3
#15 33.69   Building wheel for python-nmap (pyproject.toml): started
#15 34.14   Building wheel for python-nmap (pyproject.toml): finished with status 'done'
#15 34.14   Created wheel for python-nmap: filename=python_nmap-0.7.1-py2.py3-none-any.whl size=20680 sha256=59f070bea8bbcd62045dc3b8259296debbd92b89226dda477eb25b02958cca2f
#15 34.14   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/06/fc/d4/0957e1d9942e696188208772ea0abf909fe6eb3d9dff6e5a9e
#15 34.16   Building wheel for yattag (pyproject.toml): started
#15 34.60   Building wheel for yattag (pyproject.toml): finished with status 'done'
#15 34.61   Created wheel for yattag: filename=yattag-1.16.1-py3-none-any.whl size=15929 sha256=b9b2e919f75c6afa2455fed1ea3fca364b30608d5272d2b1fbbd71db60694f6a
#15 34.61   Stored in directory: /tmp/pip-ephem-wheel-cache-6__331k6/wheels/d2/2f/52/049ff4f7c8c9c932b2ece7ec800d7facf2a141ac5ab0ce7e51
#15 34.61 Successfully built aiofreepybox python-nmap yattag
#15 34.93 Installing collected packages: yattag, speedtest-cli, pytz, python-nmap, json2table, ifaddr, dhcp-leases, zeroconf, xmltodict, wakeonlan, urllib3, typing-extensions, toml, six, simplejson, scapy, rpds-py, python-multipart, python-dotenv, pyparsing, pyjwt, pycryptodome, pycparser, propcache, paho-mqtt, multidict, markupsafe, itsdangerous, idna, httpx-sse, h11, gunicorn, graphql-core, future, frozenlist, dnspython, Click, charset_normalizer, chardet, certifi, blinker, awesomeversion, attrs, annotated-types, aiohappyeyeballs, yarl, werkzeug, uvicorn, typing-inspection, requests, referencing, python-dateutil, pydantic-core, librouteros, jinja2, httplib2, httpcore, graphql-relay, cffi, anyio, aiosignal, unifi-sm-api, starlette, pyunifi, pydantic, openwrt-luci-rpc, jsonschema-specifications, httpx, graphene, flask, cryptography, cron-converter, aiohttp, tplink-omada-client, sse-starlette, pydantic-settings, jsonschema, flask-cors, asusrouter, aiofreepybox, mcp
#15 49.75
#15 49.76 Successfully installed Click-8.3.1 aiofreepybox-6.0.0 aiohappyeyeballs-2.6.1 aiohttp-3.13.3 aiosignal-1.4.0 annotated-types-0.7.0 anyio-4.12.1 asusrouter-1.21.3 attrs-25.4.0 awesomeversion-25.8.0 blinker-1.9.0 certifi-2026.1.4 cffi-2.0.0 chardet-5.2.0 charset_normalizer-3.4.4 cron-converter-1.3.1 cryptography-39.0.2 dhcp-leases-0.1.6 dnspython-2.8.0 flask-3.1.2 flask-cors-6.0.2 frozenlist-1.8.0 future-1.0.0 graphene-3.4.3 graphql-core-3.2.7 graphql-relay-3.2.0 gunicorn-24.1.1 h11-0.16.0 httpcore-1.0.9 httplib2-0.31.2 httpx-0.28.1 httpx-sse-0.4.3 idna-3.11 ifaddr-0.2.0 itsdangerous-2.2.0 jinja2-3.1.6 json2table-1.1.5 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 librouteros-3.4.1 markupsafe-3.0.3 mcp-1.26.0 multidict-6.7.1 openwrt-luci-rpc-1.1.17 paho-mqtt-2.1.0 propcache-0.4.1 pycparser-3.0 pycryptodome-3.23.0 pydantic-2.12.5 pydantic-core-2.41.5 pydantic-settings-2.12.0 pyjwt-2.11.0 pyparsing-3.3.2 python-dateutil-2.9.0.post0 python-dotenv-1.2.1 python-multipart-0.0.22 python-nmap-0.7.1 pytz-2025.2 pyunifi-2.21 referencing-0.37.0 requests-2.32.5 rpds-py-0.30.0 scapy-2.7.0 simplejson-3.20.2 six-1.17.0 speedtest-cli-2.1.3 sse-starlette-3.2.0 starlette-0.52.1 toml-0.10.2 tplink-omada-client-1.4.4 typing-extensions-4.15.0 typing-inspection-0.4.2 unifi-sm-api-0.2.1 urllib3-2.6.3 uvicorn-0.40.0 wakeonlan-3.1.0 werkzeug-3.1.5 xmltodict-1.0.2 yarl-1.22.0 yattag-1.16.1 zeroconf-0.148.0
#15 DONE 52.1s

#16 [netalertx runner  9/10] COPY --from=builder --chown=20212:20212 /opt/venv /opt/venv
#16 DONE 1.7s

#17 [netalertx runner 10/10] RUN for vfile in .VERSION; do         if [ ! -f "/app/${vfile}" ]; then             echo "DEVELOPMENT 00000000" > "/app/${vfile}";         fi;         chown 20212:20212 "/app/${vfile}";     done &&     apk add --no-cache libcap &&     setcap cap_net_raw,cap_net_admin+eip /usr/bin/nmap &&     setcap cap_net_raw,cap_net_admin+eip /usr/bin/arp-scan &&     setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip /usr/bin/nbtscan &&     setcap cap_net_raw,cap_net_admin+eip /usr/bin/traceroute &&     setcap cap_net_raw,cap_net_admin+eip "$(readlink -f /opt/venv/bin/python)" &&     /bin/sh /build/init-nginx.sh &&     /bin/sh /build/init-php-fpm.sh &&     /bin/sh /build/init-cron.sh &&     /bin/sh /build/init-backend.sh &&     rm -rf /build &&     apk del libcap &&     date +%s > "/app/front/buildtimestamp.txt"
#17 0.297 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
#17 0.681 fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
#17 1.343 (1/4) Installing libcap-getcap (2.76-r0)
#17 1.381 (2/4) Installing libcap-setcap (2.76-r0)
#17 1.409 (3/4) Installing libcap-utils (2.76-r0)
#17 1.440 (4/4) Installing libcap (2.76-r0)
#17 1.440 Executing busybox-1.37.0-r20.trigger
#17 1.461 OK: 134 MiB in 118 packages
#17 1.632 Initializing nginx...
#17 1.638 nginx initialized.
#17 1.639 Initializing php-fpm...
#17 1.639 php-fpm initialized.
#17 1.640 Initializing cron...
#17 1.640 cron initialized.
#17 1.641 Initializing backend...
#17 1.641 Backend initialized.
#17 1.652 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/main: No such file or directory
#17 1.652 WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/community: No such file or directory
#17 1.653 (1/4) Purging libcap (2.76-r0)
#17 1.653 (2/4) Purging libcap-utils (2.76-r0)
#17 1.653 (3/4) Purging libcap-getcap (2.76-r0)
#17 1.653 (4/4) Purging libcap-setcap (2.76-r0)
#17 1.653 Executing busybox-1.37.0-r20.trigger
#17 1.658 OK: 133 MiB in 114 packages
#17 DONE 1.7s

#18 [netalertx hardened 1/2] RUN addgroup -g 20212 "readonly" &&     adduser -u 20212 -G "readonly" -D -h /app "readonly"