Search by

rawbinn / larapress

rawbinn

A WordPress-inspired CMS package for Laravel with admin panel, themes, plugins, and content management.

Package info

github.com/rawbinn/larapress

Language:CSS

pkg:composer/rawbinn/larapress

Statistics

Installs: 6

Dependents: 0

Suggesters: 1

Stars: 0

Open Issues: 0

1.0.2 2026-09-08 12:37 UTC

This package is auto-updated.

Last update: 2026-09-08 12:39:44 UTC


README

A WordPress-inspired CMS for Laravel with an admin panel, themes, plugins, pages, posts, menus, settings, and SEO tools.

Requirements

  • PHP 8.3+
  • Laravel 13
  • MySQL/MariaDB or PostgreSQL
  • Composer

Required companion packages (installed automatically):

Package Purpose
rawbinn/lp-auth Users, roles, permissions
rawbinn/media Media library and uploads
rawbinn/themes Theme engine and asset resolution

Installation

composer require rawbinn/larapress rawbinn/lp-auth rawbinn/media rawbinn/themes
php artisan lp-auth:install
php artisan vendor:publish --tag=media-config
php artisan larapress:install --skip-setup
php artisan migrate
php artisan larapress:seed
php artisan larapress:install --setup-only
php artisan storage:link

larapress:install --setup-only prompts for site title, description, email, and admin password. The same email is used for site contact and admin login. It creates the administrator account and saves site settings.

Use php artisan larapress:install --force to overwrite published files.

Install flags:

  • --without-support — skip editor/support assets (CodeMirror, flags, logos)
  • --without-assets — skip compiled admin assets
  • --with-themes — also run larapress-starter-themes:install when that package is installed
  • --skip-setup — skip site/admin setup prompts
  • --setup-only — skip publishing and only run site/admin setup
  • --site-title=, --site-description=, --admin-email=, --admin-password= — non-interactive setup (all four required together)

Non-interactive setup example:

php artisan larapress:install --setup-only \
  --site-title="My Site" \
  --site-description="Site meta description" \
  --admin-email="admin@example.com" \
  --admin-password="secret-password"

Optional starter themes package:

composer require rawbinn/larapress-starter-themes
php artisan larapress-starter-themes:install

Optional extra publishes:

php artisan vendor:publish --tag=larapress-lang
php artisan vendor:publish --tag=media-assets

Quick start

1. Register middleware

Add the Larapress middleware to your web group in bootstrap/app.php (or app/Http/Kernel.php on older apps):

->withMiddleware(function (Middleware $middleware) {
    $middleware->appendToGroup('web', [
        \Rawbinn\Larapress\Middleware\Larapress::class,
    ]);
})

2. Configure the user model

namespace App\Models;

use Rawbinn\Auth\Models\User as BaseUser;

class User extends BaseUser
{
    //
}

Update config/auth.php and config/larapress.php to point at your user model.

3. Publish and configure access

Ensure config/access.php exists in your application (or publish it from your app skeleton) and seed an administrator user with the Administrator role.

4. Enable the admin bar (optional)

In Settings → Miscellaneous, set Show Adminbar to Yes for logged-in users on the frontend.

Publish tags

Tag Contents
larapress config/larapress.php
larapress-access config/access.php
larapress-custom-css config/custom-css.php
larapress-themes-config config/themes.php
admin-menu config/admin-menu.php
larapress-admin Compiled admin assets in public/vendor/larapress
larapress-support Editor and support assets (CodeMirror, flags, logos)
larapress-lang Language files
larapress-assets Deprecated legacy bulk asset publish

Configuration

Key options in config/larapress.php:

return [
    'user_model' => App\Models\User::class,
    'user_confirmation_route' => env('LARAPRESS_USER_CONFIRMATION_ROUTE', 'frontend.auth.account.confirm'),
    'admin_bar' => false,
    'admin_analytics' => [
        'enabled' => env('LARAPRESS_ADMIN_ANALYTICS', false),
        'tracking_id' => env('LARAPRESS_ADMIN_ANALYTICS_ID'),
    ],
];

The Miscellaneous settings screen stores most runtime options (site title, SEO, reCAPTCHA, admin bar) in the settings table.

Plugins and themes

  • Drop plugins into plugins/{slug}/ and install via Admin → Plugins or php artisan plugin:install {slug}
  • Install demo themes with rawbinn/larapress-starter-themes, then activate one in Admin → Themes

Artisan commands

php artisan plugin:list
php artisan plugin:install contact
php artisan plugin:activate contact
php artisan plugin:deactivate contact
php artisan plugin:uninstall contact

Development

From the monorepo root:

composer test:larapress
composer lint:larapress
composer analyse:larapress

From the package directory:

cd packages/rawbinn/larapress
composer install
npm install
npm run build
composer test
composer lint
composer analyse

License

MIT. See LICENSE.