Files
NetAlertX/test/docker_tests/configurations/test_results.log
2025-11-23 15:56:42 +00:00

1496 lines
119 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

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

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

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