-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathstack-start.sh
More file actions
67 lines (53 loc) · 1.99 KB
/
stack-start.sh
File metadata and controls
67 lines (53 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env bash
set -euo pipefail
if [[ ! -f .env.example ]]; then
echo "❌ Fichier .env.example introuvable."
exit 1
fi
# Fonction pour remplacer ou ajouter une clé dans .env
set_env_value () {
local key="$1"
local value="$2"
if grep -q "^${key}=" .env; then
sed -i "s|^${key}=.*|${key}=${value}|" .env
else
echo "${key}=${value}" >> .env
fi
}
# Generate a "random" alpha-numeric string.
str_random () {
local length="${1:-32}"
openssl rand -base64 $((length * 2)) \
| tr -dc 'A-Za-z0-9' \
| head -c "$length"
}
if [[ ! -f .env ]]; then
echo "📝 Création du fichier .env..."
cp .env.example .env
# Génération mot de passe
PWD_SUFFIX="$(str_random 8)"
set_env_value "APP_KEY" "base64:$(openssl rand -base64 32)"
set_env_value "HASHER_NONCE" "$(str_random 64)"
set_env_value "PERFORMA_SECRET_KEY" "$(str_random 64)"
set_env_value "JWT_SECRET" "$(str_random 64)"
set_env_value "ADMIN_PASSWORD" "admin_pwd_${PWD_SUFFIX}"
set_env_value "DB_PASSWORD" "towerify_pwd_${PWD_SUFFIX}"
set_env_value "DB_ROOT_PASSWORD" "towerify_root_pwd_${PWD_SUFFIX}"
set_env_value "CH_PASSWORD" "towerify_ch_pwd_${PWD_SUFFIX}"
set_env_value "ZO_ROOT_USER_PASSWORD" "openobserve_pwd_${PWD_SUFFIX}"
set_env_value "OPENOBSERVE_PASSWORD" "openobserve_pwd_${PWD_SUFFIX}"
echo "✅ .env généré avec succès"
else
echo "✅ Utilisation du fichier .env existant"
fi
# Définir les arguments par défaut pour docker compose up
DOCKER_COMPOSE_ARGS=${DOCKER_COMPOSE_ARGS:-"up --detach"}
docker compose $DOCKER_COMPOSE_ARGS
echo -e "\nStack démarrée.\nVous pouvez maintenant accéder à :"
echo -e " • Cywise UI : http://localhost:17801"
echo -e " • Performa : http://localhost:17802"
echo -e " • Mailpit : http://localhost:17803"
echo -e " • Jobs scanner de vulns : http://localhost:17804"
echo -e " • Logs scanner de vulns : http://localhost:17805"
echo -e "\nVous pouvez l'arrêter avec :"
echo -e " ./stack-stop.sh"