PHPackages                             skilld-labs/sdc - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. skilld-labs/sdc

ActiveProject[DevOps &amp; Deployment](/categories/devops)

skilld-labs/sdc
===============

Project template for Drupal 9 projects with composer

v1.0.rc(7y ago)211131[26 issues](https://github.com/skilld-labs/skilld-docker-container/issues)[9 PRs](https://github.com/skilld-labs/skilld-docker-container/pulls)MITMakefileCI failing

Since Dec 11Pushed 1mo ago24 watchersCompare

[ Source](https://github.com/skilld-labs/skilld-docker-container)[ Packagist](https://packagist.org/packages/skilld-labs/sdc)[ RSS](/packages/skilld-labs-sdc/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (2)Dependencies (18)Versions (19)Used By (0)

Skilld docker container
=======================

[](#skilld-docker-container)

---

- [Skilld docker container](#Skilld-docker-container)
    - [Overview](#Overview)
    - [What is this?](#What-is-this)
    - [What is this not?](#What-is-this-not)
    - [Quickstart](#Quickstart)
        - [Used variables](#Used-variables)
        - [Persistent Mysql](#Persistent-Mysql)
        - [Network](#Network)
    - [Usage](#Usage)
        - [Additional goals](#Additional-goals)
    - [Support](#Support)
    - [Drush commands](#Drush-commands)
    - [Troubleshooting](#Troubleshooting)
    - [Git hooks](#Git-hooks)
    - [License](#License)

Overview
--------

[](#overview)

**Skilld docker container** is a developer starterkit for your Drupal project.

What is this?
-------------

[](#what-is-this)

- This is a developer starterkit which can be used for local drupal development or/and integration into your CI/CD processes.

What is this not?
-----------------

[](#what-is-this-not)

- This is not `ready to use tool`, tools list you can find in [this google doc](https://docs.google.com/spreadsheets/d/11LWo_ks9TUoZIYJW0voXwogawohqAbOFv_dcBlAVs2E/edit#gid=0)
- Another quick solution [](https://gist.github.com/andypost/f8e359f2e80cb7d4737350189f009646)

Quickstart
----------

[](#quickstart)

- Install docker for [Linux](https://docs.docker.com/install/), [Mac](https://docs.docker.com/docker-for-mac/install/), [Windows](https://docs.docker.com/docker-for-windows/install/)

    - Check [post-installation steps for Linux](https://docs.docker.com/install/linux/linux-postinstall/) version 18.06.0 or later
- Install [Docker Compose V2](https://docs.docker.com/compose/install/) version **2.0** or later
- Copy **.env.default** to **.env**, more information about enviroment file can be found [docs.docker.com](https://docs.docker.com/compose/env-file/)
- Copy **docker-compose.override.yml.default** to **docker-compose.override.yml**, update parts you want to overwrite.

    - **docker-compose.yml** contains the base requirements of a working Drupal site. It should not be updated.
- Update **.gitlab-ci.yml** `variables` section THEME\_PATH to make front gitlab CI works.
- Run `make all`

#### Used variables

[](#used-variables)

Variable nameDescriptionDefault valueCOMPOSE\_FILEPath to a Compose file(s)`./docker/docker-compose.yml:./docker/docker-compose.override.yml`COMPOSE\_PROJECT\_NAMEYour project name-PROFILE\_NAMEProfile used for site installdruxxyMODULESAdditional modules to enable after site installproject\_default\_contentTHEME\_NAMEName of theme directory in /web/themes`NA`SITE\_NAMESite nameExampleSITE\_MAILSite e-mail addressADMIN\_NAMEAdmin usernameadminPROJECT\_INSTALLWay to install site - from straight or existing config-IMAGE\_PHPPhp image to use`skilldlabs/php:83-unit`EXEC\_SHELLShell to use in PHP-container (`ash`/`bash`)`/bin/ash`PKGMANPackage manager to use in PHP-container (`apk`/`apt`)`apk`ADDITIONAL\_PHP\_PACKAGESAdditional php extensions and tools to install`graphicsmagick`IMAGE\_NGINXImage to use for nginx container`skilldlabs/nginx:1.24`IMAGE\_APACHEImage to use for apache container`skilldlabs/skilld-docker-apache`IMAGE\_FRONTImage to use for front tasks`skilldlabs/frontend:zen`IMAGE\_DRIVERImage to use for automated testing webdriver`zenika/alpine-chrome`MAIN\_DOMAIN\_NAMEDomain name used for traefik`docker.localhost`DB\_URLUrl to connect to database`sqlite:///dev/shm/db.sqlite`DB\_DATA\_DIRFull path to database storage`/dev/shm`CLEAR\_FRONT\_PACKAGESSet it to `no` to keep `/node_nodules` directory in theme after `make front` task to save build time.yesRA\_BASIC\_AUTHusername:hashed-password format defining BasicAuth in Traefik. Password hashed using `htpasswd -nibB username password!` as [described here](https://doc.traefik.io/traefik/middlewares/basicauth/#general)-#### Persistent Mysql

[](#persistent-mysql)

- By default sqlite storage used, which is created inside php container, if you need persistent data to be saved:
    - Update `docker-compose.override.yml`, set

    ```
    php:
       depends_on:
         - mysql
    ```

    and update mysql container part ```
    mysql:
      image: mysql:8.0-oraclelinux8
    ...
    ```

    - Update `.env` file, and set `DB_URL=mysql://db:db@mysql/db`

#### Network

[](#network)

- Every time project built, it take new available IP address, if you want to have persistent IP, uncomment lines from `docker-compose.override.yml`

```
networks:
  front:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: "172.18.0.5"
```

Usage
-----

[](#usage)

- `make` - Show this info.
- `make all` - Full project install from the scratch.
- `make clean` - Totally remove project build folder, files, docker containers and network.
- `make si` - Install/reinstall site.
- `make info` - Show project services IP addresses.
- `make diff` - Show changes in overrides (needs local `diff` command).
- `make exec` - `docker exec` into php container.
- `make exec0` - `docker exec` into php container as root.
- `make dev` - Devel + kint setup, and config for Twig debug mode, disable aggregation.
- `make drush [command]` - execute drush command.
- `make phpcs` - Check codebase with `phpcs` sniffers to make sure it conforms .
- `make phpcbf` - Fix codebase according to Drupal standards .
- `make front` - Builds frontend tasks.
- `make lint` - Runs frontend linters.
- `make storybook` - Runs storybook in current theme.
- `make blackfire` - Adds and enables blackfire.io php extension, needs [configuration](https://blackfire.io/docs/configuration/php) in docker-compose.override.yml.
- `make newrelic` - Adds and enables newrelic.com php extension, needs [configuration](https://docs.newrelic.com/docs/agents/php-agent/getting-started/introduction-new-relic-php#configuration) `NEW_RELIC_LICENSE_KEY` environment variable defined with valid license key.
- `make xdebug (on|off|status)` - Enable, disable or report status of [Xdebug](https://xdebug.org/docs/) PHP extension.

#### Additional goals

[](#additional-goals)

- If you need to add your custom/specific project goal, create new file in `scripts/makefile/myfile.mk` and describe goal inside. Example can be found at [`scripts/makefile/backup.mk`](scripts/makefile/backup.mk)

Support
-------

[](#support)

- This project is supported by [© Skilld SAS](http://www.skilld.fr)

Drush commands
--------------

[](#drush-commands)

- You can run any drush command `make drush [command -- -argument]`

Troubleshooting
---------------

[](#troubleshooting)

- Use our [issue queue](https://github.com/skilld-labs/skilld-docker-container/issues), which is public, to search or add new issues.

Git hooks
---------

[](#git-hooks)

- Project includes [git hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) to perform automatic validation when certain git commands are executed
- You can bypass this validation with option `--no-verify`

License
-------

[](#license)

This project is licensed under the MIT open source license.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance41

Moderate activity, may be stable

Popularity18

Limited adoption so far

Community31

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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.

###  Release Activity

Cadence

Every ~56 days

Total

2

Last Release

2656d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1313583?v=4)[skilld](/maintainers/skilld)[@skilld](https://github.com/skilld)

![](https://www.gravatar.com/avatar/eb1ca84ce8e2ca6b1241fb8367898f702afc57199725583e93840cf828169ef3?d=identicon)[andypost](/maintainers/andypost)

---

Top Contributors

[![andypost](https://avatars.githubusercontent.com/u/73713?v=4)](https://github.com/andypost "andypost (153 commits)")[![piggito](https://avatars.githubusercontent.com/u/1173779?v=4)](https://github.com/piggito "piggito (55 commits)")[![waspper](https://avatars.githubusercontent.com/u/5741473?v=4)](https://github.com/waspper "waspper (38 commits)")[![davidferlay](https://avatars.githubusercontent.com/u/20738264?v=4)](https://github.com/davidferlay "davidferlay (31 commits)")[![rnabiullin](https://avatars.githubusercontent.com/u/4749065?v=4)](https://github.com/rnabiullin "rnabiullin (25 commits)")[![gaydabura](https://avatars.githubusercontent.com/u/925618?v=4)](https://github.com/gaydabura "gaydabura (25 commits)")[![ilyano](https://avatars.githubusercontent.com/u/3932742?v=4)](https://github.com/ilyano "ilyano (23 commits)")[![Sergey-Orlov](https://avatars.githubusercontent.com/u/4222740?v=4)](https://github.com/Sergey-Orlov "Sergey-Orlov (10 commits)")[![jbguerraz](https://avatars.githubusercontent.com/u/861556?v=4)](https://github.com/jbguerraz "jbguerraz (9 commits)")[![pabloguerino](https://avatars.githubusercontent.com/u/1230085?v=4)](https://github.com/pabloguerino "pabloguerino (6 commits)")[![alexkras](https://avatars.githubusercontent.com/u/805522?v=4)](https://github.com/alexkras "alexkras (5 commits)")[![iberdinsky-skilld](https://avatars.githubusercontent.com/u/10120083?v=4)](https://github.com/iberdinsky-skilld "iberdinsky-skilld (4 commits)")[![andriyun](https://avatars.githubusercontent.com/u/5544994?v=4)](https://github.com/andriyun "andriyun (4 commits)")[![nicolas-guerrier](https://avatars.githubusercontent.com/u/10116825?v=4)](https://github.com/nicolas-guerrier "nicolas-guerrier (4 commits)")[![hog-seruj](https://avatars.githubusercontent.com/u/5249101?v=4)](https://github.com/hog-seruj "hog-seruj (3 commits)")[![koskinpark](https://avatars.githubusercontent.com/u/6603030?v=4)](https://github.com/koskinpark "koskinpark (3 commits)")[![gumanista](https://avatars.githubusercontent.com/u/618926?v=4)](https://github.com/gumanista "gumanista (2 commits)")[![jf-skilld](https://avatars.githubusercontent.com/u/69574327?v=4)](https://github.com/jf-skilld "jf-skilld (2 commits)")[![Stolexiy](https://avatars.githubusercontent.com/u/10923397?v=4)](https://github.com/Stolexiy "Stolexiy (2 commits)")[![zahord](https://avatars.githubusercontent.com/u/5809263?v=4)](https://github.com/zahord "zahord (1 commits)")

---

Tags

dockerdocker-composedrupalphp

### Embed Badge

![Health badge](/badges/skilld-labs-sdc/health.svg)

```
[![Health](https://phpackages.com/badges/skilld-labs-sdc/health.svg)](https://phpackages.com/packages/skilld-labs-sdc)
```

###  Alternatives

[voidagency/vactory_starter_kit

Vactory is a custom Drupal profile which is developed and released by VOID Agency.

1019.7k](/packages/voidagency-vactory-starter-kit)[farmos/farmos

A web-based farm record keeping application.

1.2k6.7k1](/packages/farmos-farmos)[drupalwxt/wxt

Project template for Drupal 10 sites built with the WxT distribution.

29159.8k8](/packages/drupalwxt-wxt)

PHPackages © 2026

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