Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kalwar/drupal9
Project template that includes Drupal 9, Drush 10, Composer for drupal recommended project which can be used to develop, stage or put into production any Drupal 9 project.
https://github.com/kalwar/drupal9
composer docker drupal drupal9 drush
Last synced: 3 months ago
JSON representation
Project template that includes Drupal 9, Drush 10, Composer for drupal recommended project which can be used to develop, stage or put into production any Drupal 9 project.
- Host: GitHub
- URL: https://github.com/kalwar/drupal9
- Owner: kalwar
- License: mit
- Created: 2021-08-10T07:22:54.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-10-06T17:55:04.000Z (over 3 years ago)
- Last Synced: 2024-10-11T02:21:23.067Z (4 months ago)
- Topics: composer, docker, drupal, drupal9, drush
- Language: PHP
- Homepage:
- Size: 4.22 MB
- Stars: 2
- Watchers: 3
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![CI](https://github.com/kalwar/drupal9/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/kalwar/drupal9/actions/workflows/main.yml)
# Project description
This project template includes Drupal 9, Drush 10, Composer installations for Drupal recommended Project and which can be used to develop, stage or put into production Drupal 9 project.Also included are drush/config-extra and other utilities for CI/CD in terms of a Drupal project - site updates, database schema updates, database backups, push of databases via git, backup of files, replication of production environments and much more.
This is a terminal built environment based on the minimal install profile and the `./drush site:install minimal` command.
The thought behind this approach is to prepare the environment and tools needed to always be running an updated system with a modern proactive approach. The main goal is to have a fully automated production ready installation. Thus this project includes no modules, dependencies or themes not needed for the project beforehand, making it more manageable and minimal in terms of maintenance.
## Development
### Run with Docker
For development purposes this project can be started with:
```sh
$ docker-compose up -d
```Drupal 9 will be available via [localhost:9998](http://localhost:9998/)
phpMyAdmin for development purposes will be available via [localhost:9999](http://localhost:9999/)
#### Basic site configuration
Rename your project or set your frontpage url:- [go to your basic settings page via GUI](http://localhost:9998/admin/config/system/site-information)
- fill in the field "Default front page" with `/node`
- [visit the frontpage](http://localhost:9998/)#### Fix file and cache permissions:
```sh
$ chmod 777 -R web/sites/default/files
```### Using Composer
#### Composer dependencies
To install modules or other dependencies strictly use Composer. Installed dependencies are locked to specific versions using the `composer.lock` file. `composer install` will install every package specified in `composer.json` with respect to the pinned versions in `composer.lock`.
#### Adding dependencies
Use `composer require` to add and install new packages. Alternatively add the requirement to `composer.json` and run `composer install`.
```sh
$ docker-compose exec -T drupal composer require "vendor/package:2.*"
```#### Updating dependencies
When a version update is needed, use `composer update vendor/package`.
```sh
$ docker-compose exec -T drupal composer update vendor/package
```On first run, the `composer.lock` file was generated using `composer update` without further parameters.
### Using Drush
Run Drush commands using - this command provides a full list of useful Drush commands:```sh
$ docker-compose exec -T drupal ./drush
```
Full list of commands in [Drush 9](https://drushcommands.com/drush-9x/).