Repository navigation
2. Installation
Le déploiement d'AkaStack suit un flux automatisé en deux étapes :
-
Bootstrap : Utilisation du dépôt AkaStack pour configurer l'hôte.
-
Orchestration : Clonage et configuration automatique du dépôt AkaStack-infra.
Avant de commencer, assurez-vous que votre machine hôte dispose de :
-
Git
-
Docker Desktop (recommandé pour le workflow moderne)
-
Vagrant (>= 2.4) & VirtualBox/Parallels (pour le workflow bas-niveau)
L'installation est pilotée par le dépôt principal qui prépare votre environnement de manière agnostique.
1. Clonage du dépôt de Bootstrap :
git clone https://github.com/itakademy/AkaStack.git
cd AkaStack- Lancement du script de setup : Ce script va configurer votre hôte, installer les dépendances nécessaires et cloner automatiquement le dépôt AkaStack-infra dans le dossier approprié.
chmod +x host-setup-<system>-<stack>.sh // ou <system> : macos | linux et <stack> : vagrant | docker
./host-setup-<system>-<stack>.sh.shL'utilisation du script de setup initial est obligatoire. Il ne se contente pas de cloner du code ; il vérifie la conformité de votre système (Path, droits SSH, certificats) pour garantir que votre environnement de développement est identique à celui de l'équipe et de la pré-production.
Une fois l'hôte prêt, vous avez le choix entre deux modes d'exécution. Cette double approche a une vocation pédagogique : maîtriser les standards Docker actuels tout en comprenant l'administration système bas-niveau (Vagrant/Ansible).
Path A: Docker (Cloud-Native Workflow) Idéal pour le développement rapide et la parité avec les environnements AWS (ECS/Fargate).
docker compose up -d --buildPath B: Vagrant (Low-Level Mastery) Idéal pour apprendre la gestion d'OS Linux, le provisionnement Shell et Ansible.
vagrant upQualité & Observabilité (SSL ready)
AkaStack utilise un Reverse Proxy Apache pour centraliser les accès. Grâce à mkcert, tous les services sont accessibles en HTTPS pour simuler une production réelle.
Le passage par le dépôt principal garantit que les GitHub Actions sont correctement configurées :
-
Analyse statique du code de provisionnement.
-
Tests d'intégration des conteneurs/VM.
-
Validation de la cohérence des sous-modules applicatifs.
AkaStack supports two distinct and fully supported workflows for integrating your backend and frontend into a project. This allows each client or product to be provisioned in the way that best fits its lifecycle.
WIP
WIP
Dans les deux cas, AkaStack maintient une séparation stricte entre la plateforme (infrastructure) et le code applicatif, garantissant que chaque projet reste entièrement reproductible, versionné et prêt pour le déploiement (Cloud-ready).
Une fois le provisionnement terminé, vous pouvez interagir avec votre environnement de deux manières, selon le chemin (Path) choisi lors de l'installation.
La stack utilise un nom de domaine local (défini dans votre .env). Par défaut :
Application : https://akastack.local
Outils d'observabilité : (mail., mongo., swagger., redis.)akastack.local
Selon votre mode d'exécution, la méthode de connexion varie. AkaStack maintient une structure de dossiers identique (/var/www/project) dans les deux mondes pour garantir la portabilité de vos commandes.
Mode A : Workflow Docker (Conteneurs isolés) En mode Docker, vous ne vous connectez pas à une "machine", mais vous exécutez des commandes à l'intérieur d'un service spécifique (le plus souvent le service php-fpm qui contient vos outils de développement).
Entrer dans le conteneur Backend :
docker compose exec php-fpm bashExécuter une commande sans entrer (ex: Composer) :
docker compose exec php-fpm composer installVoir les logs en temps réel :
docker compose logs -fMode B : Workflow Vagrant (Machine Virtuelle complète) En mode Vagrant, vous vous connectez à une instance Linux complète (Ubuntu) qui fait tourner tous les services.
Se connecter en SSH :
vagrant sshSe déplacer dans le projet : Une fois dans la VM, le projet est automatiquement monté dans :
cd /var/www/projectIl est fortement conseillé aux apprenants de commencer par le workflow Vagrant pour comprendre comment les services (Apache, MySQL, PHP) interagissent au sein d'un OS Linux, avant de passer au workflow Docker qui automatise et isole ces processus pour la mise en production.