PHPackages                             mrgrain/autobahn - 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. mrgrain/autobahn

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

mrgrain/autobahn
================

Autobahn is the Ueberholspur for your Composer-based WordPress stack. German Engineering.

0.7.1(9y ago)2951GPL-3.0+PHPPHP &gt;=5.6

Since Jul 14Pushed 8y ago1 watchersCompare

[ Source](https://github.com/mrgrain/autobahn)[ Packagist](https://packagist.org/packages/mrgrain/autobahn)[ RSS](/packages/mrgrain-autobahn/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (8)Versions (10)Used By (0)

Autobahn
========

[](#autobahn)

Autobahn is the Ueberholspur for your Composer-based WordPress stack. German Engineering.

Quick start
-----------

[](#quick-start)

*This requires [Composer](https://getcomposer.org/) and [Vagrant](https://www.vagrantup.com/) to be properly set up on your machine. If not, please skip to the documentation.*

Create a new project by running:

```
composer create-project mrgrain/autobahn

```

and start your local Vagrant environment with:

```
vagrant up

```

Open your browser and navigate to [my.autobahn.rocks](http://my.autobahn.rocks). That's all! You can login to the [admin panel](http://my.autobahn.rocks/wp/wp-admin/) using `admin/password` as credentials.

License
-------

[](#license)

The mrgrain/autobahn package is open-sourced software licensed under the [GPL-3.0](LICENSE) license.

Documentation
-------------

[](#documentation)

### Installation

[](#installation)

Use composer to create a new project

```
composer create-project mrgrain/autobahn

```

... or clone the git repository and run composer install.

```
git clone https://github.com/mrgrain/autobahn.git autobahn
cd autobahn
composer install

```

#### Vagrant setup

[](#vagrant-setup)

Provisioning your Vagrant virtual machine will execute all required steps:

```
vagrant up

```

#### Manual setup

[](#manual-setup)

After installing composer dependencies, set up the basic configuration by copying `.env.example` to `.env` and adjust it to your needs:

```
cp .env.example .env
vim .env

```

This most likely requires you to change the database connection details and set an appropriate `WP_HOME` URL.

Next generate the WordPress security keys using Autobahn CLI:

```
./vendor/bin/autobahn keys:generate

```

Finally, run the WordPress install via wp-cli (change URL to an appropriate value):

```
./vendor/bin/wp core install --url=http://localhost

```

### Basic usage

[](#basic-usage)

#### .env file

[](#env-file)

Sensitive environment configuration should be stored in the `.env` file based in your root directory.

#### autobahn.json

[](#autobahnjson)

WordPress configuration has to be set in the `autobahn.json` file in based in your root directory.

#### Files setup

[](#files-setup)

```
autobahn
|-- public              # web server root
|   |-- app             # renamed `wp-content` directory
|   |   |-- mu-plugins
|   |   |-- plugins
|   |   |-- themes
|   |   `-- uploads
|   |
|   |-- wp              # WordPress core files
|   |
|   |-- index.php       # main scipt entry point
|   `-- wp-config.php   # adjusted `wp-config.php` using `.env` & `autobahn.json`
|
|-- vendor              # composer dependencies
|-- .env                # environment configuration
`-- autobahn.json       # Autobahn WordPress configuration

```

### Settings

[](#settings)

#### Autobahn constants

[](#autobahn-constants)

`WP_ENV` - Set the environment, defaults to `development`. `WPMU_LOADER` - Path to a mu-plugins loader, see [advanced configuration](#mu-plugins-loader) section.

#### Path constants

[](#path-constants)

`PUBLIC_DIR` - Absolute or relative (project's root directory) path to the public web server document root directory, defaults to `public/`. `CONTENT_DIR` - Relative path (from `PUBLIC_DIR`) to the WordPress content directory, defaults to `app/`. `WORDPRESS_DIR` - Relative path( from `PUBLIC_DIR`) to the WordPress core, defaults to `wpp/`.

#### WordPress constants

[](#wordpress-constants)

All default WordPress constants are available via `.env` or `autobahn.json`.

#### WordPress options

[](#wordpress-options)

Any WordPress option can be forced to a value using the `options` section in the `autobahn.json` file.

#### PHP configuration

[](#php-configuration)

### Environments

[](#environments)

### Advanced Configuration

[](#advanced-configuration)

#### mu-plugins loader

[](#mu-plugins-loader)

#### Change public server directory

[](#change-public-server-directory)

The easiest way to achieve this, is setting a symlink to the existing `public` directory.

```
# Create a symlink named "web" to the existing "public" directory
ln -s public web

```

However, if you need to move the files, you can do this by changing a few configuration values. First, update the composer installer-paths for plugins, themes and the WordPress install directory in your `composer.json` file:

```
{
  "extra": {
    "installer-paths": {
      "public/app/mu-plugins/{$name}/": [
        "type:wordpress-muplugin"
      ],
      "public/app/plugins/{$name}/": [
        "type:wordpress-plugin"
      ],
      "public/app/themes/{$name}/": [
        "type:wordpress-theme"
      ]
    },
    "wordpress-install-dir": "public/wp"
  }
}

```

Run `composer update` to move all files to the new location.

Next, add `PUBLIC_DIR` as well as `WORDPRESS_DIR` and `CONTENT_DIR` to your `autobahn.json` configuration.

```
{
  "config": {
    "PUBLIC_DIR": "public/",
    "WORDPRESS_DIR": "wp/",
    "CONTENT_DIR": "app/"
  }
}

```

`PUBLIC_DIR` can be an absolute path or relative to the project's root directory. `WORDPRESS_DIR` and `CONTENT_DIR` are relative to the `PUBLIC_DIR`. Both are also added to the end of the website URL to access the WordPress admin area and plugin/themes files.

As last we'll need to change the wp-cli configuration to keep it working. Therefore update the `wp-cli.yml` file:

```
path: public/wp

```

##### wp-content location

[](#wp-content-location)

By default the `wp-conent` folder is moved to `public/app`. If you want to change the location of it in your project, please follow the steps described in **Change public server directory**, only changing the `app` related values.

##### WordPress location

[](#wordpress-location)

By default WordPress is installed to `public/wp`. If you want to change the location of WordPress in your project, please follow the steps described in **Change public server directory**, only changing the `wp` related values.

#### wp-cli.yml

[](#wp-cliyml)

You can set any configuration for wp-cli to its `wp-cli.yml` file. For example you might want to globally set the `url` value and thus skip passing it on to every command:

```
url: http://my.autobahn.rocks
```

Please be aware that changing the `path` will require further adjustments to keep everything working.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87.5% 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.

###  Release Activity

Cadence

Every ~79 days

Recently: every ~70 days

Total

8

Last Release

3408d ago

PHP version history (2 changes)0.1.0PHP &gt;=5.4

0.5.0PHP &gt;=5.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/853d3ba7366c4236ac911df132e6830b872fa88d43c0e6fcff123d78066faa45?d=identicon)[mrgrain](/maintainers/mrgrain)

---

Top Contributors

[![mrgrain](https://avatars.githubusercontent.com/u/379814?v=4)](https://github.com/mrgrain "mrgrain (14 commits)")[![chrigglesby](https://avatars.githubusercontent.com/u/8609081?v=4)](https://github.com/chrigglesby "chrigglesby (1 commits)")[![G-Rath](https://avatars.githubusercontent.com/u/3151613?v=4)](https://github.com/G-Rath "G-Rath (1 commits)")

---

Tags

composerwordpressstackboilerplatewp

### Embed Badge

![Health badge](/badges/mrgrain-autobahn/health.svg)

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

PHPackages © 2026

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