mirror of
https://github.com/FuzzingLabs/fuzzforge_ai.git
synced 2026-07-09 22:18:49 +02:00
docs: Update README and fix worker startup instructions
README updates: - Update docker compose command (now main docker-compose.yml) - Remove obsolete insecure registries section (MinIO replaces local registry) - Add .env configuration section for AI agent API keys Worker management fixes: - Add worker_service field to API response (backend) - Fix CLI help message to use correct service name with 'docker compose up -d' - Use modern 'docker compose' syntax instead of deprecated 'docker-compose' This ensures users get correct instructions when workers aren't running.
This commit is contained in:
@@ -81,38 +81,20 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
|
|||||||
**Docker**
|
**Docker**
|
||||||
For containerized workflows, see the [Docker Installation Guide](https://docs.docker.com/get-docker/).
|
For containerized workflows, see the [Docker Installation Guide](https://docs.docker.com/get-docker/).
|
||||||
|
|
||||||
#### Configure Docker Daemon
|
#### Configure AI Agent API Keys (Optional)
|
||||||
|
|
||||||
Before running `docker compose up`, configure Docker to allow insecure registries (required for the local registry).
|
For AI-powered workflows, configure your LLM API keys:
|
||||||
|
|
||||||
Add the following to your Docker daemon configuration:
|
```bash
|
||||||
|
cp volumes/env/.env.example volumes/env/.env
|
||||||
```json
|
# Edit volumes/env/.env and add your API keys (OpenAI, Anthropic, Google, etc.)
|
||||||
{
|
|
||||||
"insecure-registries": [
|
|
||||||
"localhost:5000",
|
|
||||||
"host.docker.internal:5001",
|
|
||||||
"registry:5000"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**macOS (Docker Desktop):**
|
This is required for:
|
||||||
1. Open Docker Desktop
|
- `llm_secret_detection` workflow
|
||||||
2. Go to Settings → Docker Engine
|
- AI agent features (`ff ai agent`)
|
||||||
3. Add the `insecure-registries` configuration to the JSON
|
|
||||||
4. Click "Apply & Restart"
|
|
||||||
|
|
||||||
**Linux:**
|
Basic security workflows (gitleaks, trufflehog, security_assessment) work without this configuration.
|
||||||
1. Edit `/etc/docker/daemon.json` (create if it doesn't exist):
|
|
||||||
```bash
|
|
||||||
sudo nano /etc/docker/daemon.json
|
|
||||||
```
|
|
||||||
2. Add the configuration above
|
|
||||||
3. Restart Docker:
|
|
||||||
```bash
|
|
||||||
sudo systemctl restart docker
|
|
||||||
```
|
|
||||||
|
|
||||||
### CLI Installation
|
### CLI Installation
|
||||||
|
|
||||||
@@ -139,7 +121,7 @@ git clone https://github.com/fuzzinglabs/fuzzforge_ai.git
|
|||||||
cd fuzzforge_ai
|
cd fuzzforge_ai
|
||||||
|
|
||||||
# 2. Start FuzzForge with Temporal
|
# 2. Start FuzzForge with Temporal
|
||||||
docker-compose -f docker-compose.temporal.yaml up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
> The first launch can take 2-3 minutes for services to initialize ☕
|
> The first launch can take 2-3 minutes for services to initialize ☕
|
||||||
|
|||||||
@@ -567,6 +567,7 @@ async def get_workflow_worker_info(
|
|||||||
"workflow": workflow_name,
|
"workflow": workflow_name,
|
||||||
"vertical": vertical,
|
"vertical": vertical,
|
||||||
"worker_container": f"fuzzforge-worker-{vertical}",
|
"worker_container": f"fuzzforge-worker-{vertical}",
|
||||||
|
"worker_service": f"worker-{vertical}",
|
||||||
"task_queue": f"{vertical}-queue",
|
"task_queue": f"{vertical}-queue",
|
||||||
"required": True
|
"required": True
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -385,13 +385,14 @@ def execute_workflow(
|
|||||||
|
|
||||||
# Ensure worker is running
|
# Ensure worker is running
|
||||||
worker_container = worker_info["worker_container"]
|
worker_container = worker_info["worker_container"]
|
||||||
|
worker_service = worker_info.get("worker_service", f"worker-{worker_info['vertical']}")
|
||||||
if not worker_mgr.ensure_worker_running(worker_info, auto_start=should_auto_start):
|
if not worker_mgr.ensure_worker_running(worker_info, auto_start=should_auto_start):
|
||||||
console.print(
|
console.print(
|
||||||
f"❌ Worker not available: {worker_info['vertical']}",
|
f"❌ Worker not available: {worker_info['vertical']}",
|
||||||
style="red"
|
style="red"
|
||||||
)
|
)
|
||||||
console.print(
|
console.print(
|
||||||
f"💡 Start the worker manually: docker-compose start {worker_container}"
|
f"💡 Start the worker manually: docker compose up -d {worker_service}"
|
||||||
)
|
)
|
||||||
raise typer.Exit(1)
|
raise typer.Exit(1)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user