blob: 98962758995b160ac67baa22a8edba46e438a8c5 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#!/bin/sh /etc/rc.common
2# Copyright (C) 2021-2022 Gerald Kerma <gandalf@gk2.net>
3
4START=99
5USE_PROCD=1
6NAME=crowdsec
7PROG=/usr/bin/crowdsec
8CONFIG=/etc/crowdsec/config.yaml
9RUNCONFDIR=/srv/crowdsec/data
10VARCONFIGDIR=/var/etc/crowdsec
11VARCONFIG=/var/etc/crowdsec/config.yaml
12
13service_triggers() {
14 procd_add_reload_trigger crowdsec
15}
16
17init_config() {
18 config_load crowdsec
19 config_get data_dir crowdsec data_dir "${RUNCONFDIR}"
20 config_get db_path crowdsec db_path "${RUNCONFDIR}/crowdsec.db"
21
22 # Create tmp dir & permissions if needed
23 if [ ! -d "${VARCONFIGDIR}" ]; then
24 mkdir -m 0755 -p "${VARCONFIGDIR}"
25 fi;
26
27 cp $CONFIG $VARCONFIG
28
29 sed -i "s,^\(\s*data_dir\s*:\s*\).*\$,\1$data_dir," $VARCONFIG
30 sed -i "s,^\(\s*db_path\s*:\s*\).*\$,\1$db_path," $VARCONFIG
31
32 # Create data dir & permissions if needed
33 if [ ! -d "${RUNCONFDIR}" ]; then
34 mkdir -m 0755 -p "${RUNCONFDIR}"
35 fi;
36}
37
38start_service() {
39 init_config
40
41 procd_open_instance
42 procd_set_param command "$PROG" -c "$VARCONFIG"
43 procd_close_instance
44}