PHPackages                             g3n1us/pub - 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. g3n1us/pub

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

g3n1us/pub
==========

Open Source Publication Software

V0.6-beta(8y ago)137[1 PRs](https://github.com/g3n1us/pub/pulls)HTML

Since May 20Pushed 6y ago1 watchersCompare

[ Source](https://github.com/g3n1us/pub)[ Packagist](https://packagist.org/packages/g3n1us/pub)[ RSS](/packages/g3n1us-pub/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (8)Versions (4)Used By (0)

Pub 🍺
=====

[](#pub-beer)

An opiniated, Laravel based CMS for publications with deep AWS integration, installable via Composer

Getting Started
---------------

[](#getting-started)

The best way to get started using Pub is by setting up a dedicated EC2 instance. An instance profile should be set up with administrator priveleges. This way, the installer can set up an S3 bucket and other AWS resources for use with the application. After setup is complete, the extra priveleges that are not needed of the profile should be removed.

> IMPORTANT! The instance should not be made publicly accessible at any time during setup and be sure to remove the extra priveleges from the instance profile

Installation
------------

[](#installation)

Install Laravel as normal.

It is best to install Pub on top of a fresh Laravel installation. The Pub CLI installer will set up database connections, AWS resources, Google login and Dropbox integration.

After Laravel is installed, setup the basic authentication scaffolding by running:

```
php artisan make:auth
php artisan migrate

```

> Note: if you get the error: `SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes` Add the following to the `boot()` method of `AppServiceProvider`: `Schema::defaultStringLength(191);`

Install via Composer:

```
composer require g3n1us/pub

```

> Note: you may have to include `"minimum-stability": "dev"` in your composer.json while Pub is still in development.

After this you must add the Pub service providers array in `config/app.php`.

```
'providers' => [

      /*
       * Laravel Framework Service Providers...
       */
      Illuminate\Auth\AuthServiceProvider::class,
      Illuminate\Broadcasting\BroadcastServiceProvider::class,
	  // ...

      G3n1us\Pub\Providers\PubProvider::class,
      G3n1us\Pub\Providers\PubRouteProvider::class,
      G3n1us\Pub\Providers\DropboxServiceProvider::class,
  ],

```

Once this is done, you can run setup via our CLI Artisan command:

```
php artisan pub

```

This will walk you through setup.

Post Setup
----------

[](#post-setup)

After setup is complete, publish your assets from the Pub package to the site:

```
php artisan vendor:publish
composer dump autoload

```

### There are some other optional steps you can take:

[](#there-are-some-other-optional-steps-you-can-take)

Seed the site with placeholder content:

```
php artisan db:seed --class=PubDatabaseSeeder

```

If you'd like to send mail out of the box, you'll need to either set up an smtp and add it's credentials to the .env file. Or you can change

```
MAIL_DRIVER=smtp

```

to

```
MAIL_DRIVER=sendmail

```

to send email using the built in sendmail executable.

> Note: Don't use this for production! You should use a dedicated mail option. Check out `config/mail.php` to set this and other mail related options.

Cheers! 🍻 🍻

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 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 ~46 days

Total

2

Last Release

3281d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3c333ee6f326dcf1db86250abc626934305f2a584ad240fffd26ca14c111016e?d=identicon)[g3n1us](/maintainers/g3n1us)

---

Top Contributors

[![g3n1us](https://avatars.githubusercontent.com/u/2233924?v=4)](https://github.com/g3n1us "g3n1us (81 commits)")

### Embed Badge

![Health badge](/badges/g3n1us-pub/health.svg)

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

###  Alternatives

[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

751284.3k37](/packages/civicrm-civicrm-core)[coenjacobs/mozart

Composes all dependencies as a package inside a WordPress plugin

4753.9M23](/packages/coenjacobs-mozart)[brianhenryie/strauss

Prefixes dependencies namespaces so they are unique to your plugin

186406.5k30](/packages/brianhenryie-strauss)[flarum/core

Delightfully simple forum software.

201.4M2.2k](/packages/flarum-core)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[oat-sa/generis

TAO generis library

10144.6k109](/packages/oat-sa-generis)

PHPackages © 2026

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