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

240 KiB
Raw Blame History

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