PHPackages                             pronovix/devportal-starterkit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pronovix/devportal-starterkit

AbandonedArchivedProject[Utility &amp; Helpers](/categories/utility)

pronovix/devportal-starterkit
=============================

Project template for Drupal 8 projects with composer

06127[1 issues](https://github.com/Pronovix/devportal-starterkit/issues)[1 PRs](https://github.com/Pronovix/devportal-starterkit/pulls)PHP

Since Feb 8Pushed 6y agoCompare

[ Source](https://github.com/Pronovix/devportal-starterkit)[ Packagist](https://packagist.org/packages/pronovix/devportal-starterkit)[ RSS](/packages/pronovix-devportal-starterkit/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (2)Used By (0)

Drupal Starter Kit
==================

[](#drupal-starter-kit)

This repository is using Amazee's containers.

Requirements
------------

[](#requirements)

- Git
- Docker

Install and start pygmy
-----------------------

[](#install-and-start-pygmy)

> Only on Linux and macOS.

To install `pygmy`, run `gem install pygmy`.

This is only needed if you don't already have `pygmy` installed.

Start pygmy: `pygmy up`

Create a new project
--------------------

[](#create-a-new-project)

```
docker run --rm -it -v $PWD:/app --user $(id -u):$(id -g) tamasd/composer \
 create-project Pronovix/devportal-starterkit \
 -s dev $DEVPORTAL_NAME
```

This command will create the project files with the containers. It is possible that there will be some error output about missing the `gd`extension.

These errors can be ignored.

Setup the containers
--------------------

[](#setup-the-containers)

- Copy `docker-compose.unix.yml` or `docker-compose.windows.yml` as `docker-compose.override.yml`, depending on the host operating system.
- Then run `docker-compose up --build -d`
- `docker-compose run --rm cli sh -c 'composer install'`

Setup the site
--------------

[](#setup-the-site)

- Create your settings.local.php file: `cp web/sites/example.settings.local.php web/sites/default/settings.local.php`
- Create your settings.php file: `cp web/sites/default/default.settings.php web/sites/default/settings.php`
- Uncomment the inclusion of `settings.local.php` from the bottom of `web/sites/default/settings.php`.
- Add the following code to settings.local.php:

If you use MariaDB:

```
$databases['default']['default'] = [
  'database' => 'drupal',
  'username' => 'drupal',
  'password' => 'drupal',
  'prefix' => '',
  'host' => 'mariadb',
  'port' => '3306',
  'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
  'driver' => 'mysql',
];
```

If you use Postgres:

```
$databases['default']['default'] = [
  'database' => 'drupal',
  'username' => 'drupal',
  'password' => 'drupal',
  'prefix' => '',
  'host' => 'postgres',
  'port' => '5432',
  'namespace' => 'Drupal\\Core\\Database\\Driver\\pgsql',
  'driver' => 'pgsql',
];
```

Add the following snippet as well.

```
$settings['trusted_host_patterns'] = [
  '^$PROJECT.docker.amazee.io$',
  '^nginx.$PROJECT.docker.amazee.io$',
  '^nginx$',
  '^localhost$',
];

if (!drupal_installation_attempted()) {
  $settings['cache']['default'] = 'cache.backend.redis';
  $settings['redis.connection']['host'] = 'redis';
  $settings['container_yamls'][] = 'modules/contrib/redis/example.services.yml';
  $settings['container_yamls'][] = 'modules/contrib/redis/redis.services.yml';
  $class_loader->addPsr4('Drupal\\redis\\', 'modules/contrib/redis/src');
  $settings['bootstrap_container_definition'] = [
    'parameters' => [],
    'services' => [
      'redis.factory' => [
        'class' => 'Drupal\redis\ClientFactory',
      ],
      'cache.backend.redis' => [
        'class' => 'Drupal\redis\Cache\CacheBackendFactory',
        'arguments' => ['@redis.factory', '@cache_tags_provider.container', '@serialization.phpserialize'],
      ],
      'cache.container' => [
        'class' => '\Drupal\redis\Cache\PhpRedis',
        'factory' => ['@cache.backend.redis', 'get'],
        'arguments' => ['container'],
      ],
      'cache_tags_provider.container' => [
        'class' => 'Drupal\redis\Cache\RedisCacheTagsChecksum',
        'arguments' => ['@redis.factory'],
      ],
      'serialization.phpserialize' => [
        'class' => 'Drupal\Component\Serialization\PhpSerialize',
      ],
    ],
  ];
}

$config_directories['sync'] = '../config/sync';
```

- After adding this snippet to `settings.local.php` look up the lagoon project name from `docker-compose.yml` (e.g. `starterkit` in `starterkit.docker.amazee.io`), and replace `$PROJECT` with it.
- Inside the `cli` container, run `drush si $PROFILE --account-name=admin --account-pass=admin` where `$PROFILE`can be either `config_installer` (if you already have configuration inside `config/sync`) or `standard` (completely new project). Wait until your site gets installed. *(This step can be skipped if you would like to import an existing database).*

While it is not strictly necessary to enable the redis module, it is recommended to do so.

Import database and public files
--------------------------------

[](#import-database-and-public-files)

### Import public files

[](#import-public-files)

- Extract the downloaded public files archive: `tar -zxvf files.tgz`
- Copy the content to the public files location: `sudo rsync -av --delete files/ /path/to/project/web/sites/default/files`

### Import database

[](#import-database)

- Copy the database to the project's web folder: `cp database.sql.gz /path/to/project`
- Go to the project directory: `cd /path/to/project`
- Import the database with drush: `docker-compose run --rm cli sh -c 'zcat database.sql.gz | drush sqlc'`.

Usual commands
--------------

[](#usual-commands)

- `docker-compose run --rm cli sh`

    To run commands inside the container.
- `docker-compose up -d`

    Starts the containers.
- `docker-compose stop`

    Shuts down the containers (keeps the state).
- `docker-compose down`

    Destroys the containers (permanently deletes the state).

Gulp
----

[](#gulp)

Copy `.env.js` as `env.js` into the project root from [the Gulp component](https://github.com/Pronovix/gulp) and and set your local theme paths.

- Build CSS: `docker-compose run --rm gulp sh -c 'npm run gulp'`
- Watch SCSS changes: `docker-compose run --rm gulp sh -c 'npm run gulp watch'`
- Non-minified CSS with source maps: `docker-compose run --rm gulp sh -c 'npm run gulp watch -- --debug'`(standalone `--` is needed to pass an argument to Gulp)

See the [the Gulp component](https://github.com/Pronovix/gulp) for a troubleshooting guide.

Running Mailhog on Windows
--------------------------

[](#running-mailhog-on-windows)

As Windows does not support Pygmy (which handles Mailhog on Linux/Mac), Mailhog should be added separately as container (see docker-compose.windows.yml). After installing it with `docker-compose up -d`you can reach Mailhog by visiting  in your browser.

Debugging
---------

[](#debugging)

### Fixing xdebug on Linux

[](#fixing-xdebug-on-linux)

Open `docker-compose.override.yml` and follow the instructions in the `cli` and `php` sections.

Running tests (optional)
------------------------

[](#running-tests-optional)

```
docker-compose -f docker-compose.yml \
  -f docker-compose.tests.yml -f docker-compose.override.yml \
  run --rm tests
```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 57% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/4b934519ad88d26f2171de1abed39ae7441ac3f3947a3b25e4bc46aa41939ae6?d=identicon)[tamasd](/maintainers/tamasd)

![](https://avatars.githubusercontent.com/u/294106?v=4)[CSÉCSY László](/maintainers/boobaa)[@boobaa](https://github.com/boobaa)

---

Top Contributors

[![tamasd](https://avatars.githubusercontent.com/u/40811?v=4)](https://github.com/tamasd "tamasd (45 commits)")[![kittiradovics](https://avatars.githubusercontent.com/u/15943108?v=4)](https://github.com/kittiradovics "kittiradovics (13 commits)")[![boobaa](https://avatars.githubusercontent.com/u/294106?v=4)](https://github.com/boobaa "boobaa (9 commits)")[![gkurucz](https://avatars.githubusercontent.com/u/13573052?v=4)](https://github.com/gkurucz "gkurucz (6 commits)")[![janmashat](https://avatars.githubusercontent.com/u/12157479?v=4)](https://github.com/janmashat "janmashat (3 commits)")[![mxr576](https://avatars.githubusercontent.com/u/1755573?v=4)](https://github.com/mxr576 "mxr576 (3 commits)")

### Embed Badge

![Health badge](/badges/pronovix-devportal-starterkit/health.svg)

```
[![Health](https://phpackages.com/badges/pronovix-devportal-starterkit/health.svg)](https://phpackages.com/packages/pronovix-devportal-starterkit)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
