blob: afabb15752564c3f66f6609025feb6fcbe5c7c0f (
plain)
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
#!/bin/bash
# Script d'installation de GitLab Omnibus sur chillka
# À exécuter sur chillka en tant que toshiro avec sudo
set -e
echo "=== Installation de GitLab Omnibus sur chillka ==="
# Vérifier les prérequis système
echo "Vérification des prérequis..."
# Vérifier la RAM disponible
RAM_AVAILABLE=$(free -g | awk '/^Mem:/{print $7}')
if [ "$RAM_AVAILABLE" -lt 2 ]; then
echo "⚠️ Attention: Moins de 2GB RAM disponible. GitLab nécessite au moins 2GB."
read -p "Continuer quand même? (y/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
fi
# Vérifier l'espace disque
DISK_AVAILABLE=$(df -BG / | awk 'NR==2 {print $4}' | sed 's/G//')
if [ "$DISK_AVAILABLE" -lt 4 ]; then
echo "⚠️ Attention: Moins de 4GB d'espace disque disponible."
read -p "Continuer quand même? (y/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
fi
# Vérifier que nous sommes sur chillka
echo "Vérification de l'environnement..."
if [ ! -d "/var/data/git/repositories" ]; then
echo "Erreur: Le répertoire /var/data/git/repositories n'existe pas"
exit 1
fi
# Étape 1: Mettre à jour le système
echo "Étape 1: Mise à jour du système..."
sudo apt update
sudo apt upgrade -y
# Étape 2: Installer les dépendances
echo "Étape 2: Installation des dépendances..."
sudo apt install -y curl openssh-server ca-certificates tzdata perl
# Étape 3: Configurer SSH (si nécessaire)
echo "Étape 3: Configuration SSH..."
if ! sudo systemctl is-active --quiet sshd; then
sudo systemctl enable sshd
sudo systemctl start sshd
fi
# Étape 4: Ajouter le dépôt GitLab
echo "Étape 4: Ajout du dépôt GitLab..."
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
# Étape 5: Demander l'URL externe
echo ""
read -p "URL externe pour GitLab (ex: http://chillka ou https://chillka.example.com): " EXTERNAL_URL
if [ -z "$EXTERNAL_URL" ]; then
EXTERNAL_URL="http://chillka"
echo "Utilisation de l'URL par défaut: $EXTERNAL_URL"
fi
# Étape 6: Installer GitLab
echo "Étape 6: Installation de GitLab (cela peut prendre 10-15 minutes)..."
sudo EXTERNAL_URL="$EXTERNAL_URL" apt install gitlab-ce -y
# Étape 7: Configurer GitLab pour utiliser le répertoire existant
echo "Étape 7: Configuration de GitLab..."
sudo tee -a /etc/gitlab/gitlab.rb > /dev/null <<EOF
# Configuration pour utiliser le répertoire de dépôts existant
git_data_dirs({
"default" => {
"path" => "/var/data/git/repositories"
}
})
EOF
# Étape 8: Reconfigurer GitLab
echo "Étape 8: Reconfiguration de GitLab (cela peut prendre 5-10 minutes)..."
sudo gitlab-ctl reconfigure
# Étape 9: Vérifier le statut
echo "Étape 9: Vérification du statut..."
sleep 5
if sudo gitlab-ctl status | grep -q "run:"; then
echo "✓ GitLab est démarré avec succès"
else
echo "✗ Erreur: GitLab n'a pas démarré correctement"
echo "Vérifiez les logs: sudo gitlab-ctl tail"
exit 1
fi
# Afficher les informations importantes
echo ""
echo "=== Installation terminée ==="
echo ""
echo "Informations importantes:"
echo " - URL GitLab: $EXTERNAL_URL"
echo " - Username initial: root"
echo " - Mot de passe: À définir lors de la première connexion"
echo ""
echo "Prochaines étapes:"
echo "1. Ouvrir $EXTERNAL_URL dans un navigateur"
echo "2. Définir le mot de passe root"
echo "3. Se connecter avec root / [votre mot de passe]"
echo "4. Créer ou importer le projet config-files-keyvault"
echo ""
echo "Commandes utiles:"
echo " - Statut: sudo gitlab-ctl status"
echo " - Logs: sudo gitlab-ctl tail"
echo " - Redémarrer: sudo gitlab-ctl restart"
echo " - Vérifier: sudo gitlab-rake gitlab:check"
|