diff --git a/Dockerfile b/Dockerfile index 892a6eb3a..e25e9c728 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ RUN apk update && apk add --no-cache git jq gcc libc-dev make bash gettext binut COPY . . RUN SYSTEM="docker" make release -RUN /bin/bash wizard.sh --docker-mode +RUN cd crowdsec-v* && ./wizard.sh --docker-mode && cd - RUN cscli hub update && cscli collections install crowdsecurity/linux FROM alpine:latest @@ -20,5 +20,11 @@ COPY --from=build /usr/local/bin/crowdsec /usr/local/bin/crowdsec COPY --from=build /usr/local/bin/cscli /usr/local/bin/cscli COPY --from=build /go/src/crowdsec/docker/docker_start.sh / COPY --from=build /go/src/crowdsec/docker/config.yaml /etc/crowdsec/config.yaml +#Due to the wizard using cp -n, we have to copy the config files directly from the source as -n does not exist in busybox cp +#The files are here for reference, as users will need to mount a new version to be actually able to use notifications +COPY --from=build /go/src/crowdsec/plugins/notifications/http/http.yaml /etc/crowdsec/notifications/http.yaml +COPY --from=build /go/src/crowdsec/plugins/notifications/slack/slack.yaml /etc/crowdsec/notifications/slack.yaml +COPY --from=build /go/src/crowdsec/plugins/notifications/splunk/splunk.yaml /etc/crowdsec/notifications/splunk.yaml +COPY --from=build /usr/local/lib/crowdsec/plugins /usr/local/lib/crowdsec/plugins ENTRYPOINT /bin/sh docker_start.sh \ No newline at end of file diff --git a/docker/README.md b/docker/README.md index ec5b9917e..b1f66d218 100644 --- a/docker/README.md +++ b/docker/README.md @@ -14,6 +14,7 @@ You should apply following configuration before starting it : * Specify collections|scenarios|parsers/postoverflows to install via the environment variables (by default [`crowdsecurity/linux`](https://hub.crowdsec.net/author/crowdsecurity/collections/linux) is installed) * Mount volumes to specify your log files that should be ingested by crowdsec (set up in acquis.yaml) +* If you wish to use the [notification system](https://docs.crowdsec.net/docs/notification_plugins/intro), you will need to mount at least a custom `profiles.yaml` and a notification configuration to `/etc/crowdsec/notifications` * Mount other volumes : if you want to share the database for example ```shell diff --git a/docker/config.yaml b/docker/config.yaml index 8f62cd1f1..688d54180 100644 --- a/docker/config.yaml +++ b/docker/config.yaml @@ -11,9 +11,14 @@ config_paths: simulation_path: /etc/crowdsec/simulation.yaml hub_dir: /etc/crowdsec/hub/ index_path: /etc/crowdsec/hub/.index.json + notification_dir: /etc/crowdsec/notifications/ + plugin_dir: /usr/local/lib/crowdsec/plugins/ crowdsec_service: acquisition_path: /etc/crowdsec/acquis.yaml parser_routines: 1 +plugin_config: + user: nobody + group: nobody cscli: output: human hub_branch: master