PHPackages                             roadiz/standard-edition - 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. [Templating &amp; Views](/categories/templating)
4. /
5. roadiz/standard-edition

AbandonedArchivedProject[Templating &amp; Views](/categories/templating)

roadiz/standard-edition
=======================

Roadiz – Standard edition

1.7.0(4y ago)341.8k5MITDockerfilePHP &gt;=7.4

Since Mar 24Pushed 4y ago10 watchersCompare

[ Source](https://github.com/roadiz/standard-edition)[ Packagist](https://packagist.org/packages/roadiz/standard-edition)[ RSS](/packages/roadiz-standard-edition/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (6)Versions (39)Used By (0)

Roadiz *Standard Edition* CMS
=============================

[](#roadiz-standard-edition-cms)

[![Join the chat at https://gitter.im/roadiz/roadiz](https://camo.githubusercontent.com/abe08b740a4156153736f791393ec4da6619c4be73212e75769f52edacc0e2b5/68747470733a2f2f6261646765732e6769747465722e696d2f4a6f696e253230436861742e737667)](https://gitter.im/roadiz/roadiz?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

Roadiz is a modern CMS based on a polymorphic node system which can handle many types of services and contents. Its back-office has been developed with a high sense of design and user experience. Roadiz theming system is built to live independently of back-office allowing easy switching and multiple themes for one content basis. For example, it allows you to create one theme for your desktop website and another one for your mobile, using the same node hierarchy. Roadiz is released under MIT license, so you can reuse and distribute its code for personal and commercial projects.

- [Documentation](#documentation)
- [Standard edition](#standard-edition)
- [Usage](#usage)
    - [Update Roadiz and your own theme assets](#update-roadiz-and-your-own-theme-assets)
    - [Develop with *PHP* internal server](#develop-with-php-internal-server)
    - [Develop with *Docker*](#develop-with-docker)
        - [Install your theme assets and execute Roadiz commands](#install-your-theme-assets-and-execute-roadiz-commands)
        - [On Linux](#on-linux)
- [Update Roadiz sources](#update-roadiz-sources)
- [Maximize performances for production](#maximize-performances-for-production)
    - [Optimize class autoloader](#optimize-class-autoloader)
    - [Increase PHP cache sizes](#increase-php-cache-sizes)
- [Build a docker image with Gitlab Registry](#build-a-docker-image-with-gitlab-registry)

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

[](#documentation)

- *Roadiz* website:
- *Read the Docs* documentation can be found at
- *API* documentation can be found at
- *Forum* can be found at

Standard edition
----------------

[](#standard-edition)

This is the **production-ready edition** for Roadiz. It is meant to set up your *Apache/Nginx* server root to the `web/` folder, keeping your app sources and themes secure.

Usage
-----

[](#usage)

```
# Create a new Roadiz project on develop branch
composer create-project roadiz/standard-edition;
# Navigate into your project dir
cd standard-edition;
# Create a new theme for your project
bin/roadiz themes:generate --symlink --relative FooBar;
# Go to your theme
cd themes/FooBarTheme;
# Build base theme assets
yarn; # or npm install
yarn build; # or npm run build
```

Composer will automatically create a new project based on Roadiz and download every dependency.

Composer script will copy a default configuration file and your entry-points in `web/` folder automatically and a `.env` file in your project root to set up your *Docker* development environment.

### Update Roadiz and your own theme assets

[](#update-roadiz-and-your-own-theme-assets)

```
composer update -o --no-dev

# Re-install your theme in public folder using relative symlinks (MacOS + Unix)
# remove --relative flag on Windows to generate absolute symlinks
bin/roadiz themes:assets:install --symlink --relative FooBar;
```

### Develop with *Docker*

[](#develop-with-docker)

*Docker* on Linux will provide awesome performances, and a production-like environment without bloating your development machine:

```
# Copy sample environment variables
# and adjust them against your needs.
nano .env;
# Build PHP image
docker-compose build;
# Create and start containers
docker-compose up -d;

# Adapt Makefile with your theme name and NPM/Yarn
# This will be useful to generate assets and clear cache
# in one command
nano Makefile;
cd themes/FooBarTheme;
# Install NPM dependencies for your front-end dev environment.
yarn; # npm install;
# Then build assets
yarn build; # npm run build
```

##### Issue with Solr container

[](#issue-with-solr-container)

*Solr* container declares its volume in `.data/solr` in your project folder. After first launch this folder may be created with `root` owner causing *Solr* not to be able to populate it. Just run:
`sudo chown -R $USER_UID:$USER_UID .data` (replacing `$USER_UID` with your local user *id*).

### Develop with *PHP* internal server

[](#develop-with-php-internal-server)

```
# Edit your Makefile "DEV_DOMAIN" variable to use a dedicated port
# to your project and your theme name.
nano Makefile;

# Launch PHP server
make dev-server;
```

#### Install your theme assets and execute Roadiz commands

[](#install-your-theme-assets-and-execute-roadiz-commands)

You can directly use `bin/roadiz` command through `docker-compose exec`:

```
# Install Rozier back-office assets
docker-compose exec -u www-data app bin/roadiz themes:assets:install Rozier

# Install your theme assets as relative symlinks
docker-compose exec -u www-data app bin/roadiz themes:assets:install --symlink --relative FooBar
```

#### On Linux

[](#on-linux)

Pay attention that *PHP* is running with *www-data* user. You must update your `.env` file to reflect your local user **UID** during image build.

```
# Type id command in your favorite terminal app
id
# It should output something like
# uid=1000(toto)
```

So use the same uid in your `.env` file **before** starting and building your docker image.

```
USER_UID=1000
```

Update Roadiz sources
---------------------

[](#update-roadiz-sources)

Simply call `composer update` to upgrade Roadiz. You’ll need to execute regular operations if you need to migrate your database.

Maximize performances for production
------------------------------------

[](#maximize-performances-for-production)

You can follow the already [well-documented article on *Performance* tuning for Symfony apps](http://symfony.com/doc/current/performance.html).

### Optimize class autoloader

[](#optimize-class-autoloader)

```
composer dump-autoload --optimize --no-dev --classmap-authoritative
```

### Increase PHP cache sizes

[](#increase-php-cache-sizes)

```
; php.ini
opcache.max_accelerated_files = 20000
realpath_cache_size=4096K
realpath_cache_ttl=600
```

Build a docker image with Gitlab Registry
-----------------------------------------

[](#build-a-docker-image-with-gitlab-registry)

You can create a standalone *Docker* image with your Roadiz project thanks to our `roadiz/php80-nginx-alpine` base image, a continuous integration tool such as *Gitlab CI* and a private *Docker* registry. All your theme assets will be compiled in a controlled environment, and your production website will have a minimal downtime at each update.

Make sure you don’t ignore `package.lock` or `yarn.lock` in your themes not to get dependency errors when your CI system will compile your theme assets. You may do the same for your project `composer.lock` to make sure you’ll use the same dependencies' version in dev as well as in your CI jobs.

*Standard Edition* provides a basic configuration set with a `Dockerfile`:

1. Customize `.gitlab-ci.yml` file to reflect your *Gitlab* instance configuration and your *theme* path and your project name.
2. Add your theme in *Composer* `pre-docker` scripts to be able to install your theme assets into `web/` during Docker build:

```
php bin/roadiz themes:assets:install MyTheme

```

3. Add your theme in `.dockerignore` file to include your assets during build, update the following lines to force ignored files into your Docker image:

```
!themes/BaseTheme/static
!themes/BaseTheme/Resources/views/base.html.twig
!themes/BaseTheme/Resources/views/partials/*

```

4. Enable *Registry* and *Continuous integration* on your repository settings.
5. Push your code on your *Gitlab* instance. An image build should be triggered after a new **tag** has been pushed and your test and build jobs succeeded.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity75

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~45 days

Recently: every ~121 days

Total

37

Last Release

1695d ago

Major Versions

0.22.3 → 1.0.02018-07-24

0.22.4 → 1.0.22018-08-27

PHP version history (3 changes)1.0.0PHP &gt;=7.1

1.2.0PHP &gt;=7.2

1.6.0PHP &gt;=7.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/380026?v=4)[Ambroise Maupate](/maintainers/ambroisemaupate)[@ambroisemaupate](https://github.com/ambroisemaupate)

---

Top Contributors

[![ambroisemaupate](https://avatars.githubusercontent.com/u/380026?v=4)](https://github.com/ambroisemaupate "ambroisemaupate (360 commits)")

---

Tags

cmscontent-managementphpsymfonytwig

###  Code Quality

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/roadiz-standard-edition/health.svg)

```
[![Health](https://phpackages.com/badges/roadiz-standard-edition/health.svg)](https://phpackages.com/packages/roadiz-standard-edition)
```

###  Alternatives

[mustache/mustache

A Mustache implementation in PHP.

3.3k44.6M291](/packages/mustache-mustache)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[nicmart/string-template

StringTemplate is a very simple string template engine for php. I've written it to have a thing like sprintf, but with named and nested substutions.

2101.7M30](/packages/nicmart-string-template)

PHPackages © 2026

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