Files
NetAlertX/test/docker_tests/configurations/test_results.log
2025-12-22 02:08:50 +00:00

2650 lines
240 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Starting Docker Compose Tests - Sun Dec 21 23:37:01 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...
Volume "configurations_netalertx_data" Creating
Volume "configurations_netalertx_data" Created
Container netalertx-test-missing-caps Creating
Container netalertx-test-missing-caps Created
Attaching to netalertx-test-missing-caps
netalertx-test-missing-caps | exec /bin/sh: operation not permitted
netalertx-test-missing-caps exited with code 255
File: docker-compose.readonly.yml
----------------------------------------
Testing: docker-compose.readonly.yml
Directory: /workspaces/NetAlertX/test/docker_tests/configurations
Running docker-compose up...
Volume "configurations_netalertx_data" Creating
Volume "configurations_netalertx_data" Created
Container netalertx-test-readonly Creating
Container netalertx-test-readonly Created
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 |  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 | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-readonly | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-readonly |
netalertx-test-readonly | Review your settings in the UI or edit the file directly before trusting
netalertx-test-readonly | this instance in production.
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-readonly | --> first run db.sh
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-readonly | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-readonly |
netalertx-test-readonly | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-readonly | DB before onboarding sensitive or critical networks.
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-readonly | --> mandatory folders.sh
netalertx-test-readonly | --> apply conf override.sh
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-readonly | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-readonly |
netalertx-test-readonly | Make sure the JSON content is correct before starting the application.
netalertx-test-readonly | ══════════════════════════════════════════════════════════════════════════════
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 | /services/scripts/update_vendors.sh: line 28: /tmp/run/tmp/ieee-oui.txt.tmp: Read-only file system
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 | /services/start-php-fpm.sh: line 30: /tmp/log/app.php_errors.log: Read-only file system
netalertx-test-readonly | /services/start-cron.sh: line 37: /tmp/log/cron.log: Read-only file system
netalertx-test-readonly | php-fpm stopped! (exit 1)
netalertx-test-readonly | Supercronic stopped! (exit 1)
netalertx-test-readonly | mktemp: : Read-only file system
netalertx-test-readonly | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2)
netalertx-test-readonly | /services/start-backend.sh: line 16: /tmp/log/stdout.log: Read-only file system
netalertx-test-readonly | ERROR: Failed to download or process OUI data
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-readonly Stopping
Container netalertx-test-readonly Stopped
File: docker-compose.writable.yml
----------------------------------------
Testing: docker-compose.writable.yml
Directory: /workspaces/NetAlertX/test/docker_tests/configurations
Running docker-compose up...
Volume "configurations_netalertx_data" Creating
Volume "configurations_netalertx_data" Created
Container netalertx-test-writable Creating
Container netalertx-test-writable Created
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 |  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 | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-writable | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-writable |
netalertx-test-writable | Review your settings in the UI or edit the file directly before trusting
netalertx-test-writable | this instance in production.
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-writable | --> first run db.sh
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-writable | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-writable |
netalertx-test-writable | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-writable | DB before onboarding sensitive or critical networks.
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-writable | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-writable |
netalertx-test-writable | Make sure the JSON content is correct before starting the application.
netalertx-test-writable | ══════════════════════════════════════════════════════════════════════════════
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 | 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;" &
netalertx-test-writable | Traceback (most recent call last):
netalertx-test-writable | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-writable | File "<frozen runpy>", line 88, in _run_code
netalertx-test-writable | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-writable | sys.exit(main())
netalertx-test-writable | ^^^^^^
netalertx-test-writable | File "/app/server/__main__.py", line 104, in main
netalertx-test-writable | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-writable | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-writable | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-writable | for setting_name, value in settings_override.items():
netalertx-test-writable | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-writable | AttributeError: 'int' object has no attribute 'items'
netalertx-test-writable | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-writable Stopping
Container netalertx-test-writable Stopped
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...
Volume "mount-tests_test_system_services_active_config" Creating
Volume "mount-tests_test_system_services_active_config" Created
Container netalertx-test-mount-active_config_mounted Creating
Container netalertx-test-mount-active_config_mounted Created
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 |  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 | R | W | 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 |
netalertx-test-mount-active_config_mounted |
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_mounted | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-active_config_mounted |
netalertx-test-mount-active_config_mounted | * /tmp/nginx/active-config performance issue
netalertx-test-mount-active_config_mounted |
netalertx-test-mount-active_config_mounted | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-active_config_mounted | configuration can be quite complex.
netalertx-test-mount-active_config_mounted |
netalertx-test-mount-active_config_mounted | Review the documentation for a correct setup:
netalertx-test-mount-active_config_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-active_config_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_mounted | 
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 | INFO: ALWAYS_FRESH_INSTALL enabled — removing existing database.
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_mounted | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-active_config_mounted |
netalertx-test-mount-active_config_mounted | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-active_config_mounted | DB before onboarding sensitive or critical networks.
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_mounted | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-active_config_mounted |
netalertx-test-mount-active_config_mounted | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-active_config_mounted | ══════════════════════════════════════════════════════════════════════════════
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 | mktemp: : Permission denied
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 | Traceback (most recent call last):
netalertx-test-mount-active_config_mounted | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-active_config_mounted | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-active_config_mounted | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-active_config_mounted | sys.exit(main())
netalertx-test-mount-active_config_mounted | ^^^^^^
netalertx-test-mount-active_config_mounted | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-active_config_mounted | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-active_config_mounted | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-active_config_mounted | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-active_config_mounted | for setting_name, value in settings_override.items():
netalertx-test-mount-active_config_mounted | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-active_config_mounted | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-active_config_mounted | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-active_config_mounted Stopping
Container netalertx-test-mount-active_config_mounted Stopped
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...
Volume "mount-tests_test_netalertx_data" Creating
Volume "mount-tests_test_netalertx_data" Created
Container netalertx-test-mount-active_config_no-mount Creating
Container netalertx-test-mount-active_config_no-mount Created
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 |  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 | R | W | 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 | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_no-mount | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-active_config_no-mount |
netalertx-test-mount-active_config_no-mount | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-active_config_no-mount | this instance in production.
netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_no-mount | --> first run db.sh
netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_no-mount | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-active_config_no-mount |
netalertx-test-mount-active_config_no-mount | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-active_config_no-mount | DB before onboarding sensitive or critical networks.
netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_no-mount | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-active_config_no-mount |
netalertx-test-mount-active_config_no-mount | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-active_config_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 /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 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/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;" &
netalertx-test-mount-active_config_no-mount | Traceback (most recent call last):
netalertx-test-mount-active_config_no-mount | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-active_config_no-mount | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-active_config_no-mount | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-active_config_no-mount | sys.exit(main())
netalertx-test-mount-active_config_no-mount | ^^^^^^
netalertx-test-mount-active_config_no-mount | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-active_config_no-mount | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-active_config_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-active_config_no-mount | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-active_config_no-mount | for setting_name, value in settings_override.items():
netalertx-test-mount-active_config_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-active_config_no-mount | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-active_config_no-mount | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-active_config_no-mount Stopping
Container netalertx-test-mount-active_config_no-mount Stopped
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...
Volume "mount-tests_test_netalertx_data" Creating
Volume "mount-tests_test_netalertx_data" Created
Container netalertx-test-mount-active_config_ramdisk Creating
Container netalertx-test-mount-active_config_ramdisk Created
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 |  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 | R | W | 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 | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_ramdisk | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-active_config_ramdisk |
netalertx-test-mount-active_config_ramdisk | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-active_config_ramdisk | this instance in production.
netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_ramdisk | --> first run db.sh
netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_ramdisk | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-active_config_ramdisk |
netalertx-test-mount-active_config_ramdisk | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-active_config_ramdisk | DB before onboarding sensitive or critical networks.
netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_ramdisk | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-active_config_ramdisk |
netalertx-test-mount-active_config_ramdisk | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-active_config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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 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;" &
netalertx-test-mount-active_config_ramdisk | Traceback (most recent call last):
netalertx-test-mount-active_config_ramdisk | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-active_config_ramdisk | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-active_config_ramdisk | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-active_config_ramdisk | sys.exit(main())
netalertx-test-mount-active_config_ramdisk | ^^^^^^
netalertx-test-mount-active_config_ramdisk | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-active_config_ramdisk | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-active_config_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-active_config_ramdisk | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-active_config_ramdisk | for setting_name, value in settings_override.items():
netalertx-test-mount-active_config_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-active_config_ramdisk | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-active_config_ramdisk | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-active_config_ramdisk Stopping
Container netalertx-test-mount-active_config_ramdisk Stopped
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...
Volume "mount-tests_test_netalertx_data" Creating
Volume "mount-tests_test_netalertx_data" Created
Volume "mount-tests_test_system_services_active_config" Creating
Volume "mount-tests_test_system_services_active_config" Created
Container netalertx-test-mount-active_config_unwritable Creating
Container netalertx-test-mount-active_config_unwritable Created
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 |  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 | R | W | 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 |
netalertx-test-mount-active_config_unwritable |
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-active_config_unwritable |
netalertx-test-mount-active_config_unwritable | * /tmp/nginx/active-config error writing, performance issue
netalertx-test-mount-active_config_unwritable |
netalertx-test-mount-active_config_unwritable | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-active_config_unwritable | configuration can be quite complex.
netalertx-test-mount-active_config_unwritable |
netalertx-test-mount-active_config_unwritable | Review the documentation for a correct setup:
netalertx-test-mount-active_config_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-active_config_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | 
netalertx-test-mount-active_config_unwritable | --> first run config.sh
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-active_config_unwritable |
netalertx-test-mount-active_config_unwritable | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-active_config_unwritable | this instance in production.
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | --> first run db.sh
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-active_config_unwritable |
netalertx-test-mount-active_config_unwritable | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-active_config_unwritable | DB before onboarding sensitive or critical networks.
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-active_config_unwritable |
netalertx-test-mount-active_config_unwritable | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | --> writable config.sh
netalertx-test-mount-active_config_unwritable | --> nginx config.sh
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | ⚠️ ATTENTION: Unable to write to /tmp/nginx/active-config/netalertx.conf.
netalertx-test-mount-active_config_unwritable |
netalertx-test-mount-active_config_unwritable | Ensure the conf.active mount is writable by the netalertx user before
netalertx-test-mount-active_config_unwritable | changing LISTEN_ADDR or PORT. Fix permissions:
netalertx-test-mount-active_config_unwritable | chown -R 20211:20211 /tmp/nginx/active-config
netalertx-test-mount-active_config_unwritable | find /tmp/nginx/active-config -type d -exec chmod 700 {} +
netalertx-test-mount-active_config_unwritable | find /tmp/nginx/active-config -type f -exec chmod 600 {} +
netalertx-test-mount-active_config_unwritable |
netalertx-test-mount-active_config_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/nginx-configuration-mount.md
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | \033[1;31m══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | ❌ NetAlertX startup aborted: critical failure in nginx config.sh.
netalertx-test-mount-active_config_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/troubleshooting.md
netalertx-test-mount-active_config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-active_config_unwritable | \033[0m
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...
Container netalertx-test-mount-api_mounted Creating
Container netalertx-test-mount-api_mounted Created
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 |  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 | R | W | 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 |
netalertx-test-mount-api_mounted |
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_mounted | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-api_mounted |
netalertx-test-mount-api_mounted | * /tmp/api performance issue
netalertx-test-mount-api_mounted |
netalertx-test-mount-api_mounted | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-api_mounted | configuration can be quite complex.
netalertx-test-mount-api_mounted |
netalertx-test-mount-api_mounted | Review the documentation for a correct setup:
netalertx-test-mount-api_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-api_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_mounted | 
netalertx-test-mount-api_mounted | --> first run config.sh
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_mounted | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-api_mounted |
netalertx-test-mount-api_mounted | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-api_mounted | this instance in production.
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_mounted | --> first run db.sh
netalertx-test-mount-api_mounted | INFO: ALWAYS_FRESH_INSTALL enabled — removing existing database.
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_mounted | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-api_mounted |
netalertx-test-mount-api_mounted | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-api_mounted | DB before onboarding sensitive or critical networks.
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_mounted | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-api_mounted |
netalertx-test-mount-api_mounted | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-api_mounted | ══════════════════════════════════════════════════════════════════════════════
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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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 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;" &
netalertx-test-mount-api_mounted | Traceback (most recent call last):
netalertx-test-mount-api_mounted | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-api_mounted | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-api_mounted | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-api_mounted | sys.exit(main())
netalertx-test-mount-api_mounted | ^^^^^^
netalertx-test-mount-api_mounted | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-api_mounted | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-api_mounted | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-api_mounted | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-api_mounted | for setting_name, value in settings_override.items():
netalertx-test-mount-api_mounted | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-api_mounted | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-api_mounted | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-api_mounted Stopping
Container netalertx-test-mount-api_mounted Stopped
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...
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Container netalertx-test-mount-api_no-mount Creating
Container netalertx-test-mount-api_no-mount Created
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 |  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 | R | W | 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 |
netalertx-test-mount-api_no-mount |
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_no-mount | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-api_no-mount |
netalertx-test-mount-api_no-mount | * /tmp/api not mounted, performance issue
netalertx-test-mount-api_no-mount |
netalertx-test-mount-api_no-mount | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-api_no-mount | configuration can be quite complex.
netalertx-test-mount-api_no-mount |
netalertx-test-mount-api_no-mount | Review the documentation for a correct setup:
netalertx-test-mount-api_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-api_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_no-mount | 
netalertx-test-mount-api_no-mount | --> first run config.sh
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_no-mount | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-api_no-mount |
netalertx-test-mount-api_no-mount | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-api_no-mount | this instance in production.
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_no-mount | --> first run db.sh
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_no-mount | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-api_no-mount |
netalertx-test-mount-api_no-mount | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-api_no-mount | DB before onboarding sensitive or critical networks.
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_no-mount | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-api_no-mount |
netalertx-test-mount-api_no-mount | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-api_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 /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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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;" &
netalertx-test-mount-api_no-mount | Traceback (most recent call last):
netalertx-test-mount-api_no-mount | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-api_no-mount | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-api_no-mount | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-api_no-mount | sys.exit(main())
netalertx-test-mount-api_no-mount | ^^^^^^
netalertx-test-mount-api_no-mount | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-api_no-mount | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-api_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-api_no-mount | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-api_no-mount | for setting_name, value in settings_override.items():
netalertx-test-mount-api_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-api_no-mount | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-api_no-mount | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-api_no-mount Stopping
Container netalertx-test-mount-api_no-mount Stopped
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...
Volume "mount-tests_test_netalertx_data" Creating
Volume "mount-tests_test_netalertx_data" Created
Container netalertx-test-mount-api_ramdisk Creating
Container netalertx-test-mount-api_ramdisk Created
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 |  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 | R | W | 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 | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_ramdisk | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-api_ramdisk |
netalertx-test-mount-api_ramdisk | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-api_ramdisk | this instance in production.
netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_ramdisk | --> first run db.sh
netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_ramdisk | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-api_ramdisk |
netalertx-test-mount-api_ramdisk | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-api_ramdisk | DB before onboarding sensitive or critical networks.
netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_ramdisk | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-api_ramdisk |
netalertx-test-mount-api_ramdisk | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-api_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 /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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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;" &
netalertx-test-mount-api_ramdisk | Traceback (most recent call last):
netalertx-test-mount-api_ramdisk | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-api_ramdisk | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-api_ramdisk | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-api_ramdisk | sys.exit(main())
netalertx-test-mount-api_ramdisk | ^^^^^^
netalertx-test-mount-api_ramdisk | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-api_ramdisk | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-api_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-api_ramdisk | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-api_ramdisk | for setting_name, value in settings_override.items():
netalertx-test-mount-api_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-api_ramdisk | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-api_ramdisk | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-api_ramdisk Stopping
Container netalertx-test-mount-api_ramdisk Stopped
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...
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Volume "mount-tests_test_netalertx_api" Creating
Volume "mount-tests_test_netalertx_api" Created
Container netalertx-test-mount-api_unwritable Creating
Container netalertx-test-mount-api_unwritable Created
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 |  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 | R | W | 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 |
netalertx-test-mount-api_unwritable |
netalertx-test-mount-api_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_unwritable | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-api_unwritable |
netalertx-test-mount-api_unwritable | * /tmp/api error writing, performance issue
netalertx-test-mount-api_unwritable |
netalertx-test-mount-api_unwritable | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-api_unwritable | configuration can be quite complex.
netalertx-test-mount-api_unwritable |
netalertx-test-mount-api_unwritable | Review the documentation for a correct setup:
netalertx-test-mount-api_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-api_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-api_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_unwritable | 
netalertx-test-mount-api_unwritable | \033[1;31m══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_unwritable | ❌ NetAlertX startup aborted: critical failure in mounts.py.
netalertx-test-mount-api_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/troubleshooting.md
netalertx-test-mount-api_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-api_unwritable | \033[0m
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...
Volume "mount-tests_test_netalertx_data" Creating
Volume "mount-tests_test_netalertx_data" Created
Container netalertx-test-mount-config_mounted Creating
Container netalertx-test-mount-config_mounted Created
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 |  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 | R | W | 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 | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_mounted | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-config_mounted |
netalertx-test-mount-config_mounted | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-config_mounted | this instance in production.
netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_mounted | --> first run db.sh
netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_mounted | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-config_mounted |
netalertx-test-mount-config_mounted | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-config_mounted | DB before onboarding sensitive or critical networks.
netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_mounted | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-config_mounted |
netalertx-test-mount-config_mounted | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-config_mounted | ══════════════════════════════════════════════════════════════════════════════
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 /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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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;" &
netalertx-test-mount-config_mounted | Traceback (most recent call last):
netalertx-test-mount-config_mounted | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-config_mounted | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-config_mounted | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-config_mounted | sys.exit(main())
netalertx-test-mount-config_mounted | ^^^^^^
netalertx-test-mount-config_mounted | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-config_mounted | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-config_mounted | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-config_mounted | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-config_mounted | for setting_name, value in settings_override.items():
netalertx-test-mount-config_mounted | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-config_mounted | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-config_mounted | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-config_mounted Stopping
Container netalertx-test-mount-config_mounted Stopped
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...
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Container netalertx-test-mount-config_no-mount Creating
Container netalertx-test-mount-config_no-mount Created
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 |  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 | R | W | 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 |
netalertx-test-mount-config_no-mount |
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_no-mount | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-config_no-mount |
netalertx-test-mount-config_no-mount | * /data not mounted, risk of dataloss
netalertx-test-mount-config_no-mount | * /data/config not mounted, risk of dataloss
netalertx-test-mount-config_no-mount |
netalertx-test-mount-config_no-mount | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-config_no-mount | configuration can be quite complex.
netalertx-test-mount-config_no-mount |
netalertx-test-mount-config_no-mount | Review the documentation for a correct setup:
netalertx-test-mount-config_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-config_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_no-mount | 
netalertx-test-mount-config_no-mount | --> first run config.sh
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_no-mount | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-config_no-mount |
netalertx-test-mount-config_no-mount | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-config_no-mount | this instance in production.
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_no-mount | --> first run db.sh
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_no-mount | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-config_no-mount |
netalertx-test-mount-config_no-mount | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-config_no-mount | DB before onboarding sensitive or critical networks.
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_no-mount | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-config_no-mount |
netalertx-test-mount-config_no-mount | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-config_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 /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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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;" &
netalertx-test-mount-config_no-mount | Traceback (most recent call last):
netalertx-test-mount-config_no-mount | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-config_no-mount | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-config_no-mount | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-config_no-mount | sys.exit(main())
netalertx-test-mount-config_no-mount | ^^^^^^
netalertx-test-mount-config_no-mount | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-config_no-mount | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-config_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-config_no-mount | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-config_no-mount | for setting_name, value in settings_override.items():
netalertx-test-mount-config_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-config_no-mount | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-config_no-mount | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-config_no-mount Stopping
Container netalertx-test-mount-config_no-mount Stopped
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...
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Container netalertx-test-mount-config_ramdisk Creating
Container netalertx-test-mount-config_ramdisk Created
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 |  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 | R | W | 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 |
netalertx-test-mount-config_ramdisk |
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_ramdisk | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-config_ramdisk |
netalertx-test-mount-config_ramdisk | * /data not mounted, risk of dataloss
netalertx-test-mount-config_ramdisk | * /data/config risk of dataloss
netalertx-test-mount-config_ramdisk |
netalertx-test-mount-config_ramdisk | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-config_ramdisk | configuration can be quite complex.
netalertx-test-mount-config_ramdisk |
netalertx-test-mount-config_ramdisk | Review the documentation for a correct setup:
netalertx-test-mount-config_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-config_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_ramdisk | 
netalertx-test-mount-config_ramdisk | --> first run config.sh
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_ramdisk | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-config_ramdisk |
netalertx-test-mount-config_ramdisk | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-config_ramdisk | this instance in production.
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_ramdisk | --> first run db.sh
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_ramdisk | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-config_ramdisk |
netalertx-test-mount-config_ramdisk | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-config_ramdisk | DB before onboarding sensitive or critical networks.
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_ramdisk | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-config_ramdisk |
netalertx-test-mount-config_ramdisk | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_ramdisk | --> writable config.sh
netalertx-test-mount-config_ramdisk | --> nginx config.sh
netalertx-test-mount-config_ramdisk | --> user netalertx.sh
netalertx-test-mount-config_ramdisk | --> host mode network.sh
netalertx-test-mount-config_ramdisk | --> layer 2 capabilities.sh
netalertx-test-mount-config_ramdisk | --> excessive capabilities.sh
netalertx-test-mount-config_ramdisk | --> appliance integrity.sh
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_ramdisk | ⚠️ Warning: Container is running as read-write, not in read-only mode.
netalertx-test-mount-config_ramdisk |
netalertx-test-mount-config_ramdisk | Please mount the root filesystem as --read-only or use read_only: true
netalertx-test-mount-config_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/read-only-filesystem.md
netalertx-test-mount-config_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_ramdisk | --> ports available.sh
netalertx-test-mount-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-config_ramdisk | Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
netalertx-test-mount-config_ramdisk | Starting python3 -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2)
netalertx-test-mount-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;" &
netalertx-test-mount-config_ramdisk | Traceback (most recent call last):
netalertx-test-mount-config_ramdisk | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-config_ramdisk | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-config_ramdisk | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-config_ramdisk | sys.exit(main())
netalertx-test-mount-config_ramdisk | ^^^^^^
netalertx-test-mount-config_ramdisk | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-config_ramdisk | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-config_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-config_ramdisk | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-config_ramdisk | for setting_name, value in settings_override.items():
netalertx-test-mount-config_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-config_ramdisk | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-config_ramdisk | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-config_ramdisk Stopping
Container netalertx-test-mount-config_ramdisk Stopped
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...
Volume "mount-tests_test_netalertx_config" Creating
Volume "mount-tests_test_netalertx_config" Created
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Container netalertx-test-mount-config_unwritable Creating
Container netalertx-test-mount-config_unwritable Created
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 |  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 | R | W | 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 |
netalertx-test-mount-config_unwritable |
netalertx-test-mount-config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_unwritable | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-config_unwritable |
netalertx-test-mount-config_unwritable | * /data not mounted, risk of dataloss
netalertx-test-mount-config_unwritable | * /data/config error writing, risk of dataloss
netalertx-test-mount-config_unwritable |
netalertx-test-mount-config_unwritable | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-config_unwritable | configuration can be quite complex.
netalertx-test-mount-config_unwritable |
netalertx-test-mount-config_unwritable | Review the documentation for a correct setup:
netalertx-test-mount-config_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-config_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_unwritable | 
netalertx-test-mount-config_unwritable | \033[1;31m══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_unwritable | ❌ NetAlertX startup aborted: critical failure in mounts.py.
netalertx-test-mount-config_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/troubleshooting.md
netalertx-test-mount-config_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-config_unwritable | \033[0m
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...
Volume "mount-tests_test_netalertx_data" Creating
Volume "mount-tests_test_netalertx_data" Created
Container netalertx-test-mount-db_mounted Creating
Container netalertx-test-mount-db_mounted Created
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 |  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 | R | W | 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 | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_mounted | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-db_mounted |
netalertx-test-mount-db_mounted | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-db_mounted | this instance in production.
netalertx-test-mount-db_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_mounted | --> first run db.sh
netalertx-test-mount-db_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_mounted | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-db_mounted |
netalertx-test-mount-db_mounted | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-db_mounted | DB before onboarding sensitive or critical networks.
netalertx-test-mount-db_mounted | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-db_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_mounted | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-db_mounted |
netalertx-test-mount-db_mounted | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-db_mounted | ══════════════════════════════════════════════════════════════════════════════
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;" &
netalertx-test-mount-db_mounted | Traceback (most recent call last):
netalertx-test-mount-db_mounted | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-db_mounted | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-db_mounted | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-db_mounted | sys.exit(main())
netalertx-test-mount-db_mounted | ^^^^^^
netalertx-test-mount-db_mounted | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-db_mounted | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-db_mounted | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-db_mounted | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-db_mounted | for setting_name, value in settings_override.items():
netalertx-test-mount-db_mounted | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-db_mounted | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-db_mounted | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-db_mounted Stopping
Container netalertx-test-mount-db_mounted Stopped
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...
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Container netalertx-test-mount-db_no-mount Creating
Container netalertx-test-mount-db_no-mount Created
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 |  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 | R | W | 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 |
netalertx-test-mount-db_no-mount |
netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_no-mount | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-db_no-mount |
netalertx-test-mount-db_no-mount | * /data not mounted, risk of dataloss
netalertx-test-mount-db_no-mount | * /data/db not mounted, risk of dataloss
netalertx-test-mount-db_no-mount |
netalertx-test-mount-db_no-mount | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-db_no-mount | configuration can be quite complex.
netalertx-test-mount-db_no-mount |
netalertx-test-mount-db_no-mount | Review the documentation for a correct setup:
netalertx-test-mount-db_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-db_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_no-mount | 
netalertx-test-mount-db_no-mount | --> first run config.sh
netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_no-mount | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-db_no-mount |
netalertx-test-mount-db_no-mount | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-db_no-mount | this instance in production.
netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_no-mount | --> first run db.sh
netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_no-mount | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-db_no-mount |
netalertx-test-mount-db_no-mount | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-db_no-mount | DB before onboarding sensitive or critical networks.
netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_no-mount | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-db_no-mount |
netalertx-test-mount-db_no-mount | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-db_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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 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;" &
netalertx-test-mount-db_no-mount | Traceback (most recent call last):
netalertx-test-mount-db_no-mount | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-db_no-mount | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-db_no-mount | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-db_no-mount | sys.exit(main())
netalertx-test-mount-db_no-mount | ^^^^^^
netalertx-test-mount-db_no-mount | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-db_no-mount | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-db_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-db_no-mount | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-db_no-mount | for setting_name, value in settings_override.items():
netalertx-test-mount-db_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-db_no-mount | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-db_no-mount | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-db_no-mount Stopping
Container netalertx-test-mount-db_no-mount Stopped
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...
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Container netalertx-test-mount-db_ramdisk Creating
Container netalertx-test-mount-db_ramdisk Created
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 |  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 | R | W | 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 |
netalertx-test-mount-db_ramdisk |
netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_ramdisk | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-db_ramdisk |
netalertx-test-mount-db_ramdisk | * /data not mounted, risk of dataloss
netalertx-test-mount-db_ramdisk | * /data/db risk of dataloss
netalertx-test-mount-db_ramdisk |
netalertx-test-mount-db_ramdisk | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-db_ramdisk | configuration can be quite complex.
netalertx-test-mount-db_ramdisk |
netalertx-test-mount-db_ramdisk | Review the documentation for a correct setup:
netalertx-test-mount-db_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-db_ramdisk | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_ramdisk | 
netalertx-test-mount-db_ramdisk | --> first run config.sh
netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_ramdisk | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-db_ramdisk |
netalertx-test-mount-db_ramdisk | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-db_ramdisk | this instance in production.
netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_ramdisk | --> first run db.sh
netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_ramdisk | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-db_ramdisk |
netalertx-test-mount-db_ramdisk | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-db_ramdisk | DB before onboarding sensitive or critical networks.
netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_ramdisk | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-db_ramdisk |
netalertx-test-mount-db_ramdisk | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-db_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 /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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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;" &
netalertx-test-mount-db_ramdisk | Traceback (most recent call last):
netalertx-test-mount-db_ramdisk | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-db_ramdisk | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-db_ramdisk | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-db_ramdisk | sys.exit(main())
netalertx-test-mount-db_ramdisk | ^^^^^^
netalertx-test-mount-db_ramdisk | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-db_ramdisk | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-db_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-db_ramdisk | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-db_ramdisk | for setting_name, value in settings_override.items():
netalertx-test-mount-db_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-db_ramdisk | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-db_ramdisk | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-db_ramdisk Stopping
Container netalertx-test-mount-db_ramdisk Stopped
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...
Volume "mount-tests_test_netalertx_db" Creating
Volume "mount-tests_test_netalertx_db" Created
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Container netalertx-test-mount-db_unwritable Creating
Container netalertx-test-mount-db_unwritable Created
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 |  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 | R | W | 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 |
netalertx-test-mount-db_unwritable |
netalertx-test-mount-db_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_unwritable | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-db_unwritable |
netalertx-test-mount-db_unwritable | * /data not mounted, risk of dataloss
netalertx-test-mount-db_unwritable | * /data/db error writing, risk of dataloss
netalertx-test-mount-db_unwritable |
netalertx-test-mount-db_unwritable | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-db_unwritable | configuration can be quite complex.
netalertx-test-mount-db_unwritable |
netalertx-test-mount-db_unwritable | Review the documentation for a correct setup:
netalertx-test-mount-db_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-db_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-db_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_unwritable | 
netalertx-test-mount-db_unwritable | \033[1;31m══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_unwritable | ❌ NetAlertX startup aborted: critical failure in mounts.py.
netalertx-test-mount-db_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/troubleshooting.md
netalertx-test-mount-db_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-db_unwritable | \033[0m
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...
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Volume "mount-tests_test_netalertx_log" Creating
Volume "mount-tests_test_netalertx_log" Created
Container netalertx-test-mount-log_mounted Creating
Container netalertx-test-mount-log_mounted Created
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 |  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 | R | W | 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 |
netalertx-test-mount-log_mounted |
netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_mounted | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-log_mounted |
netalertx-test-mount-log_mounted | * /tmp/log performance issue
netalertx-test-mount-log_mounted |
netalertx-test-mount-log_mounted | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-log_mounted | configuration can be quite complex.
netalertx-test-mount-log_mounted |
netalertx-test-mount-log_mounted | Review the documentation for a correct setup:
netalertx-test-mount-log_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-log_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_mounted | 
netalertx-test-mount-log_mounted | --> first run config.sh
netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_mounted | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-log_mounted |
netalertx-test-mount-log_mounted | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-log_mounted | this instance in production.
netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_mounted | --> first run db.sh
netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_mounted | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-log_mounted |
netalertx-test-mount-log_mounted | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-log_mounted | DB before onboarding sensitive or critical networks.
netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_mounted | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-log_mounted |
netalertx-test-mount-log_mounted | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-log_mounted | ══════════════════════════════════════════════════════════════════════════════
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 /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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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;" &
netalertx-test-mount-log_mounted | Traceback (most recent call last):
netalertx-test-mount-log_mounted | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-log_mounted | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-log_mounted | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-log_mounted | sys.exit(main())
netalertx-test-mount-log_mounted | ^^^^^^
netalertx-test-mount-log_mounted | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-log_mounted | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-log_mounted | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-log_mounted | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-log_mounted | for setting_name, value in settings_override.items():
netalertx-test-mount-log_mounted | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-log_mounted | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-log_mounted | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-log_mounted Stopping
Container netalertx-test-mount-log_mounted Stopped
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...
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Container netalertx-test-mount-log_no-mount Creating
Container netalertx-test-mount-log_no-mount Created
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 |  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 | R | W | 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 |
netalertx-test-mount-log_no-mount |
netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_no-mount | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-log_no-mount |
netalertx-test-mount-log_no-mount | * /tmp/log not mounted, performance issue
netalertx-test-mount-log_no-mount |
netalertx-test-mount-log_no-mount | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-log_no-mount | configuration can be quite complex.
netalertx-test-mount-log_no-mount |
netalertx-test-mount-log_no-mount | Review the documentation for a correct setup:
netalertx-test-mount-log_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-log_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_no-mount | 
netalertx-test-mount-log_no-mount | --> first run config.sh
netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_no-mount | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-log_no-mount |
netalertx-test-mount-log_no-mount | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-log_no-mount | this instance in production.
netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_no-mount | --> first run db.sh
netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_no-mount | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-log_no-mount |
netalertx-test-mount-log_no-mount | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-log_no-mount | DB before onboarding sensitive or critical networks.
netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_no-mount | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-log_no-mount |
netalertx-test-mount-log_no-mount | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-log_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 /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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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;" &
netalertx-test-mount-log_no-mount | Traceback (most recent call last):
netalertx-test-mount-log_no-mount | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-log_no-mount | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-log_no-mount | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-log_no-mount | sys.exit(main())
netalertx-test-mount-log_no-mount | ^^^^^^
netalertx-test-mount-log_no-mount | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-log_no-mount | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-log_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-log_no-mount | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-log_no-mount | for setting_name, value in settings_override.items():
netalertx-test-mount-log_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-log_no-mount | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-log_no-mount | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-log_no-mount Stopping
Container netalertx-test-mount-log_no-mount Stopped
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...
Volume "mount-tests_test_netalertx_data" Creating
Volume "mount-tests_test_netalertx_data" Created
Container netalertx-test-mount-log_ramdisk Creating
Container netalertx-test-mount-log_ramdisk Created
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 |  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 | R | W | 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 | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_ramdisk | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-log_ramdisk |
netalertx-test-mount-log_ramdisk | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-log_ramdisk | this instance in production.
netalertx-test-mount-log_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_ramdisk | --> first run db.sh
netalertx-test-mount-log_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_ramdisk | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-log_ramdisk |
netalertx-test-mount-log_ramdisk | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-log_ramdisk | DB before onboarding sensitive or critical networks.
netalertx-test-mount-log_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-log_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_ramdisk | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-log_ramdisk |
netalertx-test-mount-log_ramdisk | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-log_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 /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 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/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;" &
netalertx-test-mount-log_ramdisk | Traceback (most recent call last):
netalertx-test-mount-log_ramdisk | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-log_ramdisk | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-log_ramdisk | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-log_ramdisk | sys.exit(main())
netalertx-test-mount-log_ramdisk | ^^^^^^
netalertx-test-mount-log_ramdisk | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-log_ramdisk | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-log_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-log_ramdisk | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-log_ramdisk | for setting_name, value in settings_override.items():
netalertx-test-mount-log_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-log_ramdisk | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-log_ramdisk | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-log_ramdisk Stopping
Container netalertx-test-mount-log_ramdisk Stopped
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...
Volume "mount-tests_test_netalertx_log" Creating
Volume "mount-tests_test_netalertx_log" Created
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Container netalertx-test-mount-log_unwritable Creating
Container netalertx-test-mount-log_unwritable Created
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 |  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 | R | W | 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 |
netalertx-test-mount-log_unwritable |
netalertx-test-mount-log_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_unwritable | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-log_unwritable |
netalertx-test-mount-log_unwritable | * /tmp/log error writing, performance issue
netalertx-test-mount-log_unwritable |
netalertx-test-mount-log_unwritable | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-log_unwritable | configuration can be quite complex.
netalertx-test-mount-log_unwritable |
netalertx-test-mount-log_unwritable | Review the documentation for a correct setup:
netalertx-test-mount-log_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-log_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-log_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_unwritable | 
netalertx-test-mount-log_unwritable | \033[1;31m══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_unwritable | ❌ NetAlertX startup aborted: critical failure in mounts.py.
netalertx-test-mount-log_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/troubleshooting.md
netalertx-test-mount-log_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-log_unwritable | \033[0m
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...
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Volume "mount-tests_test_system_services_run" Creating
Volume "mount-tests_test_system_services_run" Created
Container netalertx-test-mount-run_mounted Creating
Container netalertx-test-mount-run_mounted Created
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 |  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 | R | W | 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 |
netalertx-test-mount-run_mounted |
netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_mounted | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-run_mounted |
netalertx-test-mount-run_mounted | * /tmp/run/tmp performance issue
netalertx-test-mount-run_mounted | * /tmp/run performance issue
netalertx-test-mount-run_mounted |
netalertx-test-mount-run_mounted | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-run_mounted | configuration can be quite complex.
netalertx-test-mount-run_mounted |
netalertx-test-mount-run_mounted | Review the documentation for a correct setup:
netalertx-test-mount-run_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-run_mounted | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_mounted | 
netalertx-test-mount-run_mounted | --> first run config.sh
netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_mounted | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-run_mounted |
netalertx-test-mount-run_mounted | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-run_mounted | this instance in production.
netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_mounted | --> first run db.sh
netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_mounted | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-run_mounted |
netalertx-test-mount-run_mounted | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-run_mounted | DB before onboarding sensitive or critical networks.
netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_mounted | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-run_mounted |
netalertx-test-mount-run_mounted | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-run_mounted | ══════════════════════════════════════════════════════════════════════════════
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 supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
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 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;" &
netalertx-test-mount-run_mounted | Traceback (most recent call last):
netalertx-test-mount-run_mounted | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-run_mounted | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-run_mounted | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-run_mounted | sys.exit(main())
netalertx-test-mount-run_mounted | ^^^^^^
netalertx-test-mount-run_mounted | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-run_mounted | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-run_mounted | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-run_mounted | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-run_mounted | for setting_name, value in settings_override.items():
netalertx-test-mount-run_mounted | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-run_mounted | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-run_mounted | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-run_mounted Stopping
Container netalertx-test-mount-run_mounted Stopped
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...
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Container netalertx-test-mount-run_no-mount Creating
Container netalertx-test-mount-run_no-mount Created
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 |  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 | R | W | 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 |
netalertx-test-mount-run_no-mount |
netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_no-mount | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-run_no-mount |
netalertx-test-mount-run_no-mount | * /tmp/run/tmp not mounted, performance issue
netalertx-test-mount-run_no-mount | * /tmp/run not mounted, performance issue
netalertx-test-mount-run_no-mount |
netalertx-test-mount-run_no-mount | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-run_no-mount | configuration can be quite complex.
netalertx-test-mount-run_no-mount |
netalertx-test-mount-run_no-mount | Review the documentation for a correct setup:
netalertx-test-mount-run_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-run_no-mount | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_no-mount | 
netalertx-test-mount-run_no-mount | --> first run config.sh
netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_no-mount | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-run_no-mount |
netalertx-test-mount-run_no-mount | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-run_no-mount | this instance in production.
netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_no-mount | --> first run db.sh
netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_no-mount | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-run_no-mount |
netalertx-test-mount-run_no-mount | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-run_no-mount | DB before onboarding sensitive or critical networks.
netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_no-mount | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-run_no-mount |
netalertx-test-mount-run_no-mount | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-run_no-mount | ══════════════════════════════════════════════════════════════════════════════
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;" &
netalertx-test-mount-run_no-mount | Traceback (most recent call last):
netalertx-test-mount-run_no-mount | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-run_no-mount | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-run_no-mount | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-run_no-mount | sys.exit(main())
netalertx-test-mount-run_no-mount | ^^^^^^
netalertx-test-mount-run_no-mount | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-run_no-mount | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-run_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-run_no-mount | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-run_no-mount | for setting_name, value in settings_override.items():
netalertx-test-mount-run_no-mount | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-run_no-mount | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-run_no-mount | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-run_no-mount Stopping
Container netalertx-test-mount-run_no-mount Stopped
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...
Volume "mount-tests_test_netalertx_data" Creating
Volume "mount-tests_test_netalertx_data" Created
Container netalertx-test-mount-run_ramdisk Creating
Container netalertx-test-mount-run_ramdisk Created
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 |  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 | R | W | 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 | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_ramdisk | 🆕 First run detected. Default configuration written to /data/config/app.conf.
netalertx-test-mount-run_ramdisk |
netalertx-test-mount-run_ramdisk | Review your settings in the UI or edit the file directly before trusting
netalertx-test-mount-run_ramdisk | this instance in production.
netalertx-test-mount-run_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_ramdisk | --> first run db.sh
netalertx-test-mount-run_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_ramdisk | 🆕 First run detected — building initial database at: /data/db/app.db
netalertx-test-mount-run_ramdisk |
netalertx-test-mount-run_ramdisk | Do not interrupt this step. When complete, consider backing up the fresh
netalertx-test-mount-run_ramdisk | DB before onboarding sensitive or critical networks.
netalertx-test-mount-run_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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 | --> apply conf override.sh
netalertx-test-mount-run_ramdisk | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_ramdisk | 📝 APP_CONF_OVERRIDE detected. Configuration written to /data/config/app_conf_override.json.
netalertx-test-mount-run_ramdisk |
netalertx-test-mount-run_ramdisk | Make sure the JSON content is correct before starting the application.
netalertx-test-mount-run_ramdisk | ══════════════════════════════════════════════════════════════════════════════
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;" &
netalertx-test-mount-run_ramdisk | Traceback (most recent call last):
netalertx-test-mount-run_ramdisk | File "<frozen runpy>", line 198, in _run_module_as_main
netalertx-test-mount-run_ramdisk | File "<frozen runpy>", line 88, in _run_code
netalertx-test-mount-run_ramdisk | File "/app/server/__main__.py", line 260, in <module>
netalertx-test-mount-run_ramdisk | sys.exit(main())
netalertx-test-mount-run_ramdisk | ^^^^^^
netalertx-test-mount-run_ramdisk | File "/app/server/__main__.py", line 104, in main
netalertx-test-mount-run_ramdisk | pm, all_plugins, imported = importConfigs(pm, db, all_plugins)
netalertx-test-mount-run_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-run_ramdisk | File "/app/server/initialise.py", line 586, in importConfigs
netalertx-test-mount-run_ramdisk | for setting_name, value in settings_override.items():
netalertx-test-mount-run_ramdisk | ^^^^^^^^^^^^^^^^^^^^^^^
netalertx-test-mount-run_ramdisk | AttributeError: 'int' object has no attribute 'items'
netalertx-test-mount-run_ramdisk | Successfully updated IEEE OUI database (112333 entries)
Gracefully stopping... (press Ctrl+C again to force)
Container netalertx-test-mount-run_ramdisk Stopping
Container netalertx-test-mount-run_ramdisk Stopped
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...
Volume "mount-tests_test_system_services_run" Creating
Volume "mount-tests_test_system_services_run" Created
Volume "mount-tests_netalertx_db" Creating
Volume "mount-tests_netalertx_db" Created
Volume "mount-tests_netalertx_config" Creating
Volume "mount-tests_netalertx_config" Created
Container netalertx-test-mount-run_unwritable Creating
Container netalertx-test-mount-run_unwritable Created
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 |  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 | R | W | 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 |
netalertx-test-mount-run_unwritable |
netalertx-test-mount-run_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_unwritable | ⚠️ ATTENTION: Configuration issues detected (marked with ❌).
netalertx-test-mount-run_unwritable |
netalertx-test-mount-run_unwritable | * /tmp/run/tmp error writing, performance issue
netalertx-test-mount-run_unwritable | * /tmp/run error writing, performance issue
netalertx-test-mount-run_unwritable |
netalertx-test-mount-run_unwritable | We recommend starting with the default docker-compose.yml as the
netalertx-test-mount-run_unwritable | configuration can be quite complex.
netalertx-test-mount-run_unwritable |
netalertx-test-mount-run_unwritable | Review the documentation for a correct setup:
netalertx-test-mount-run_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/DOCKER_COMPOSE.md
netalertx-test-mount-run_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/mount-configuration-issues.md
netalertx-test-mount-run_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_unwritable | 
netalertx-test-mount-run_unwritable | \033[1;31m══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_unwritable | ❌ NetAlertX startup aborted: critical failure in mounts.py.
netalertx-test-mount-run_unwritable | https://github.com/jokob-sk/NetAlertX/blob/main/docs/docker-troubleshooting/troubleshooting.md
netalertx-test-mount-run_unwritable | ══════════════════════════════════════════════════════════════════════════════
netalertx-test-mount-run_unwritable | \033[0m
netalertx-test-mount-run_unwritable exited with code 1
All tests completed - Sun Dec 21 23:41:22 UTC 2025