PHPackages                             devshop/platform - 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. devshop/platform

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

devshop/platform
================

Ansible collection for hosting websites.

36051Python

Since Mar 18Pushed 2y ago2 watchersCompare

[ Source](https://github.com/opendevshop/devshop.platform)[ Packagist](https://packagist.org/packages/devshop/platform)[ RSS](/packages/devshop-platform/feed)WikiDiscussions main Synced yesterday

READMEChangelogDependenciesVersions (5)Used By (0)

DevShop.Platform Collection for Ansible
=======================================

[](#devshopplatform-collection-for-ansible)

[![CI](https://github.com/opendevshop/devshop.platform/actions/workflows/ansible-test.yml/badge.svg)](https://github.com/opendevshop/devshop.platform/actions/workflows/ansible-test.yml)

The DevShop.Platform Ansible collection extends Ansible's reach to track applications and services, in addition to hosts and roles.

Components
----------

[](#components)

1. App Hosts.
    - Ansible Hosts that refer to a single website, containing variables needed to deploy the site to one or many servers.
    - Multiple App Hosts can be assigned to a single Server Host, similar to Apache Vhosts.
    - App hosts store the Ansible facts/vars that are needed to install the site, such as Git repository, git reference, and web and database servers.
    - App Hosts can run App Roles, such as `geerlingguy.drupal` to finish set up of individual apps.
2. Server Hosts.
    - Ansible Hosts that refer to real servers.
    - Server Hosts are assigned roles based on what "Service Groups" they are in.
    - Server Host list variables (such as `apache_vhosts` and `mysql_databases`) are aggregated from all App Hosts that are using each service to allow multiple App Hosts per Server.
3. Service Groups.

- A Service Group is an Ansible Host Group that provides a list of roles that get assigned to all members of the group. The groups are used to organize your Server Hosts by purpose, such as Web or DB.
- See [./services/http.yml](./services/http.yml) for an example.

4. App Groups.

- An App Group contains default variables for App Hosts that are built from pre-defined apps such as Drupal.
- Each App Group can set different "build" or "install" commands, such as `composer install` vs. `npm build` or `drush site-install` vs `app install`
- See [./services/drupal.yml](./services/drupal.yml) for an example.

Using this collection
---------------------

[](#using-this-collection)

See [examples folder](./examples) for samples implementations.

Code of Conduct
---------------

[](#code-of-conduct)

We follow the [Ansible Code of Conduct](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html) in all our interactions within this project.

If you encounter abusive behavior, please refer to the [policy violations](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html#policy-violations) section of the Code for information on how to raise a complaint.

Contributing to this collection
-------------------------------

[](#contributing-to-this-collection)

The content of this collection is made by people like you, a community of individuals collaborating on making the world better through developing automation software.

We are actively accepting new contributors.

Any kind of contribution is very welcome.

You don't know how to start? Refer to our [contribution guide](CONTRIBUTING.md)!

We use the following guidelines:

- [CONTRIBUTING.md](CONTRIBUTING.md)
- [REVIEW\_CHECKLIST.md](REVIEW_CHECKLIST.md)
- [Ansible Community Guide](https://docs.ansible.com/ansible/latest/community/index.html)
- [Ansible Development Guide](https://docs.ansible.com/ansible/devel/dev_guide/index.html)
- [Ansible Collection Development Guide](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#contributing-to-collections)

Collection maintenance
----------------------

[](#collection-maintenance)

The current maintainers are listed in the [MAINTAINERS](MAINTAINERS) file. If you have questions or need help, feel free to mention them in the proposals.

To learn how to maintain / become a maintainer of this collection, refer to the [Maintainer guidelines](MAINTAINING.md).

Governance
----------

[](#governance)

The process of decision making in this collection is based on discussing and finding consensus among participants.

Every voice is important. If you have something on your mind, create an issue or dedicated discussion and let's discuss it!

### Installing the Collection from Ansible Galaxy

[](#installing-the-collection-from-ansible-galaxy)

Before using this collection, you need to install it with the Ansible Galaxy command-line tool:

```
ansible-galaxy collection install NAMESPACE.COLLECTION_NAME
```

You can also include it in a `requirements.yml` file and install it with `ansible-galaxy collection install -r requirements.yml`, using the format:

```
---
collections:
  - name: devshop.platform
```

Note that if you install the collection from Ansible Galaxy, it will not be upgraded automatically when you upgrade the `ansible` package. To upgrade the collection to the latest available version, run the following command:

```
ansible-galaxy collection install NAMESPACE.COLLECTION_NAME --upgrade
```

You can also install a specific version of the collection, for example, if you need to downgrade when something is broken in the latest version (please report an issue in this repository). Use the following syntax to install version `0.1.0`:

```
ansible-galaxy collection install devshop.platform:==0.1.0
```

See [Ansible Using collections](https://docs.ansible.com/ansible/devel/user_guide/collections_using.html) for more details.

Release notes
-------------

[](#release-notes)

See the [changelog](https://github.com/opendevshop/devshop.platform/tree/main/CHANGELOG.rst).

Roadmap
-------

[](#roadmap)

More information
----------------

[](#more-information)

- [Ansible Collection overview](https://github.com/ansible-collections/overview)
- [Ansible User guide](https://docs.ansible.com/ansible/devel/user_guide/index.html)
- [Ansible Developer guide](https://docs.ansible.com/ansible/devel/dev_guide/index.html)
- [Ansible Collections Checklist](https://github.com/ansible-collections/overview/blob/master/collection_requirements.rst)
- [Ansible Community code of conduct](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html)
- [The Bullhorn (the Ansible Contributor newsletter)](https://us19.campaign-archive.com/home/?u=56d874e027110e35dea0e03c1&id=d6635f5420)
- [Changes impacting Contributors](https://github.com/ansible-collections/overview/issues/45)

Licensing
---------

[](#licensing)

GNU General Public License v3.0 or later.

See [LICENSE](https://www.gnu.org/licenses/gpl-3.0.txt) to see the full text.

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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/10539fb9e887c35b626eba70c97dd9d53ba14e987d4f129b55a488664a834eca?d=identicon)[jonpugh](/maintainers/jonpugh)

---

Top Contributors

[![jonpugh](https://avatars.githubusercontent.com/u/106420?v=4)](https://github.com/jonpugh "jonpugh (195 commits)")

### Embed Badge

![Health badge](/badges/devshop-platform/health.svg)

```
[![Health](https://phpackages.com/badges/devshop-platform/health.svg)](https://phpackages.com/packages/devshop-platform)
```

###  Alternatives

[in2code/in2publish_core

Content publishing extension to connect stage and production server

40143.4k](/packages/in2code-in2publish-core)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4778.9k](/packages/tiamo-phpas2)[wapmorgan/php-rpm-packager

RPM packager for PHP applications.

106.6k](/packages/wapmorgan-php-rpm-packager)

PHPackages © 2026

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