Skip to content

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:

PathPurpose
custom/modules/*.pyCustom Modules.
custom/playbooks/*.pyCustom Playbooks.
custom/data/modules/<module_slug>/raw_alert_*.jsonModule development samples.
custom/data/siem/*.yamlCustom SIEM YAML.
custom/data/playbooks/<playbook_slug>/*.mdCustom Playbook prompts.
custom/requirements.txtExtra 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:

text
custom/requirements.txt

Install them:

bash
docker compose run --rm asp-custom-deps

Dependencies 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:

bash
docker compose run --rm asp-custom-deps --index-url https://pypi.org/simple

Arguments 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:

bash
docker compose run --rm \
  -e HTTP_PROXY=http://proxy.example:8080 \
  -e HTTPS_PROXY=http://proxy.example:8080 \
  asp-custom-deps

3. Apply changes

For Module, Playbook, or SIEM YAML changes, use Refresh / Validate in the corresponding Custom Console tab.

After dependency or shared helper changes:

bash
docker compose run --rm asp-custom-deps
docker compose restart asp-web asp-worker-module asp-worker-playbook
./scripts/doctor.sh

4. 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.yaml for service-level volumes, environment variables, commands, or other overrides.
  • Do not edit the official compose.yaml.

For example:

yaml
services:
  asp-web:
    environment:
      EXAMPLE_SETTING: value

Apply the change:

bash
docker compose up -d
./scripts/doctor.sh

Release packages do not contain .env, compose.override.yaml, or custom/, so overlay upgrades preserve them. See Upgrade.

Next Steps