Starting Docker Compose Tests - Sun Nov 23 15:52:32 UTC 2025 ========================================== File: docker-compose.missing-caps.yml ---------------------------------------- Testing: docker-compose.missing-caps.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations Running docker-compose up... Attaching to netalertx-test-missing-caps netalertx-test-missing-caps exited with code 1 File: docker-compose.readonly.yml ---------------------------------------- Testing: docker-compose.readonly.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations Running docker-compose up... Attaching to netalertx-test-readonly netalertx-test-readonly |  netalertx-test-readonly | _ _ _ ___ _ _ __ __ netalertx-test-readonly | | \ | | | | / _ \| | | | \ \ / / netalertx-test-readonly | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-readonly | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-readonly | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-readonly | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-readonly | netalertx-test-readonly |  Network intruder and presence detector. netalertx-test-readonly | https://netalertx.com netalertx-test-readonly | netalertx-test-readonly | netalertx-test-readonly | Startup pre-checks netalertx-test-readonly | --> storage permission.sh netalertx-test-readonly | --> data migration.sh netalertx-test-readonly | --> mounts.py netalertx-test-readonly | --> first run config.sh netalertx-test-readonly | --> first run db.sh netalertx-test-readonly | --> mandatory folders.sh netalertx-test-readonly | --> writable config.sh netalertx-test-readonly | --> nginx config.sh netalertx-test-readonly | --> user netalertx.sh netalertx-test-readonly | --> host mode network.sh netalertx-test-readonly | --> layer 2 capabilities.sh netalertx-test-readonly | --> excessive capabilities.sh netalertx-test-readonly | --> appliance integrity.sh netalertx-test-readonly | --> ports available.sh netalertx-test-readonly | NETALERTX_DEBUG is set to 1, will not shut down other services if one fails. netalertx-test-readonly | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-readonly | Starting supercronic --debug "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-readonly | php-fpm stopped! (exit 1) netalertx-test-readonly | Supercronic stopped! (exit 1) netalertx-test-readonly | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) File: docker-compose.writable.yml ---------------------------------------- Testing: docker-compose.writable.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations Running docker-compose up... Attaching to netalertx-test-writable netalertx-test-writable |  netalertx-test-writable | _ _ _ ___ _ _ __ __ netalertx-test-writable | | \ | | | | / _ \| | | | \ \ / / netalertx-test-writable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-writable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-writable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-writable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-writable | netalertx-test-writable |  Network intruder and presence detector. netalertx-test-writable | https://netalertx.com netalertx-test-writable | netalertx-test-writable | netalertx-test-writable | Startup pre-checks netalertx-test-writable | --> storage permission.sh netalertx-test-writable | --> data migration.sh netalertx-test-writable | --> mounts.py netalertx-test-writable | --> first run config.sh netalertx-test-writable | --> first run db.sh netalertx-test-writable | --> mandatory folders.sh netalertx-test-writable | * Creating NetAlertX log directory. netalertx-test-writable | * Creating NetAlertX API cache. netalertx-test-writable | * Creating System services runtime directory. netalertx-test-writable | * Creating nginx active configuration directory. netalertx-test-writable | * Creating Plugins log. netalertx-test-writable | * Creating System services run log. netalertx-test-writable | * Creating System services run tmp. netalertx-test-writable | * Creating DB locked log. netalertx-test-writable | * Creating Execution queue log. netalertx-test-writable | --> writable config.sh netalertx-test-writable | --> nginx config.sh netalertx-test-writable | --> user netalertx.sh netalertx-test-writable | --> host mode network.sh netalertx-test-writable | --> layer 2 capabilities.sh netalertx-test-writable | --> excessive capabilities.sh netalertx-test-writable | --> appliance integrity.sh netalertx-test-writable | --> ports available.sh netalertx-test-writable | NETALERTX_DEBUG is set to 1, will not shut down other services if one fails. netalertx-test-writable | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-writable | Starting supercronic --debug "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-writable | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-writable | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.active_config_mounted.yml ---------------------------------------- Expected outcome: Container starts successfully with proper nginx config mount - SYSTEM_SERVICES_ACTIVE_CONFIG shows as writable and mounted - No configuration warnings for nginx config path - Custom PORT configuration should work when nginx config is writable Testing: docker-compose.mount-test.active_config_mounted.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-active_config_mounted netalertx-test-mount-active_config_mounted |  netalertx-test-mount-active_config_mounted | _ _ _ ___ _ _ __ __ netalertx-test-mount-active_config_mounted | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-active_config_mounted | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-active_config_mounted | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-active_config_mounted | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-active_config_mounted | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-active_config_mounted | netalertx-test-mount-active_config_mounted |  Network intruder and presence detector. netalertx-test-mount-active_config_mounted | https://netalertx.com netalertx-test-mount-active_config_mounted | netalertx-test-mount-active_config_mounted | netalertx-test-mount-active_config_mounted | Startup pre-checks netalertx-test-mount-active_config_mounted | --> storage permission.sh netalertx-test-mount-active_config_mounted | --> data migration.sh netalertx-test-mount-active_config_mounted | --> mounts.py netalertx-test-mount-active_config_mounted | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-active_config_mounted | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-active_config_mounted | /data | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_mounted | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_mounted | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_mounted | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_mounted | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_mounted | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_mounted | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_mounted | /tmp/nginx/active-config | ✅ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-active_config_mounted | --> first run config.sh netalertx-test-mount-active_config_mounted | --> first run db.sh netalertx-test-mount-active_config_mounted | --> mandatory folders.sh netalertx-test-mount-active_config_mounted | * Creating NetAlertX log directory. netalertx-test-mount-active_config_mounted | * Creating NetAlertX API cache. netalertx-test-mount-active_config_mounted | * Creating System services runtime directory. netalertx-test-mount-active_config_mounted | * Creating Plugins log. netalertx-test-mount-active_config_mounted | * Creating System services run log. netalertx-test-mount-active_config_mounted | * Creating System services run tmp. netalertx-test-mount-active_config_mounted | * Creating DB locked log. netalertx-test-mount-active_config_mounted | * Creating Execution queue log. netalertx-test-mount-active_config_mounted | --> writable config.sh netalertx-test-mount-active_config_mounted | --> nginx config.sh netalertx-test-mount-active_config_mounted | --> user netalertx.sh netalertx-test-mount-active_config_mounted | --> host mode network.sh netalertx-test-mount-active_config_mounted | --> layer 2 capabilities.sh netalertx-test-mount-active_config_mounted | --> excessive capabilities.sh netalertx-test-mount-active_config_mounted | --> appliance integrity.sh netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-active_config_mounted | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-active_config_mounted | netalertx-test-mount-active_config_mounted | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-active_config_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-active_config_mounted | --> ports available.sh netalertx-test-mount-active_config_mounted | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-active_config_mounted | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-active_config_mounted | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-active_config_mounted | Service nginx exited with status 1. netalertx-test-mount-active_config_mounted | Supercronic stopped! (exit 143) netalertx-test-mount-active_config_mounted | php-fpm stopped! (exit 143) netalertx-test-mount-active_config_mounted | All services stopped. netalertx-test-mount-active_config_mounted exited with code 1 File: docker-compose.mount-test.active_config_no-mount.yml ---------------------------------------- Expected outcome: Container shows warning about missing nginx config mount - SYSTEM_SERVICES_ACTIVE_CONFIG shows as not mounted - Warning message about nginx configuration mount being missing - Custom PORT configuration may not work properly Testing: docker-compose.mount-test.active_config_no-mount.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-active_config_no-mount netalertx-test-mount-active_config_no-mount |  netalertx-test-mount-active_config_no-mount | _ _ _ ___ _ _ __ __ netalertx-test-mount-active_config_no-mount | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-active_config_no-mount | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-active_config_no-mount | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-active_config_no-mount | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-active_config_no-mount | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-active_config_no-mount | netalertx-test-mount-active_config_no-mount |  Network intruder and presence detector. netalertx-test-mount-active_config_no-mount | https://netalertx.com netalertx-test-mount-active_config_no-mount | netalertx-test-mount-active_config_no-mount | netalertx-test-mount-active_config_no-mount | Startup pre-checks netalertx-test-mount-active_config_no-mount | --> storage permission.sh netalertx-test-mount-active_config_no-mount | --> data migration.sh netalertx-test-mount-active_config_no-mount | --> mounts.py netalertx-test-mount-active_config_no-mount | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-active_config_no-mount | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-active_config_no-mount | /data | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_no-mount | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_no-mount | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_no-mount | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_no-mount | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_no-mount | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_no-mount | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_no-mount | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_no-mount | --> first run config.sh netalertx-test-mount-active_config_no-mount | --> first run db.sh netalertx-test-mount-active_config_no-mount | --> mandatory folders.sh netalertx-test-mount-active_config_no-mount | * Creating NetAlertX log directory. netalertx-test-mount-active_config_no-mount | * Creating NetAlertX API cache. netalertx-test-mount-active_config_no-mount | * Creating System services runtime directory. netalertx-test-mount-active_config_no-mount | * Creating nginx active configuration directory. netalertx-test-mount-active_config_no-mount | * Creating Plugins log. netalertx-test-mount-active_config_no-mount | * Creating System services run log. netalertx-test-mount-active_config_no-mount | * Creating System services run tmp. netalertx-test-mount-active_config_no-mount | * Creating DB locked log. netalertx-test-mount-active_config_no-mount | * Creating Execution queue log. netalertx-test-mount-active_config_no-mount | --> writable config.sh netalertx-test-mount-active_config_no-mount | --> nginx config.sh netalertx-test-mount-active_config_no-mount | --> user netalertx.sh netalertx-test-mount-active_config_no-mount | --> host mode network.sh netalertx-test-mount-active_config_no-mount | --> layer 2 capabilities.sh netalertx-test-mount-active_config_no-mount | --> excessive capabilities.sh netalertx-test-mount-active_config_no-mount | --> appliance integrity.sh netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-active_config_no-mount | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-active_config_no-mount | netalertx-test-mount-active_config_no-mount | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-active_config_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-active_config_no-mount | --> ports available.sh netalertx-test-mount-active_config_no-mount | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-active_config_no-mount | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-active_config_no-mount | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-active_config_no-mount | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.active_config_ramdisk.yml ---------------------------------------- Expected outcome: Container shows performance warning for nginx config on RAM disk - SYSTEM_SERVICES_ACTIVE_CONFIG shows as mounted on tmpfs (RAM disk) - Performance issue warning since nginx config should be persistent - Custom PORT configuration may have performance implications Testing: docker-compose.mount-test.active_config_ramdisk.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-active_config_ramdisk netalertx-test-mount-active_config_ramdisk |  netalertx-test-mount-active_config_ramdisk | _ _ _ ___ _ _ __ __ netalertx-test-mount-active_config_ramdisk | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-active_config_ramdisk | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-active_config_ramdisk | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-active_config_ramdisk | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-active_config_ramdisk | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-active_config_ramdisk | netalertx-test-mount-active_config_ramdisk |  Network intruder and presence detector. netalertx-test-mount-active_config_ramdisk | https://netalertx.com netalertx-test-mount-active_config_ramdisk | netalertx-test-mount-active_config_ramdisk | netalertx-test-mount-active_config_ramdisk | Startup pre-checks netalertx-test-mount-active_config_ramdisk | --> storage permission.sh netalertx-test-mount-active_config_ramdisk | --> data migration.sh netalertx-test-mount-active_config_ramdisk | --> mounts.py netalertx-test-mount-active_config_ramdisk | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-active_config_ramdisk | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-active_config_ramdisk | /data | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_ramdisk | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_ramdisk | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_ramdisk | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_ramdisk | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_ramdisk | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_ramdisk | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_ramdisk | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_ramdisk | --> first run config.sh netalertx-test-mount-active_config_ramdisk | --> first run db.sh netalertx-test-mount-active_config_ramdisk | --> mandatory folders.sh netalertx-test-mount-active_config_ramdisk | * Creating NetAlertX log directory. netalertx-test-mount-active_config_ramdisk | * Creating NetAlertX API cache. netalertx-test-mount-active_config_ramdisk | * Creating System services runtime directory. netalertx-test-mount-active_config_ramdisk | * Creating nginx active configuration directory. netalertx-test-mount-active_config_ramdisk | * Creating Plugins log. netalertx-test-mount-active_config_ramdisk | * Creating System services run log. netalertx-test-mount-active_config_ramdisk | * Creating System services run tmp. netalertx-test-mount-active_config_ramdisk | * Creating DB locked log. netalertx-test-mount-active_config_ramdisk | * Creating Execution queue log. netalertx-test-mount-active_config_ramdisk | --> writable config.sh netalertx-test-mount-active_config_ramdisk | --> nginx config.sh netalertx-test-mount-active_config_ramdisk | --> user netalertx.sh netalertx-test-mount-active_config_ramdisk | --> host mode network.sh netalertx-test-mount-active_config_ramdisk | --> layer 2 capabilities.sh netalertx-test-mount-active_config_ramdisk | --> excessive capabilities.sh netalertx-test-mount-active_config_ramdisk | --> appliance integrity.sh netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-active_config_ramdisk | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-active_config_ramdisk | netalertx-test-mount-active_config_ramdisk | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-active_config_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-active_config_ramdisk | --> ports available.sh netalertx-test-mount-active_config_ramdisk | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-active_config_ramdisk | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-active_config_ramdisk | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-active_config_ramdisk | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.active_config_unwritable.yml ---------------------------------------- Expected outcome: Container fails to start due to unwritable nginx config partition - SYSTEM_SERVICES_ACTIVE_CONFIG shows as mounted but unwritable (❌ in Writeable column) - 35-nginx-config.sh detects permission error and exits with code 1 - Container startup fails because nginx configuration cannot be written for custom ports Testing: docker-compose.mount-test.active_config_unwritable.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-active_config_unwritable netalertx-test-mount-active_config_unwritable |  netalertx-test-mount-active_config_unwritable | _ _ _ ___ _ _ __ __ netalertx-test-mount-active_config_unwritable | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-active_config_unwritable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-active_config_unwritable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-active_config_unwritable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-active_config_unwritable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-active_config_unwritable | netalertx-test-mount-active_config_unwritable |  Network intruder and presence detector. netalertx-test-mount-active_config_unwritable | https://netalertx.com netalertx-test-mount-active_config_unwritable | netalertx-test-mount-active_config_unwritable | netalertx-test-mount-active_config_unwritable | Startup pre-checks netalertx-test-mount-active_config_unwritable | --> storage permission.sh netalertx-test-mount-active_config_unwritable | --> data migration.sh netalertx-test-mount-active_config_unwritable | --> mounts.py netalertx-test-mount-active_config_unwritable | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-active_config_unwritable | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-active_config_unwritable | /data | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_unwritable | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_unwritable | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-active_config_unwritable | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_unwritable | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_unwritable | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_unwritable | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-active_config_unwritable | /tmp/nginx/active-config | ❌ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-active_config_unwritable | --> first run config.sh netalertx-test-mount-active_config_unwritable | --> first run db.sh netalertx-test-mount-active_config_unwritable | --> mandatory folders.sh netalertx-test-mount-active_config_unwritable | * Creating NetAlertX log directory. netalertx-test-mount-active_config_unwritable | * Creating NetAlertX API cache. netalertx-test-mount-active_config_unwritable | * Creating System services runtime directory. netalertx-test-mount-active_config_unwritable | * Creating Plugins log. netalertx-test-mount-active_config_unwritable | * Creating System services run log. netalertx-test-mount-active_config_unwritable | * Creating System services run tmp. netalertx-test-mount-active_config_unwritable | * Creating DB locked log. netalertx-test-mount-active_config_unwritable | * Creating Execution queue log. netalertx-test-mount-active_config_unwritable | --> writable config.sh netalertx-test-mount-active_config_unwritable | --> nginx config.sh netalertx-test-mount-active_config_unwritable exited with code 1 File: docker-compose.mount-test.api_mounted.yml ---------------------------------------- Expected outcome: Container starts successfully with proper API mount - NETALERTX_API shows as writable and mounted - No configuration warnings for API path - API data persistence works correctly Testing: docker-compose.mount-test.api_mounted.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-api_mounted netalertx-test-mount-api_mounted |  netalertx-test-mount-api_mounted | _ _ _ ___ _ _ __ __ netalertx-test-mount-api_mounted | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-api_mounted | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-api_mounted | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-api_mounted | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-api_mounted | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-api_mounted | netalertx-test-mount-api_mounted |  Network intruder and presence detector. netalertx-test-mount-api_mounted | https://netalertx.com netalertx-test-mount-api_mounted | netalertx-test-mount-api_mounted | netalertx-test-mount-api_mounted | Startup pre-checks netalertx-test-mount-api_mounted | --> storage permission.sh netalertx-test-mount-api_mounted | --> data migration.sh netalertx-test-mount-api_mounted | --> mounts.py netalertx-test-mount-api_mounted | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-api_mounted | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-api_mounted | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-api_mounted | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-api_mounted | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_mounted | /tmp/api | ✅ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-api_mounted | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_mounted | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_mounted | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_mounted | --> first run config.sh netalertx-test-mount-api_mounted | --> first run db.sh netalertx-test-mount-api_mounted | --> mandatory folders.sh netalertx-test-mount-api_mounted | * Creating Plugins log. netalertx-test-mount-api_mounted | * Creating System services run log. netalertx-test-mount-api_mounted | * Creating System services run tmp. netalertx-test-mount-api_mounted | * Creating DB locked log. netalertx-test-mount-api_mounted | * Creating Execution queue log. netalertx-test-mount-api_mounted | --> writable config.sh netalertx-test-mount-api_mounted | --> nginx config.sh netalertx-test-mount-api_mounted | --> user netalertx.sh netalertx-test-mount-api_mounted | --> host mode network.sh netalertx-test-mount-api_mounted | --> layer 2 capabilities.sh netalertx-test-mount-api_mounted | --> excessive capabilities.sh netalertx-test-mount-api_mounted | --> appliance integrity.sh netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-api_mounted | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-api_mounted | netalertx-test-mount-api_mounted | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-api_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-api_mounted | --> ports available.sh netalertx-test-mount-api_mounted | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-api_mounted | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-api_mounted | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-api_mounted | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.api_no-mount.yml ---------------------------------------- Expected outcome: Container shows mount error for API directory - NETALERTX_API shows as not mounted - Mount error since API directory should be mounted for proper operation - API functionality may be limited Testing: docker-compose.mount-test.api_no-mount.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-api_no-mount netalertx-test-mount-api_no-mount |  netalertx-test-mount-api_no-mount | _ _ _ ___ _ _ __ __ netalertx-test-mount-api_no-mount | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-api_no-mount | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-api_no-mount | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-api_no-mount | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-api_no-mount | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-api_no-mount | netalertx-test-mount-api_no-mount |  Network intruder and presence detector. netalertx-test-mount-api_no-mount | https://netalertx.com netalertx-test-mount-api_no-mount | netalertx-test-mount-api_no-mount | netalertx-test-mount-api_no-mount | Startup pre-checks netalertx-test-mount-api_no-mount | --> storage permission.sh netalertx-test-mount-api_no-mount | --> data migration.sh netalertx-test-mount-api_no-mount | --> mounts.py netalertx-test-mount-api_no-mount | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-api_no-mount | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-api_no-mount | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-api_no-mount | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-api_no-mount | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_no-mount | /tmp/api | ✅ | ❌ | ❌ | ❌ | ✅ netalertx-test-mount-api_no-mount | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_no-mount | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_no-mount | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_no-mount | --> first run config.sh netalertx-test-mount-api_no-mount | --> first run db.sh netalertx-test-mount-api_no-mount | --> mandatory folders.sh netalertx-test-mount-api_no-mount | * Creating Plugins log. netalertx-test-mount-api_no-mount | * Creating System services run log. netalertx-test-mount-api_no-mount | * Creating System services run tmp. netalertx-test-mount-api_no-mount | * Creating DB locked log. netalertx-test-mount-api_no-mount | * Creating Execution queue log. netalertx-test-mount-api_no-mount | --> writable config.sh netalertx-test-mount-api_no-mount | --> nginx config.sh netalertx-test-mount-api_no-mount | --> user netalertx.sh netalertx-test-mount-api_no-mount | --> host mode network.sh netalertx-test-mount-api_no-mount | --> layer 2 capabilities.sh netalertx-test-mount-api_no-mount | --> excessive capabilities.sh netalertx-test-mount-api_no-mount | --> appliance integrity.sh netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-api_no-mount | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-api_no-mount | netalertx-test-mount-api_no-mount | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-api_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-api_no-mount | --> ports available.sh netalertx-test-mount-api_no-mount | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-api_no-mount | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-api_no-mount | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-api_no-mount | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.api_ramdisk.yml ---------------------------------------- Expected outcome: Container shows performance warning for API on RAM disk - NETALERTX_API shows as mounted on tmpfs (RAM disk) - Performance issue warning since API data should be on persistent storage - API data will be lost on container restart Testing: docker-compose.mount-test.api_ramdisk.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-api_ramdisk netalertx-test-mount-api_ramdisk |  netalertx-test-mount-api_ramdisk | _ _ _ ___ _ _ __ __ netalertx-test-mount-api_ramdisk | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-api_ramdisk | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-api_ramdisk | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-api_ramdisk | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-api_ramdisk | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-api_ramdisk | netalertx-test-mount-api_ramdisk |  Network intruder and presence detector. netalertx-test-mount-api_ramdisk | https://netalertx.com netalertx-test-mount-api_ramdisk | netalertx-test-mount-api_ramdisk | netalertx-test-mount-api_ramdisk | Startup pre-checks netalertx-test-mount-api_ramdisk | --> storage permission.sh netalertx-test-mount-api_ramdisk | --> data migration.sh netalertx-test-mount-api_ramdisk | --> mounts.py netalertx-test-mount-api_ramdisk | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-api_ramdisk | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-api_ramdisk | /data | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-api_ramdisk | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-api_ramdisk | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-api_ramdisk | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_ramdisk | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_ramdisk | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_ramdisk | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_ramdisk | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_ramdisk | --> first run config.sh netalertx-test-mount-api_ramdisk | --> first run db.sh netalertx-test-mount-api_ramdisk | --> mandatory folders.sh netalertx-test-mount-api_ramdisk | * Creating NetAlertX log directory. netalertx-test-mount-api_ramdisk | * Creating NetAlertX API cache. netalertx-test-mount-api_ramdisk | * Creating System services runtime directory. netalertx-test-mount-api_ramdisk | * Creating nginx active configuration directory. netalertx-test-mount-api_ramdisk | * Creating Plugins log. netalertx-test-mount-api_ramdisk | * Creating System services run log. netalertx-test-mount-api_ramdisk | * Creating System services run tmp. netalertx-test-mount-api_ramdisk | * Creating DB locked log. netalertx-test-mount-api_ramdisk | * Creating Execution queue log. netalertx-test-mount-api_ramdisk | --> writable config.sh netalertx-test-mount-api_ramdisk | --> nginx config.sh netalertx-test-mount-api_ramdisk | --> user netalertx.sh netalertx-test-mount-api_ramdisk | --> host mode network.sh netalertx-test-mount-api_ramdisk | --> layer 2 capabilities.sh netalertx-test-mount-api_ramdisk | --> excessive capabilities.sh netalertx-test-mount-api_ramdisk | --> appliance integrity.sh netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-api_ramdisk | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-api_ramdisk | netalertx-test-mount-api_ramdisk | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-api_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-api_ramdisk | --> ports available.sh netalertx-test-mount-api_ramdisk | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-api_ramdisk | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-api_ramdisk | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-api_ramdisk | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.api_unwritable.yml ---------------------------------------- Expected outcome: Container fails to start due to unwritable API partition - NETALERTX_API shows as mounted but unwritable (❌ in Writeable column) - API directory must be writable for proper operation - Container startup fails because API functionality cannot work without write access Testing: docker-compose.mount-test.api_unwritable.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-api_unwritable netalertx-test-mount-api_unwritable |  netalertx-test-mount-api_unwritable | _ _ _ ___ _ _ __ __ netalertx-test-mount-api_unwritable | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-api_unwritable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-api_unwritable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-api_unwritable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-api_unwritable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-api_unwritable | netalertx-test-mount-api_unwritable |  Network intruder and presence detector. netalertx-test-mount-api_unwritable | https://netalertx.com netalertx-test-mount-api_unwritable | netalertx-test-mount-api_unwritable | netalertx-test-mount-api_unwritable | Startup pre-checks netalertx-test-mount-api_unwritable | --> storage permission.sh netalertx-test-mount-api_unwritable | --> data migration.sh netalertx-test-mount-api_unwritable | --> mounts.py netalertx-test-mount-api_unwritable | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-api_unwritable | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-api_unwritable | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-api_unwritable | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-api_unwritable | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_unwritable | /tmp/api | ❌ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-api_unwritable | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_unwritable | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_unwritable | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-api_unwritable exited with code 1 File: docker-compose.mount-test.config_mounted.yml ---------------------------------------- Expected outcome: Container starts successfully with proper config mount - NETALERTX_CONFIG shows as writable and mounted - No configuration warnings for config path - Configuration persistence works correctly Testing: docker-compose.mount-test.config_mounted.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-config_mounted netalertx-test-mount-config_mounted |  netalertx-test-mount-config_mounted | _ _ _ ___ _ _ __ __ netalertx-test-mount-config_mounted | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-config_mounted | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-config_mounted | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-config_mounted | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-config_mounted | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-config_mounted | netalertx-test-mount-config_mounted |  Network intruder and presence detector. netalertx-test-mount-config_mounted | https://netalertx.com netalertx-test-mount-config_mounted | netalertx-test-mount-config_mounted | netalertx-test-mount-config_mounted | Startup pre-checks netalertx-test-mount-config_mounted | --> storage permission.sh netalertx-test-mount-config_mounted | --> data migration.sh netalertx-test-mount-config_mounted | --> mounts.py netalertx-test-mount-config_mounted | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-config_mounted | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-config_mounted | /data | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-config_mounted | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-config_mounted | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-config_mounted | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_mounted | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_mounted | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_mounted | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_mounted | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_mounted | --> first run config.sh netalertx-test-mount-config_mounted | --> first run db.sh netalertx-test-mount-config_mounted | --> mandatory folders.sh netalertx-test-mount-config_mounted | * Creating NetAlertX log directory. netalertx-test-mount-config_mounted | * Creating NetAlertX API cache. netalertx-test-mount-config_mounted | * Creating System services runtime directory. netalertx-test-mount-config_mounted | * Creating nginx active configuration directory. netalertx-test-mount-config_mounted | * Creating Plugins log. netalertx-test-mount-config_mounted | * Creating System services run log. netalertx-test-mount-config_mounted | * Creating System services run tmp. netalertx-test-mount-config_mounted | * Creating DB locked log. netalertx-test-mount-config_mounted | * Creating Execution queue log. netalertx-test-mount-config_mounted | --> writable config.sh netalertx-test-mount-config_mounted | --> nginx config.sh netalertx-test-mount-config_mounted | --> user netalertx.sh netalertx-test-mount-config_mounted | --> host mode network.sh netalertx-test-mount-config_mounted | --> layer 2 capabilities.sh netalertx-test-mount-config_mounted | --> excessive capabilities.sh netalertx-test-mount-config_mounted | --> appliance integrity.sh netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-config_mounted | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-config_mounted | netalertx-test-mount-config_mounted | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-config_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-config_mounted | --> ports available.sh netalertx-test-mount-config_mounted | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-config_mounted | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-config_mounted | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-config_mounted | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.config_no-mount.yml ---------------------------------------- Expected outcome: Container shows mount error for config directory - NETALERTX_CONFIG shows as not mounted - Mount error since config directory should be mounted for proper operation - Configuration may not persist across restarts Testing: docker-compose.mount-test.config_no-mount.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-config_no-mount netalertx-test-mount-config_no-mount |  netalertx-test-mount-config_no-mount | _ _ _ ___ _ _ __ __ netalertx-test-mount-config_no-mount | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-config_no-mount | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-config_no-mount | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-config_no-mount | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-config_no-mount | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-config_no-mount | netalertx-test-mount-config_no-mount |  Network intruder and presence detector. netalertx-test-mount-config_no-mount | https://netalertx.com netalertx-test-mount-config_no-mount | netalertx-test-mount-config_no-mount | netalertx-test-mount-config_no-mount | Startup pre-checks netalertx-test-mount-config_no-mount | --> storage permission.sh netalertx-test-mount-config_no-mount | --> data migration.sh netalertx-test-mount-config_no-mount | --> mounts.py netalertx-test-mount-config_no-mount | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-config_no-mount | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-config_no-mount | /data | ✅ | ❌ | ➖ | ➖ | ❌ netalertx-test-mount-config_no-mount | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-config_no-mount | /data/config | ✅ | ❌ | ➖ | ➖ | ❌ netalertx-test-mount-config_no-mount | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_no-mount | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_no-mount | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_no-mount | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_no-mount | --> first run config.sh netalertx-test-mount-config_no-mount | --> first run db.sh netalertx-test-mount-config_no-mount | --> mandatory folders.sh netalertx-test-mount-config_no-mount | * Creating Plugins log. netalertx-test-mount-config_no-mount | * Creating System services run log. netalertx-test-mount-config_no-mount | * Creating System services run tmp. netalertx-test-mount-config_no-mount | * Creating DB locked log. netalertx-test-mount-config_no-mount | * Creating Execution queue log. netalertx-test-mount-config_no-mount | --> writable config.sh netalertx-test-mount-config_no-mount | --> nginx config.sh netalertx-test-mount-config_no-mount | --> user netalertx.sh netalertx-test-mount-config_no-mount | --> host mode network.sh netalertx-test-mount-config_no-mount | --> layer 2 capabilities.sh netalertx-test-mount-config_no-mount | --> excessive capabilities.sh netalertx-test-mount-config_no-mount | --> appliance integrity.sh netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-config_no-mount | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-config_no-mount | netalertx-test-mount-config_no-mount | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-config_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-config_no-mount | --> ports available.sh netalertx-test-mount-config_no-mount | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-config_no-mount | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-config_no-mount | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-config_no-mount | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.config_ramdisk.yml ---------------------------------------- Expected outcome: Container shows dataloss risk warning for config on RAM disk - NETALERTX_CONFIG shows as mounted on tmpfs (RAM disk) - Dataloss risk warning since config data should be persistent - Configuration will be lost on container restart Testing: docker-compose.mount-test.config_ramdisk.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-config_ramdisk netalertx-test-mount-config_ramdisk |  netalertx-test-mount-config_ramdisk | _ _ _ ___ _ _ __ __ netalertx-test-mount-config_ramdisk | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-config_ramdisk | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-config_ramdisk | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-config_ramdisk | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-config_ramdisk | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-config_ramdisk | netalertx-test-mount-config_ramdisk |  Network intruder and presence detector. netalertx-test-mount-config_ramdisk | https://netalertx.com netalertx-test-mount-config_ramdisk | netalertx-test-mount-config_ramdisk | netalertx-test-mount-config_ramdisk | Startup pre-checks netalertx-test-mount-config_ramdisk | --> storage permission.sh netalertx-test-mount-config_ramdisk | --> data migration.sh netalertx-test-mount-config_ramdisk | --> mounts.py netalertx-test-mount-config_ramdisk | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-config_ramdisk | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-config_ramdisk | /data | ✅ | ❌ | ➖ | ➖ | ❌ netalertx-test-mount-config_ramdisk | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-config_ramdisk | /data/config | ✅ | ✅ | ❌ | ➖ | ❌ netalertx-test-mount-config_ramdisk | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_ramdisk | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_ramdisk | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_ramdisk | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_ramdisk | --> first run config.sh netalertx-test-mount-config_ramdisk | --> first run db.sh netalertx-test-mount-config_ramdisk | --> mandatory folders.sh netalertx-test-mount-config_ramdisk | * Creating Plugins log. netalertx-test-mount-config_ramdisk | * Creating System services run log. netalertx-test-mount-config_ramdisk | * Creating System services run tmp. netalertx-test-mount-config_ramdisk | * Creating DB locked log. netalertx-test-mount-config_ramdisk | * Creating Execution queue log. netalertx-test-mount-config_ramdisk | --> writable config.sh netalertx-test-mount-config_ramdisk exited with code 1 File: docker-compose.mount-test.config_unwritable.yml ---------------------------------------- Expected outcome: Container fails to start due to unwritable config partition - NETALERTX_CONFIG shows as mounted but unwritable (❌ in Writeable column) - 30-writable-config.sh detects permission error and exits with code 1 - Container startup fails because config files cannot be written to Testing: docker-compose.mount-test.config_unwritable.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-config_unwritable netalertx-test-mount-config_unwritable |  netalertx-test-mount-config_unwritable | _ _ _ ___ _ _ __ __ netalertx-test-mount-config_unwritable | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-config_unwritable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-config_unwritable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-config_unwritable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-config_unwritable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-config_unwritable | netalertx-test-mount-config_unwritable |  Network intruder and presence detector. netalertx-test-mount-config_unwritable | https://netalertx.com netalertx-test-mount-config_unwritable | netalertx-test-mount-config_unwritable | netalertx-test-mount-config_unwritable | Startup pre-checks netalertx-test-mount-config_unwritable | --> storage permission.sh netalertx-test-mount-config_unwritable | --> data migration.sh netalertx-test-mount-config_unwritable | --> mounts.py netalertx-test-mount-config_unwritable | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-config_unwritable | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-config_unwritable | /data | ✅ | ❌ | ➖ | ➖ | ❌ netalertx-test-mount-config_unwritable | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-config_unwritable | /data/config | ❌ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-config_unwritable | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_unwritable | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_unwritable | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_unwritable | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-config_unwritable exited with code 1 File: docker-compose.mount-test.db_mounted.yml ---------------------------------------- Expected outcome: Container starts successfully with proper database mount - NETALERTX_DB shows as writable and mounted - No configuration warnings for database path - Database persistence works correctly Testing: docker-compose.mount-test.db_mounted.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-db_mounted netalertx-test-mount-db_mounted |  netalertx-test-mount-db_mounted | _ _ _ ___ _ _ __ __ netalertx-test-mount-db_mounted | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-db_mounted | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-db_mounted | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-db_mounted | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-db_mounted | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-db_mounted | netalertx-test-mount-db_mounted |  Network intruder and presence detector. netalertx-test-mount-db_mounted | https://netalertx.com netalertx-test-mount-db_mounted | netalertx-test-mount-db_mounted | netalertx-test-mount-db_mounted | Startup pre-checks netalertx-test-mount-db_mounted | --> storage permission.sh netalertx-test-mount-db_mounted | --> data migration.sh netalertx-test-mount-db_mounted | --> mounts.py netalertx-test-mount-db_mounted | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-db_mounted | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-db_mounted | /data | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-db_mounted | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-db_mounted | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-db_mounted | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_mounted | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_mounted | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_mounted | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_mounted | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_mounted | --> first run config.sh netalertx-test-mount-db_mounted | --> first run db.sh netalertx-test-mount-db_mounted | --> mandatory folders.sh netalertx-test-mount-db_mounted | * Creating NetAlertX log directory. netalertx-test-mount-db_mounted | * Creating NetAlertX API cache. netalertx-test-mount-db_mounted | * Creating System services runtime directory. netalertx-test-mount-db_mounted | * Creating nginx active configuration directory. netalertx-test-mount-db_mounted | * Creating Plugins log. netalertx-test-mount-db_mounted | * Creating System services run log. netalertx-test-mount-db_mounted | * Creating System services run tmp. netalertx-test-mount-db_mounted | * Creating DB locked log. netalertx-test-mount-db_mounted | * Creating Execution queue log. netalertx-test-mount-db_mounted | --> writable config.sh netalertx-test-mount-db_mounted | --> nginx config.sh netalertx-test-mount-db_mounted | --> user netalertx.sh netalertx-test-mount-db_mounted | --> host mode network.sh netalertx-test-mount-db_mounted | --> layer 2 capabilities.sh netalertx-test-mount-db_mounted | --> excessive capabilities.sh netalertx-test-mount-db_mounted | --> appliance integrity.sh netalertx-test-mount-db_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-db_mounted | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-db_mounted | netalertx-test-mount-db_mounted | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-db_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-db_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-db_mounted | --> ports available.sh netalertx-test-mount-db_mounted | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-db_mounted | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-db_mounted | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-db_mounted | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.db_no-mount.yml ---------------------------------------- Expected outcome: Container shows mount error warning but continues running - NETALERTX_DB shows as not mounted (❌ in Mount column) but path gets created - Warning message displayed about configuration issues - Container continues because database directory can be created in writable filesystem Testing: docker-compose.mount-test.db_no-mount.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-db_no-mount netalertx-test-mount-db_no-mount |  netalertx-test-mount-db_no-mount | _ _ _ ___ _ _ __ __ netalertx-test-mount-db_no-mount | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-db_no-mount | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-db_no-mount | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-db_no-mount | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-db_no-mount | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-db_no-mount | netalertx-test-mount-db_no-mount |  Network intruder and presence detector. netalertx-test-mount-db_no-mount | https://netalertx.com netalertx-test-mount-db_no-mount | netalertx-test-mount-db_no-mount | netalertx-test-mount-db_no-mount | Startup pre-checks netalertx-test-mount-db_no-mount | --> storage permission.sh netalertx-test-mount-db_no-mount | --> data migration.sh netalertx-test-mount-db_no-mount | --> mounts.py netalertx-test-mount-db_no-mount | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-db_no-mount | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-db_no-mount | /data | ✅ | ❌ | ➖ | ➖ | ❌ netalertx-test-mount-db_no-mount | /data/db | ✅ | ❌ | ➖ | ➖ | ❌ netalertx-test-mount-db_no-mount | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-db_no-mount | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_no-mount | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_no-mount | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_no-mount | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_no-mount | --> first run config.sh netalertx-test-mount-db_no-mount | --> first run db.sh netalertx-test-mount-db_no-mount | --> mandatory folders.sh netalertx-test-mount-db_no-mount | * Creating Plugins log. netalertx-test-mount-db_no-mount | * Creating System services run log. netalertx-test-mount-db_no-mount | * Creating System services run tmp. netalertx-test-mount-db_no-mount | * Creating DB locked log. netalertx-test-mount-db_no-mount | * Creating Execution queue log. netalertx-test-mount-db_no-mount | --> writable config.sh netalertx-test-mount-db_no-mount | --> nginx config.sh netalertx-test-mount-db_no-mount | --> user netalertx.sh netalertx-test-mount-db_no-mount | --> host mode network.sh netalertx-test-mount-db_no-mount | --> layer 2 capabilities.sh netalertx-test-mount-db_no-mount | --> excessive capabilities.sh netalertx-test-mount-db_no-mount | --> appliance integrity.sh netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-db_no-mount | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-db_no-mount | netalertx-test-mount-db_no-mount | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-db_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-db_no-mount | --> ports available.sh netalertx-test-mount-db_no-mount | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-db_no-mount | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-db_no-mount | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-db_no-mount | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.db_ramdisk.yml ---------------------------------------- Expected outcome: Container shows dataloss risk warning for database on RAM disk - NETALERTX_DB shows as mounted on tmpfs (RAM disk) - Dataloss risk warning since database should be persistent - Database will be lost on container restart Testing: docker-compose.mount-test.db_ramdisk.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-db_ramdisk netalertx-test-mount-db_ramdisk |  netalertx-test-mount-db_ramdisk | _ _ _ ___ _ _ __ __ netalertx-test-mount-db_ramdisk | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-db_ramdisk | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-db_ramdisk | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-db_ramdisk | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-db_ramdisk | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-db_ramdisk | netalertx-test-mount-db_ramdisk |  Network intruder and presence detector. netalertx-test-mount-db_ramdisk | https://netalertx.com netalertx-test-mount-db_ramdisk | netalertx-test-mount-db_ramdisk | netalertx-test-mount-db_ramdisk | Startup pre-checks netalertx-test-mount-db_ramdisk | --> storage permission.sh netalertx-test-mount-db_ramdisk | --> data migration.sh netalertx-test-mount-db_ramdisk | --> mounts.py netalertx-test-mount-db_ramdisk | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-db_ramdisk | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-db_ramdisk | /data | ✅ | ❌ | ➖ | ➖ | ❌ netalertx-test-mount-db_ramdisk | /data/db | ✅ | ✅ | ❌ | ➖ | ❌ netalertx-test-mount-db_ramdisk | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-db_ramdisk | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_ramdisk | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_ramdisk | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_ramdisk | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_ramdisk | --> first run config.sh netalertx-test-mount-db_ramdisk | --> first run db.sh netalertx-test-mount-db_ramdisk | --> mandatory folders.sh netalertx-test-mount-db_ramdisk | * Creating Plugins log. netalertx-test-mount-db_ramdisk | * Creating System services run log. netalertx-test-mount-db_ramdisk | * Creating System services run tmp. netalertx-test-mount-db_ramdisk | * Creating DB locked log. netalertx-test-mount-db_ramdisk | * Creating Execution queue log. netalertx-test-mount-db_ramdisk | --> writable config.sh netalertx-test-mount-db_ramdisk | --> nginx config.sh netalertx-test-mount-db_ramdisk | --> user netalertx.sh netalertx-test-mount-db_ramdisk | --> host mode network.sh netalertx-test-mount-db_ramdisk | --> layer 2 capabilities.sh netalertx-test-mount-db_ramdisk | --> excessive capabilities.sh netalertx-test-mount-db_ramdisk | --> appliance integrity.sh netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-db_ramdisk | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-db_ramdisk | netalertx-test-mount-db_ramdisk | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-db_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-db_ramdisk | --> ports available.sh netalertx-test-mount-db_ramdisk | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-db_ramdisk | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-db_ramdisk | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-db_ramdisk | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.db_unwritable.yml ---------------------------------------- Expected outcome: Container fails to start due to unwritable database partition - NETALERTX_DB shows as mounted but unwritable (❌ in Writeable column) - 30-writable-config.sh detects permission error and exits with code 1 - Container startup fails because database files cannot be written to Testing: docker-compose.mount-test.db_unwritable.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-db_unwritable netalertx-test-mount-db_unwritable |  netalertx-test-mount-db_unwritable | _ _ _ ___ _ _ __ __ netalertx-test-mount-db_unwritable | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-db_unwritable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-db_unwritable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-db_unwritable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-db_unwritable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-db_unwritable | netalertx-test-mount-db_unwritable |  Network intruder and presence detector. netalertx-test-mount-db_unwritable | https://netalertx.com netalertx-test-mount-db_unwritable | netalertx-test-mount-db_unwritable | netalertx-test-mount-db_unwritable | Startup pre-checks netalertx-test-mount-db_unwritable | --> storage permission.sh netalertx-test-mount-db_unwritable | --> data migration.sh netalertx-test-mount-db_unwritable | --> mounts.py netalertx-test-mount-db_unwritable | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-db_unwritable | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-db_unwritable | /data | ✅ | ❌ | ➖ | ➖ | ❌ netalertx-test-mount-db_unwritable | /data/db | ❌ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-db_unwritable | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-db_unwritable | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_unwritable | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_unwritable | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_unwritable | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-db_unwritable exited with code 1 File: docker-compose.mount-test.log_mounted.yml ---------------------------------------- Expected outcome: Container starts successfully with proper log mount - NETALERTX_LOG shows as mounted and writable - No mount warnings since logs can be non-persistent - Container starts normally with logging enabled Testing: docker-compose.mount-test.log_mounted.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-log_mounted netalertx-test-mount-log_mounted |  netalertx-test-mount-log_mounted | _ _ _ ___ _ _ __ __ netalertx-test-mount-log_mounted | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-log_mounted | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-log_mounted | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-log_mounted | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-log_mounted | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-log_mounted | netalertx-test-mount-log_mounted |  Network intruder and presence detector. netalertx-test-mount-log_mounted | https://netalertx.com netalertx-test-mount-log_mounted | netalertx-test-mount-log_mounted | netalertx-test-mount-log_mounted | Startup pre-checks netalertx-test-mount-log_mounted | --> storage permission.sh netalertx-test-mount-log_mounted | --> data migration.sh netalertx-test-mount-log_mounted | --> mounts.py netalertx-test-mount-log_mounted | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-log_mounted | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-log_mounted | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-log_mounted | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-log_mounted | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_mounted | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_mounted | /tmp/log | ✅ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-log_mounted | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_mounted | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_mounted | --> first run config.sh netalertx-test-mount-log_mounted | --> first run db.sh netalertx-test-mount-log_mounted | --> mandatory folders.sh netalertx-test-mount-log_mounted | * Creating System services run log. netalertx-test-mount-log_mounted | * Creating System services run tmp. netalertx-test-mount-log_mounted | --> writable config.sh netalertx-test-mount-log_mounted | --> nginx config.sh netalertx-test-mount-log_mounted | --> user netalertx.sh netalertx-test-mount-log_mounted | --> host mode network.sh netalertx-test-mount-log_mounted | --> layer 2 capabilities.sh netalertx-test-mount-log_mounted | --> excessive capabilities.sh netalertx-test-mount-log_mounted | --> appliance integrity.sh netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-log_mounted | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-log_mounted | netalertx-test-mount-log_mounted | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-log_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-log_mounted | --> ports available.sh netalertx-test-mount-log_mounted | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-log_mounted | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-log_mounted | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-log_mounted | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.log_no-mount.yml ---------------------------------------- Expected outcome: Container shows mount error warning but continues running - NETALERTX_LOG shows as not mounted (❌ in Mount column) - Warning message displayed about configuration issues - Container continues to run despite the mount error Testing: docker-compose.mount-test.log_no-mount.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-log_no-mount netalertx-test-mount-log_no-mount |  netalertx-test-mount-log_no-mount | _ _ _ ___ _ _ __ __ netalertx-test-mount-log_no-mount | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-log_no-mount | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-log_no-mount | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-log_no-mount | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-log_no-mount | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-log_no-mount | netalertx-test-mount-log_no-mount |  Network intruder and presence detector. netalertx-test-mount-log_no-mount | https://netalertx.com netalertx-test-mount-log_no-mount | netalertx-test-mount-log_no-mount | netalertx-test-mount-log_no-mount | Startup pre-checks netalertx-test-mount-log_no-mount | --> storage permission.sh netalertx-test-mount-log_no-mount | --> data migration.sh netalertx-test-mount-log_no-mount | --> mounts.py netalertx-test-mount-log_no-mount | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-log_no-mount | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-log_no-mount | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-log_no-mount | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-log_no-mount | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_no-mount | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_no-mount | /tmp/log | ✅ | ❌ | ❌ | ❌ | ✅ netalertx-test-mount-log_no-mount | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_no-mount | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_no-mount | --> first run config.sh netalertx-test-mount-log_no-mount | --> first run db.sh netalertx-test-mount-log_no-mount | --> mandatory folders.sh netalertx-test-mount-log_no-mount | * Creating System services run log. netalertx-test-mount-log_no-mount | * Creating System services run tmp. netalertx-test-mount-log_no-mount | --> writable config.sh netalertx-test-mount-log_no-mount | --> nginx config.sh netalertx-test-mount-log_no-mount | --> user netalertx.sh netalertx-test-mount-log_no-mount | --> host mode network.sh netalertx-test-mount-log_no-mount | --> layer 2 capabilities.sh netalertx-test-mount-log_no-mount | --> excessive capabilities.sh netalertx-test-mount-log_no-mount | --> appliance integrity.sh netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-log_no-mount | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-log_no-mount | netalertx-test-mount-log_no-mount | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-log_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-log_no-mount | --> ports available.sh netalertx-test-mount-log_no-mount | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-log_no-mount | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-log_no-mount | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-log_no-mount | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.log_ramdisk.yml ---------------------------------------- Expected outcome: Container shows dataloss risk warning for logs on RAM disk - NETALERTX_LOG shows as mounted on tmpfs (RAM disk) - Dataloss risk warning since logs may be lost on restart - Container starts but logs may not persist Testing: docker-compose.mount-test.log_ramdisk.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-log_ramdisk netalertx-test-mount-log_ramdisk |  netalertx-test-mount-log_ramdisk | _ _ _ ___ _ _ __ __ netalertx-test-mount-log_ramdisk | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-log_ramdisk | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-log_ramdisk | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-log_ramdisk | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-log_ramdisk | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-log_ramdisk | netalertx-test-mount-log_ramdisk |  Network intruder and presence detector. netalertx-test-mount-log_ramdisk | https://netalertx.com netalertx-test-mount-log_ramdisk | netalertx-test-mount-log_ramdisk | netalertx-test-mount-log_ramdisk | Startup pre-checks netalertx-test-mount-log_ramdisk | --> storage permission.sh netalertx-test-mount-log_ramdisk | --> data migration.sh netalertx-test-mount-log_ramdisk | --> mounts.py netalertx-test-mount-log_ramdisk | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-log_ramdisk | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-log_ramdisk | /data | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-log_ramdisk | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-log_ramdisk | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-log_ramdisk | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_ramdisk | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_ramdisk | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_ramdisk | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_ramdisk | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_ramdisk | --> first run config.sh netalertx-test-mount-log_ramdisk | --> first run db.sh netalertx-test-mount-log_ramdisk | --> mandatory folders.sh netalertx-test-mount-log_ramdisk | * Creating NetAlertX log directory. netalertx-test-mount-log_ramdisk | * Creating NetAlertX API cache. netalertx-test-mount-log_ramdisk | * Creating System services runtime directory. netalertx-test-mount-log_ramdisk | * Creating nginx active configuration directory. netalertx-test-mount-log_ramdisk | * Creating Plugins log. netalertx-test-mount-log_ramdisk | * Creating System services run log. netalertx-test-mount-log_ramdisk | * Creating System services run tmp. netalertx-test-mount-log_ramdisk | * Creating DB locked log. netalertx-test-mount-log_ramdisk | * Creating Execution queue log. netalertx-test-mount-log_ramdisk | --> writable config.sh netalertx-test-mount-log_ramdisk | --> nginx config.sh netalertx-test-mount-log_ramdisk | --> user netalertx.sh netalertx-test-mount-log_ramdisk | --> host mode network.sh netalertx-test-mount-log_ramdisk | --> layer 2 capabilities.sh netalertx-test-mount-log_ramdisk | --> excessive capabilities.sh netalertx-test-mount-log_ramdisk | --> appliance integrity.sh netalertx-test-mount-log_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-log_ramdisk | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-log_ramdisk | netalertx-test-mount-log_ramdisk | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-log_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-log_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-log_ramdisk | --> ports available.sh netalertx-test-mount-log_ramdisk | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-log_ramdisk | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-log_ramdisk | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-log_ramdisk | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.log_unwritable.yml ---------------------------------------- Expected outcome: Container fails to start due to unwritable log partition - NETALERTX_LOG shows as mounted but unwritable (❌ in Writeable column) - 25-mandatory-folders.sh cannot create required log files and fails - Container startup fails because logging infrastructure cannot be initialized Testing: docker-compose.mount-test.log_unwritable.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-log_unwritable netalertx-test-mount-log_unwritable |  netalertx-test-mount-log_unwritable | _ _ _ ___ _ _ __ __ netalertx-test-mount-log_unwritable | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-log_unwritable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-log_unwritable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-log_unwritable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-log_unwritable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-log_unwritable | netalertx-test-mount-log_unwritable |  Network intruder and presence detector. netalertx-test-mount-log_unwritable | https://netalertx.com netalertx-test-mount-log_unwritable | netalertx-test-mount-log_unwritable | netalertx-test-mount-log_unwritable | Startup pre-checks netalertx-test-mount-log_unwritable | --> storage permission.sh netalertx-test-mount-log_unwritable | --> data migration.sh netalertx-test-mount-log_unwritable | --> mounts.py netalertx-test-mount-log_unwritable | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-log_unwritable | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-log_unwritable | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-log_unwritable | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-log_unwritable | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_unwritable | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_unwritable | /tmp/log | ❌ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-log_unwritable | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_unwritable | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-log_unwritable exited with code 1 File: docker-compose.mount-test.run_mounted.yml ---------------------------------------- Expected outcome: Container starts successfully with proper run mount - NETALERTX_RUN shows as mounted and writable - No mount warnings since run directory can be non-persistent - Container starts normally with runtime files enabled Testing: docker-compose.mount-test.run_mounted.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-run_mounted netalertx-test-mount-run_mounted |  netalertx-test-mount-run_mounted | _ _ _ ___ _ _ __ __ netalertx-test-mount-run_mounted | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-run_mounted | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-run_mounted | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-run_mounted | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-run_mounted | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-run_mounted | netalertx-test-mount-run_mounted |  Network intruder and presence detector. netalertx-test-mount-run_mounted | https://netalertx.com netalertx-test-mount-run_mounted | netalertx-test-mount-run_mounted | netalertx-test-mount-run_mounted | Startup pre-checks netalertx-test-mount-run_mounted | --> storage permission.sh netalertx-test-mount-run_mounted | --> data migration.sh netalertx-test-mount-run_mounted | --> mounts.py netalertx-test-mount-run_mounted | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-run_mounted | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-run_mounted | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-run_mounted | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-run_mounted | /tmp/run/tmp | ✅ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-run_mounted | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_mounted | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_mounted | /tmp/run | ✅ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-run_mounted | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_mounted | --> first run config.sh netalertx-test-mount-run_mounted | --> first run db.sh netalertx-test-mount-run_mounted | --> mandatory folders.sh netalertx-test-mount-run_mounted | * Creating Plugins log. netalertx-test-mount-run_mounted | * Creating DB locked log. netalertx-test-mount-run_mounted | * Creating Execution queue log. netalertx-test-mount-run_mounted | --> writable config.sh netalertx-test-mount-run_mounted | --> nginx config.sh netalertx-test-mount-run_mounted | --> user netalertx.sh netalertx-test-mount-run_mounted | --> host mode network.sh netalertx-test-mount-run_mounted | --> layer 2 capabilities.sh netalertx-test-mount-run_mounted | --> excessive capabilities.sh netalertx-test-mount-run_mounted | --> appliance integrity.sh netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-run_mounted | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-run_mounted | netalertx-test-mount-run_mounted | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-run_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-run_mounted | --> ports available.sh netalertx-test-mount-run_mounted | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-run_mounted | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-run_mounted | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-run_mounted | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.run_no-mount.yml ---------------------------------------- Expected outcome: Container shows mount error warning but continues running - NETALERTX_RUN shows as not mounted (❌ in Mount column) - Warning message displayed about configuration issues - Container continues to run despite the mount error Testing: docker-compose.mount-test.run_no-mount.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-run_no-mount netalertx-test-mount-run_no-mount |  netalertx-test-mount-run_no-mount | _ _ _ ___ _ _ __ __ netalertx-test-mount-run_no-mount | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-run_no-mount | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-run_no-mount | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-run_no-mount | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-run_no-mount | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-run_no-mount | netalertx-test-mount-run_no-mount |  Network intruder and presence detector. netalertx-test-mount-run_no-mount | https://netalertx.com netalertx-test-mount-run_no-mount | netalertx-test-mount-run_no-mount | netalertx-test-mount-run_no-mount | Startup pre-checks netalertx-test-mount-run_no-mount | --> storage permission.sh netalertx-test-mount-run_no-mount | --> data migration.sh netalertx-test-mount-run_no-mount | --> mounts.py netalertx-test-mount-run_no-mount | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-run_no-mount | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-run_no-mount | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-run_no-mount | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-run_no-mount | /tmp/run/tmp | ✅ | ❌ | ❌ | ❌ | ✅ netalertx-test-mount-run_no-mount | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_no-mount | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_no-mount | /tmp/run | ✅ | ❌ | ❌ | ❌ | ✅ netalertx-test-mount-run_no-mount | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_no-mount | --> first run config.sh netalertx-test-mount-run_no-mount | --> first run db.sh netalertx-test-mount-run_no-mount | --> mandatory folders.sh netalertx-test-mount-run_no-mount | * Creating Plugins log. netalertx-test-mount-run_no-mount | * Creating DB locked log. netalertx-test-mount-run_no-mount | * Creating Execution queue log. netalertx-test-mount-run_no-mount | --> writable config.sh netalertx-test-mount-run_no-mount | --> nginx config.sh netalertx-test-mount-run_no-mount | --> user netalertx.sh netalertx-test-mount-run_no-mount | --> host mode network.sh netalertx-test-mount-run_no-mount | --> layer 2 capabilities.sh netalertx-test-mount-run_no-mount | --> excessive capabilities.sh netalertx-test-mount-run_no-mount | --> appliance integrity.sh netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-run_no-mount | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-run_no-mount | netalertx-test-mount-run_no-mount | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-run_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-run_no-mount | --> ports available.sh netalertx-test-mount-run_no-mount | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-run_no-mount | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-run_no-mount | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-run_no-mount | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.run_ramdisk.yml ---------------------------------------- Expected outcome: Container shows dataloss risk warning for run on RAM disk - NETALERTX_RUN shows as mounted on tmpfs (RAM disk) - Dataloss risk warning since runtime files may be lost on restart - Container starts but runtime state may not persist Testing: docker-compose.mount-test.run_ramdisk.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-run_ramdisk netalertx-test-mount-run_ramdisk |  netalertx-test-mount-run_ramdisk | _ _ _ ___ _ _ __ __ netalertx-test-mount-run_ramdisk | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-run_ramdisk | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-run_ramdisk | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-run_ramdisk | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-run_ramdisk | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-run_ramdisk | netalertx-test-mount-run_ramdisk |  Network intruder and presence detector. netalertx-test-mount-run_ramdisk | https://netalertx.com netalertx-test-mount-run_ramdisk | netalertx-test-mount-run_ramdisk | netalertx-test-mount-run_ramdisk | Startup pre-checks netalertx-test-mount-run_ramdisk | --> storage permission.sh netalertx-test-mount-run_ramdisk | --> data migration.sh netalertx-test-mount-run_ramdisk | --> mounts.py netalertx-test-mount-run_ramdisk | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-run_ramdisk | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-run_ramdisk | /data | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-run_ramdisk | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-run_ramdisk | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-run_ramdisk | /tmp/run/tmp | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_ramdisk | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_ramdisk | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_ramdisk | /tmp/run | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_ramdisk | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_ramdisk | --> first run config.sh netalertx-test-mount-run_ramdisk | --> first run db.sh netalertx-test-mount-run_ramdisk | --> mandatory folders.sh netalertx-test-mount-run_ramdisk | * Creating NetAlertX log directory. netalertx-test-mount-run_ramdisk | * Creating NetAlertX API cache. netalertx-test-mount-run_ramdisk | * Creating System services runtime directory. netalertx-test-mount-run_ramdisk | * Creating nginx active configuration directory. netalertx-test-mount-run_ramdisk | * Creating Plugins log. netalertx-test-mount-run_ramdisk | * Creating System services run log. netalertx-test-mount-run_ramdisk | * Creating System services run tmp. netalertx-test-mount-run_ramdisk | * Creating DB locked log. netalertx-test-mount-run_ramdisk | * Creating Execution queue log. netalertx-test-mount-run_ramdisk | --> writable config.sh netalertx-test-mount-run_ramdisk | --> nginx config.sh netalertx-test-mount-run_ramdisk | --> user netalertx.sh netalertx-test-mount-run_ramdisk | --> host mode network.sh netalertx-test-mount-run_ramdisk | --> layer 2 capabilities.sh netalertx-test-mount-run_ramdisk | --> excessive capabilities.sh netalertx-test-mount-run_ramdisk | --> appliance integrity.sh netalertx-test-mount-run_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-run_ramdisk | ⚠️ Warning: Container is running as read-write, not in read-only mode. netalertx-test-mount-run_ramdisk | netalertx-test-mount-run_ramdisk | Please mount the root filesystem as --read-only or use read-only: true netalertx-test-mount-run_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md netalertx-test-mount-run_ramdisk | ══════════════════════════════════════════════════════════════════════════════ netalertx-test-mount-run_ramdisk | --> ports available.sh netalertx-test-mount-run_ramdisk | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 & netalertx-test-mount-run_ramdisk | Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F >>"/tmp/log/app.php_errors.log" 2>/dev/stderr & netalertx-test-mount-run_ramdisk | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2) netalertx-test-mount-run_ramdisk | Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log /dev/stderr; error_log /tmp/log/nginx-error.log; daemon off;" & File: docker-compose.mount-test.run_unwritable.yml ---------------------------------------- Expected outcome: Container fails to start due to unwritable run partition - NETALERTX_RUN shows as mounted but unwritable (❌ in Writeable column) - 25-mandatory-folders.sh cannot create required runtime files and fails - Container startup fails because runtime infrastructure cannot be initialized Testing: docker-compose.mount-test.run_unwritable.yml Directory: /workspaces/NetAlertX/test/docker_tests/configurations/mount-tests Running docker-compose up... Attaching to netalertx-test-mount-run_unwritable netalertx-test-mount-run_unwritable |  netalertx-test-mount-run_unwritable | _ _ _ ___ _ _ __ __ netalertx-test-mount-run_unwritable | | \ | | | | / _ \| | | | \ \ / / netalertx-test-mount-run_unwritable | | \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V / netalertx-test-mount-run_unwritable | | . |/ _ \ __| _ | |/ _ \ __| __|/ \ netalertx-test-mount-run_unwritable | | |\ | __/ |_| | | | | __/ | | |_/ /^\ \ netalertx-test-mount-run_unwritable | \_| \_/\___|\__\_| |_/_|\___|_| \__\/ \/ netalertx-test-mount-run_unwritable | netalertx-test-mount-run_unwritable |  Network intruder and presence detector. netalertx-test-mount-run_unwritable | https://netalertx.com netalertx-test-mount-run_unwritable | netalertx-test-mount-run_unwritable | netalertx-test-mount-run_unwritable | Startup pre-checks netalertx-test-mount-run_unwritable | --> storage permission.sh netalertx-test-mount-run_unwritable | --> data migration.sh netalertx-test-mount-run_unwritable | --> mounts.py netalertx-test-mount-run_unwritable | Path | Writeable | Mount | RAMDisk | Performance | DataLoss netalertx-test-mount-run_unwritable | --------------------------+-----------+-------+---------+-------------+---------- netalertx-test-mount-run_unwritable | /data/db | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-run_unwritable | /data/config | ✅ | ✅ | ➖ | ➖ | ✅ netalertx-test-mount-run_unwritable | /tmp/run/tmp | ❌ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-run_unwritable | /tmp/api | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_unwritable | /tmp/log | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_unwritable | /tmp/run | ❌ | ✅ | ❌ | ❌ | ✅ netalertx-test-mount-run_unwritable | /tmp/nginx/active-config | ✅ | ✅ | ✅ | ✅ | ✅ netalertx-test-mount-run_unwritable exited with code 1 All tests completed - Sun Nov 23 15:55:50 UTC 2025