Custom Content Deployment
This page describes how to deploy custom Modules, Playbooks, SIEM YAML, and Python dependencies to a Docker Compose installation. Complete Deployment first.
1. Custom directory
The Compose deployment mounts the host custom/ directory into backend containers:
| Path | Purpose |
|---|---|
custom/modules/*.py | Custom Modules. |
custom/playbooks/*.py | Custom Playbooks. |
custom/data/modules/<module_slug>/raw_alert_*.json | Module development samples. |
custom/data/siem/*.yaml | Custom SIEM YAML. |
custom/data/playbooks/<playbook_slug>/*.md | Custom Playbook prompts. |
custom/requirements.txt | Extra Python packages required by Modules, Playbooks, or shared helpers. |
init.sh creates the empty directory structure and custom/requirements.txt template. Source examples under backend/custom/ are development references and are not included in release packages.
2. Install Python dependencies
Add dependencies to:
custom/requirements.txtInstall them:
docker compose run --rm asp-custom-depsDependencies are installed at /opt/asp/custom-packages, persisted in the custom-python-packages Docker named volume, and mounted into all backend services.
To choose a Python package index:
docker compose run --rm asp-custom-deps --index-url https://pypi.org/simpleArguments after the service name are passed to uv pip install, for example:
--extra-index-url https://packages.example.com/simple--upgrade
To pass proxy settings into the container:
docker compose run --rm \
-e HTTP_PROXY=http://proxy.example:8080 \
-e HTTPS_PROXY=http://proxy.example:8080 \
asp-custom-deps3. Apply changes
For Module, Playbook, or SIEM YAML changes, use Refresh / Validate in the corresponding Custom Console tab.
After dependency or shared helper changes:
docker compose run --rm asp-custom-deps
docker compose restart asp-web asp-worker-module asp-worker-playbook
./scripts/doctor.sh4. Compose overrides
init.sh creates compose.override.yaml when it does not exist. Docker Compose merges it with the official compose.yaml.
- Keep supported settings in
.env. - Edit
compose.override.yamlfor service-level volumes, environment variables, commands, or other overrides. - Do not edit the official
compose.yaml.
For example:
services:
asp-web:
environment:
EXAMPLE_SETTING: valueApply the change:
docker compose up -d
./scripts/doctor.shRelease packages do not contain .env, compose.override.yaml, or custom/, so overlay upgrades preserve them. See Upgrade.
Next Steps
- Custom Console — Inspect and validate loaded definitions.
- Module Development — Write Redis Stream consumption logic.
- Playbook Development — Write Case-triggered automation.
- SIEM YAML — Maintain index field definitions.
- Restart & Operations — Check service status and logs.