picturae-mike / joomla-installer
Command-line tool to install or update Joomla websites including Docker
Requires
- php: >=8.0
- ext-mysqli: *
- composer/composer: 2.6.x-dev
- grasmash/symfony-console-spinner: dev-main
- ifsnop/mysqldump-php: dev-master
- nesbot/carbon: 3.x-dev
- symfony/console: ^6
- symfony/filesystem: 6.1
- vlucas/phpdotenv: dev-master
This package is auto-updated.
Last update: 2024-03-30 00:31:38 UTC
README
This Joomla tool handles a set-up of a Docker container and creates a fresh install of Joomla V4 or updates the current version to the latest version.
Requirements
Version | |
---|---|
PHP | 7.4 - 8.1 |
Composer | V2.0 |
Node | V16.0 |
Installation
- Rename
.env.example
to.env
- Enter the correct project information in the
.env
file. - Run
$ docker ...
This command will create a new Docker container with pre-defined information.
Docker will automatically run $ composer install
to install this installer.
Run the installer (manually)
php vendor/bin/console picturae:install
Installation flow
- Install or update
- Install
- Download the latest version of Joomla
V4.*
- Unzip the downloaded package
- Install the downloaded package with Joomla-CLI
- Remove the Joomla installation files
- Move the Joomla installation to the
./public
folder of the project - Install NPM
- Install Vite for asset-building
- Download the latest version of Joomla
- Update
- Update the current version with Joomla-CLI
- Install
- Finalizing,
$ docker up
and serve the website underhttps://website-name.test
Building the assets (test)
cd src/templates/${TEMPLATE_FOLDER}
npm install
npm run build
Template stucture
If this is a new install of the website, this script also creates a starter-template
with a basic setup.
The information for this starter-temlate will be fetched from the .env file as used during installation.
/${BUILD_TARGET}
/administrator
/components
/language
/modules
/plugins
/templates
/${TEMPLATE_NAME}
...
... // front-end structure for Vite.js
In order to make the starter-template work with the Joomla installation,
we create a symlink
from ./public/templates
to
./${BUILD_TARGET}/templates/${TEMPLATE_NAME}
.
Available packages for Joomla 4
No packages available (yet).