Devcontainer Management
When starting a session or performing tasks requiring the runtime environment, you must identify and use the active development container.
Finding the Container
Run docker ps to list running containers. Look for an image name containing vsc-netalertx or similar.
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}" | grep netalertx
- If no container is found: Inform the user. You cannot run integration tests or backend logic without it.
- If multiple containers are found: Ask the user to clarify which one to use (e.g., provide the Container ID).
Running Commands in the Container
Prefix commands with docker exec <CONTAINER_ID> to run them inside the environment. Use the scripts in /services/ to control backend and other processes.
docker exec <CONTAINER_ID> bash /workspaces/NetAlertX/.devcontainer/scripts/setup.sh
Note: This script wipes /tmp ramdisks, ensures /data, /data/config, /data/db exist, and restarts services (python server, cron, php-fpm, nginx) by symlinking and running /entrypoint.sh (install/production-filesystem/entrypoint.d/). By default it does not delete existing database or config content - entrypoint.d/25-first-run-db.sh and 20-first-run-config.sh only wipe them when ALWAYS_FRESH_INSTALL=true is set in the environment (default: unset/false, so content is preserved).