crowdsecurity/crowdsec · error
only one 'follow_stderr' parameters is required, not many
Error message
only one 'follow_stderr' parameters is required, not many
What it means
Validation guard in ConfigureByDSN of the docker source: boolean DSN parameters like 'follow_stderr' must appear at most once; the query string repeated the parameter, which is ambiguous, so configuration fails.
Source
Thrown at pkg/acquisition/modules/docker/config.go:277
d.containerLogsOptions.Until = v[0]
case "since":
if len(v) != 1 {
return errors.New("only one 'since' parameters is required, not many")
}
d.containerLogsOptions.Since = v[0]
case "follow_stdout":
if len(v) != 1 {
return errors.New("only one 'follow_stdout' parameters is required, not many")
}
followStdout, err := strconv.ParseBool(v[0])
if err != nil {
return fmt.Errorf("parsing 'follow_stdout' parameters: %s", err)
}
d.Config.FollowStdout = followStdout
d.containerLogsOptions.ShowStdout = followStdout
case "follow_stderr":
if len(v) != 1 {
return errors.New("only one 'follow_stderr' parameters is required, not many")
}
followStdErr, err := strconv.ParseBool(v[0])
if err != nil {
return fmt.Errorf("parsing 'follow_stderr' parameters: %s", err)
}
d.Config.FollowStdErr = followStdErr
d.containerLogsOptions.ShowStderr = followStdErr
case "docker_host":
if len(v) != 1 {
return errors.New("only one 'docker_host' parameters is required, not many")
}
opts = append(opts, client.WithHost(v[0]))
}
}
d.Client, err = client.New(opts...)
if err != nil {
return errView on GitHub (pinned to 909b515798)
Solutions
- Specify follow_stderr=true or false exactly once
- Combine with a single follow_stdout if you need both streams
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/acquisition/modules/docker/config.go:277 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of crowdsecurity/crowdsec@909b515798 (2026-09-06).
Data as JSON: /api/errors/7c4ac4170a03aae9.
Report an issue: GitHub.