Installation
Prérequis matériel
| RAM | CPU2 | Utilisateurs concurrents1 | Nb Produits/Projets |
|---|---|---|---|
| 16Go | 2 | 0-5 | < 1000 |
| 24Go | 2 | 5-10 | < 5000 |
| 32Go | 4 | 10-30 | < 20000 |
| 64Go | 6 | >30 | > 20000 |
disque :
- 1 disque système de 15 Go comprenant une partition / et une partition SWAP
- 1 disque de données de 50 Go dont le volume dépend principalement des documents
Associé aux produits, on peut décomposer l'espace utilisé pour 1 000 produits ainsi :
- Espace base de données : environ 10 Go
- Espace pour l'index de recherche plein texte : environ 10 Go
- Espace pour les documents associés : 10 Go (1 000 produits * 10 Mo)
1. Avec ces métriques, N utilisateurs concurrents sont considérés comme 10xN utilisateurs occasionnels. ↩
2. 2 CPU sont équivalents à 1 Dual-core ↩
Prérequis modules optionnels
Les modules beCPG OLAP (Business Intelligence / Saiku) et beCPG AI (assistant Watson,
suggestions IA, optimisation de recettes GLOP) sont optionnels. Ils sont déployés en surcharge
docker compose (docker-compose.olap.yml et docker-compose.ai.yml) et peuvent être installés
sur le serveur beCPG ou sur un serveur séparé.
Les ressources ci-dessous s'ajoutent au dimensionnement du serveur principal lorsque les modules sont hébergés sur la même machine :
| Module | RAM | CPU | Disque | Remarques |
|---|---|---|---|---|
| beCPG OLAP | 3Go | 1 | 10Go | Base MySQL dédiée (olap-db) + connecteur de synchronisation |
| beCPG AI | 4Go | 2 | 2Go | Sans état (embeddings inclus dans l'image), nécessite une clé API IA4 |
Le connecteur OLAP s'authentifie auprès du core en OAuth2 (client_credentials) via un client
dédié créé dans le service d'identité (Keycloak / becpg-auth). Le module AI fonctionne en
mode délégué : il rejoue le token de l'utilisateur transmis par Share (aucun compte de service
dédié), et valide les tokens entrants comme serveur de ressources OAuth2.
Lorsque les modules sont hébergés sur un serveur séparé, ce dernier doit disposer de Docker et
Docker Compose, d'un accès réseau au serveur beCPG (core sur le port 8080 et service d'identité
/auth) et, pour beCPG AI, d'un accès sortant vers le fournisseur d'IA. Prévoir alors la RAM et le
CPU du tableau ci-dessus, plus la base système (2Go de RAM / 1 CPU).
4. beCPG AI requiert une clé d'API auprès d'un fournisseur d'IA (Google AI/Gemini par défaut, ou OpenAI). ↩
Prérequis logiciel
beCPG est distribué sous la forme de container docker lui permettant ainsi d'être exécuté sur n'importe quel serveur. beCPG fourni une installation automatique et un support complet pour l'installation des containers dans un environnement Ubuntu Server >= 26.04 LTS 64 bits.3
Ubuntu Server 26.04 LTS 64 bits peut être installé sur un serveur virtualisé, dédié ou dans le cloud.
Adresse de téléchargement des images ISO: [https://www.ubuntu.com/download/server]
3. beCPG peut aussi être déployé sur un environnement kupernete type Amazon EKS, Google cloud ou autre. Cependant, ce ne sera pas l'objet de cette documentation. ↩
Le reste de la documentation est basée sur l'utilisation d'une machine virtuelle Linux Ubuntu >= 26.04 LTS 64 bits.
Tutoriel d'installation: https://tutorials.ubuntu.com/tutorial/tutorial-install-ubuntu-server
Prérequis poste client
Un poste en mesure d'exécuter un navigateur moderne tel que Firefox, un lecteur PDF et une suite office.
- 2 CPU
- 4 GB of RAM
- Espace de stockage temporaire lors de l'édition de documents (l'espace prit par les documents en cours d'édition)
Installation serveur
beCPG fournit un script d'installation qui peut être utilisé et adapté en fonction des besoins.
chmod +x install_docker_ubuntu_26_1_0.sh
./install_docker_ubuntu_26_1_0.sh
Une fois exécuté, les composants logiciels suivants seront installés sur la machine virtuel:
L’installation est constituée d’images docker qui sont construites et distribuées par beCPG. Docker Compose est utilisé pour débuter le téléchargement et la mise à jour de ces images.
Sur la machine hôte, sous /opt/becpg-srv-instances, vous trouverez le dossier d’installation de beCPG. Les fichiers importants sont :
/opt/becpg-srv-instances/inst1/.env
/opt/becpg-srv-instances/inst1/README.md
/opt/becpg-srv-instances/inst1/docker-compose.override.yml
/opt/becpg-srv-instances/inst1/docker-compose.yml
/opt/becpg-srv-instances/inst1/ssl/000-default.conf
/opt/becpg-srv-instances/inst1/tunning/mysql.cnf
/opt/becpg-srv-instances/inst1/tools/
/opt/becpg-srv-instances/inst1/info/
/opt/becpg-srv-instances/inst1/ids/
Partition
Par défaut, beCPG créé une nouvelle partition sur le disque données. Cette partition contient toutes les données de l'application, les containers et les volumes docker.
Le point de montage est par défaut /mnt/becpg-data
Exemple de script permettant la création de la nouvelle partition données sur le disque /dev/sdb
mkdir /mnt/becpg-data
mkfs.ext4 /dev/sdb
echo "/dev/sdb /mnt/becpg-data ext4 rw,noatime,data=writeback,barrier=0,nobh,errors=remount-ro,x-systemd.automount,x-initrd.mount 0 1" >> /etc/fstab
mount -a
Déploiement d’une nouvelle version de beCPG
Le déploiement de beCPG ainsi que sa mise à jour est réalisé grâce à docker compose. Les commandes sont les suivantes :
cd /opt/becpg-srv-instances/inst1
docker compose pull
docker compose up -d
Modules optionnels (OLAP / AI)
Les modules beCPG OLAP et beCPG AI sont activés en surchargeant la configuration compose
principale. Pour chaque module : copiez le fichier .sample, complétez les variables dans .env
(versions, clés API), puis démarrez la pile avec les deux fichiers.
Pour OLAP, une étape de provisioning crée automatiquement le client Keycloak
(olap-connector@becpg.fr), ajoute le mapper d'audience nécessaire et écrit le secret généré dans
.env (OLAP_CONNECTOR_SECRET). Le module AI ne nécessite aucun provisioning (mode délégué).
cd /opt/becpg-srv-instances/inst1
# beCPG OLAP (Business Intelligence)
cp docker-compose.olap.yml.sample docker-compose.olap.yml
./tools/ids.sh create-olap-connector # crée le client OAuth2 + secret dans .env
docker compose -f docker-compose.yml -f docker-compose.olap.yml up -d
# beCPG AI (assistant Watson, suggestions, GLOP)
cp docker-compose.ai.yml.sample docker-compose.ai.yml
# renseigner AI_GOOGLEAI_API_KEY dans .env
docker compose -f docker-compose.yml -f docker-compose.ai.yml up -d
Ces modules peuvent également être installés sur un serveur séparé (voir Prérequis modules
optionnels). Dans ce cas, adaptez les URL (CONTENT_SERVICE_URL, BECPG_AI_URL, token-uri)
pour pointer vers le serveur beCPG principal et son service d'identité.