- name: "load docker, db/redis/proxy for {{ application_id }}" include_role: name: sys-stk-full-stateful vars: docker_compose_flush_handlers: true - name: "Bootstrap Magento 2.4.8 source (exact working variant)" command: > docker exec -e COMPOSER_AUTH='{"http-basic":{"repo.magento.com":{"username":"{{ MAGENTO_REPO_PUBLIC_KEY }}","password":"{{ MAGENTO_REPO_PRIVATE_KEY }}"}}}' -e COMPOSER_HOME=/tmp/composer -e COMPOSER_CACHE_DIR=/tmp/composer/cache --user {{ MAGENTO_USER }} {{ MAGENTO_PHP_CONTAINER }} bash -lc 'set -e mkdir -p /tmp/composer/cache cd /var/www/html composer create-project --no-interaction --no-progress --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.8 . mkdir -p var pub/static pub/media app/etc chmod -R 775 var pub/static pub/media app/etc ' args: creates: "{{ [ (MAGENTO_VOLUME | docker_volume_path), 'bin/magento' ] | path_join }}" - name: "Run Magento setup:install (in container)" command: > docker exec --user {{ MAGENTO_USER }} {{ MAGENTO_PHP_CONTAINER }} bash -lc " cd /var/www/html && bin/magento setup:install \ --base-url='{{ MAGENTO_URL }}/' \ --db-host=\"$MYSQL_HOST\" \ --db-name=\"$MYSQL_DATABASE\" \ --db-user=\"$MYSQL_USER\" \ --db-password=\"$MYSQL_PASSWORD\" \ --skip-db-validation \ --db-engine=mysql \ --search-engine='opensearch' \ --opensearch-host=\"$OPENSEARCH_HOST\" \ --opensearch-port=\"$OPENSEARCH_PORT_NUMBER\" \ --admin-firstname=\"$MAGENTO_ADMIN_FIRSTNAME\" \ --admin-lastname=\"$MAGENTO_ADMIN_LASTNAME\" \ --admin-email=\"$MAGENTO_ADMIN_EMAIL\" \ --admin-user=\"$MAGENTO_ADMIN_USERNAME\" \ --admin-password=\"$MAGENTO_ADMIN_PASSWORD\"" args: creates: "{{ [ (MAGENTO_VOLUME | docker_volume_path), 'app/etc/env.php' ] | path_join }}" register: magento_install changed_when: > (magento_install.stdout is defined and ('Magento installation complete' in magento_install.stdout or 'successfully installed' in magento_install.stdout)) - include_tasks: utils/run_once.yml