PHPackages                             rongmao/laravel-totem - 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. [CLI &amp; Console](/categories/cli)
4. /
5. rongmao/laravel-totem

ActiveLibrary[CLI &amp; Console](/categories/cli)

rongmao/laravel-totem
=====================

A Laravel package to manage your cron jobs through a beautiful dashboard

v7.0.1(5y ago)028MITPHPPHP &gt;=7.2

Since Aug 21Pushed 5y agoCompare

[ Source](https://github.com/Zengxm/laravel-totem)[ Packagist](https://packagist.org/packages/rongmao/laravel-totem)[ RSS](/packages/rongmao-laravel-totem/feed)WikiDiscussions 6.0 Synced 2d ago

READMEChangelog (5)Dependencies (12)Versions (68)Used By (0)

 [![Laravel Totem](https://github.com/codestudiohq/laravel-totem/raw/6.0/resources/assets/img/totem.png?raw=true)](https://github.com/codestudiohq/laravel-totem/blob/6.0/resources/assets/img/totem.png?raw=true)

[![Build Status](https://github.com/codestudiohq/laravel-totem/workflows/Laravel/badge.svg?branch=6.0)](https://github.com/codestudiohq/laravel-totem/workflows/Laravel/badge.svg?branch=6.0)[![License](https://camo.githubusercontent.com/46837658d5ffa5892cf9393adfb77dc918e729680c7b7bf3c27de45e969907b8/68747470733a2f2f706f7365722e707567782e6f72672f73747564696f2f6c61726176656c2d746f74656d2f6c6963656e73652e737667)](https://packagist.org/packages/studio/laravel-totem)

Introduction
============

[](#introduction)

[![Join the chat at https://gitter.im/laravel-totem/Lobby](https://camo.githubusercontent.com/cf22ba96073f6c2f8bf263e25f18714b2bc114ff30b33e0bd57aab122e890d26/68747470733a2f2f6261646765732e6769747465722e696d2f6c61726176656c2d746f74656d2f4c6f6262792e737667)](https://gitter.im/laravel-totem/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

Manage your `Laravel Schedule` from a pretty dashboard. Schedule your `Laravel Console Commands` to your liking. Enable/Disable scheduled tasks on the fly without going back to your code again.

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

[](#documentation)

#### Compatiblity Matrix

[](#compatiblity-matrix)

LaravelTotem6.x6.x5.85.x5.74.x5.63.x5.52.x5.41.x#### Installing

[](#installing)

`Totem` requires Laravel v5.4 and above, please refer to the above table for compatability. Use composer to install totem to your Laravel project

```
composer require studio/laravel-totem

```

> Laravel Totem supports auto package discovery for Laravel v5.5+, therefore service provider registration is not required in Laravel v5.5+

Add `TotemServiceProvider` to the `providers` array of your Laravel v5.4 application's config/app.php

```
Studio\Totem\Providers\TotemServiceProvider::class,
```

Once `Laravel Totem` is installed &amp; registered,

- Run the migration

```
php artisan migrate

```

- Publish `Totem` assets to your public folder using the following command

```
php artisan totem:assets

```

##### Table Prefix

[](#table-prefix)

Totems' tables use generic names which may conflict with existing tables in a project. To alleviate this the `.env` param `TOTEM_TABLE_PREFIX` can be set which will apply a prefix to all of Totems tables and their models.

#### Updating

[](#updating)

Please republish totem assets after updating totem to a new version

```
php artisan totem:assets

```

#### Configuration

[](#configuration)

##### Cron Job

[](#cron-job)

This package assumes that you have a good understanding of [Laravel's Task Scheduling](https://laravel.com/docs/5.4/scheduling) and [Laravel Console Commands](https://laravel.com/docs/5.4/artisan#writing-commands). Before any of this works please make sure you have a cron running as follows:

```
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

```

##### Web Dashboard

[](#web-dashboard)

`Laravel Totem`'s dashboard is inspired by `Laravel Horizon`. Just like Horizon you can configure authentication to `Totem`'s dashboard. Add the following to the boot method of your AppServiceProvider or wherever you might seem fit.

```
use Studio\Totem\Totem;

Totem::auth(function($request) {
    // return true / false . For e.g.
    return Auth::check();
});
```

By default Totem's dashboard only works in local environment. To view the dashboard point your browser to /totem of your app. For e.g. laravel.dev/totem.

##### Filter Commands Dropdown

[](#filter-commands-dropdown)

By default `Totem` outputs all Artisan commands on the Create/Edit tasks. To make this dropdown more concise there is a filter config feature that can be set in the `totem.php` config file.

Example filters

```
'artisan' => [
    'command_filter' => [
        'stats:*',
        'email:daily-reports'
    ],
],
```

This feature uses [fnmatch](http://php.net/manual/en/function.fnmatch.php) syntax to filter displayed commands. `stats:*` will match all Artisan commands that start with `stats:` while `email:daily-reports` will only match the command named `email:daily-reports`.

This filter can be used as either a whitelist or a blacklist. By default it acts as a whitelist but an option flag can be set to instead act as a blacklist.

```
'artisan' => [
    'command_filter' => [
        'stats:*',
        'email:daily-reports'
    ],
    'whitelist' => true,
],
```

If the value of whitelist is `false` then the filter acts as a blacklist.

`'whitelist' => false`

#### Middleware

[](#middleware)

`Laravel Totem` uses the default web and api middleware but if customization is required the middleware can be changed by setting the appropriate `.env` value. These values can be found in `config/totem.php`.

#### Making Commands available in `Laravel Totem`

[](#making-commands-available-in-laravel-totem)

All artisan commands can be scheduled. If you want to hide a command from Totem make sure you have the `hidden` attribute set to true in your command. For e.g.

```
protected $hidden = true;
```

From L5.5 onwards all commands are auto registered, so this wouldn't be a problem.

#### Command Parameters

[](#command-parameters)

If your command requires arguments or options please use the optional command parameters field. You can provide parameters to your command as a string in the following manner

```
name=john.doe --greetings='Welcome to the new world'

```

In the example above, name is an argument while greetings is an option

#### Console Command

[](#console-command)

In addition to the dashboard, Totem provides an artisan command to view a list of scheduled task.

```
php artisan schedule:list

```

### Screenshots

[](#screenshots)

##### Task List

[](#task-list)

[![Task List](https://github.com/codestudiohq/laravel-totem/raw/1.0/public/img/screenshots/tasks.png?raw=true)](https://github.com/codestudiohq/laravel-totem/blob/1.0/public/img/screenshots/tasks.png?raw=true)

##### Task Details

[](#task-details)

[![Task List](https://github.com/codestudiohq/laravel-totem/raw/1.0/public/img/screenshots/task-details.png?raw=true)](https://github.com/codestudiohq/laravel-totem/blob/1.0/public/img/screenshots/task-details.png?raw=true)

##### Edit Task

[](#edit-task)

[![Task List](https://github.com/codestudiohq/laravel-totem/raw/1.0/public/img/screenshots/edit-task.png?raw=true)](https://github.com/codestudiohq/laravel-totem/blob/1.0/public/img/screenshots/edit-task.png?raw=true)

##### Artisan Command to view scheduled tasks

[](#artisan-command-to-view-scheduled-tasks)

[![Task List](https://github.com/codestudiohq/laravel-totem/raw/1.0/public/img/screenshots/artisan.png?raw=true)](https://github.com/codestudiohq/laravel-totem/blob/1.0/public/img/screenshots/artisan.png?raw=true)

Changelog
---------

[](#changelog)

Important versions listed below. Refer to the [Changelog](CHANGELOG.md) for a full history of the project.

Credits
-------

[](#credits)

- [Roshan Gautam](https://twitter.com/@roshangautam)
- [OSS Contributors](https://github.com/codestudiohq/laravel-totem/graphs/contributors)

Bug reports, feature requests, and pull requests can be submitted by following our [Contribution Guide](CONTRIBUTING.md).

Contributing &amp; Protocols
----------------------------

[](#contributing--protocols)

- [Versioning](CONTRIBUTING.md#versioning)
- [Coding Standards](CONTRIBUTING.md#coding-standards)
- [Pull Requests](CONTRIBUTING.md#pull-requests)

License
-------

[](#license)

This software is released under the [MIT](LICENSE) License.

© 2019 Roshan Gautam, All rights reserved.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 58.9% 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 ~16 days

Recently: every ~1 days

Total

66

Last Release

2136d ago

Major Versions

2.0.x-dev → v4.0.12018-11-08

4.0.x-dev → v5.0.02019-03-03

v5.3.0 → v6.0.02019-10-26

v5.3.1 → v7.0.02020-04-18

v6.0.3 → v7.0.12020-06-09

PHP version history (4 changes)v0.1.0PHP &gt;=5.6.4

v2.0.0PHP &gt;=7.0

v3.0.0PHP &gt;=7.1

v6.0.0PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/8496a21770cc6f916b7191a7553d830ad79f5512abcfc75203801d401fd4a58f?d=identicon)[menmos](/maintainers/menmos)

---

Top Contributors

[![roshangautam](https://avatars.githubusercontent.com/u/978347?v=4)](https://github.com/roshangautam "roshangautam (103 commits)")[![qschmick](https://avatars.githubusercontent.com/u/5342767?v=4)](https://github.com/qschmick "qschmick (45 commits)")[![tomschlick](https://avatars.githubusercontent.com/u/70184?v=4)](https://github.com/tomschlick "tomschlick (6 commits)")[![lroggen](https://avatars.githubusercontent.com/u/6265423?v=4)](https://github.com/lroggen "lroggen (2 commits)")[![carusogabriel](https://avatars.githubusercontent.com/u/16328050?v=4)](https://github.com/carusogabriel "carusogabriel (2 commits)")[![jpscharf](https://avatars.githubusercontent.com/u/1039984?v=4)](https://github.com/jpscharf "jpscharf (2 commits)")[![gitter-badger](https://avatars.githubusercontent.com/u/8518239?v=4)](https://github.com/gitter-badger "gitter-badger (1 commits)")[![jagroop](https://avatars.githubusercontent.com/u/12444128?v=4)](https://github.com/jagroop "jagroop (1 commits)")[![jayjfletcher](https://avatars.githubusercontent.com/u/5743488?v=4)](https://github.com/jayjfletcher "jayjfletcher (1 commits)")[![jorgemudry](https://avatars.githubusercontent.com/u/1508989?v=4)](https://github.com/jorgemudry "jorgemudry (1 commits)")[![marcoocram](https://avatars.githubusercontent.com/u/6926933?v=4)](https://github.com/marcoocram "marcoocram (1 commits)")[![matthewnessworthy](https://avatars.githubusercontent.com/u/5653887?v=4)](https://github.com/matthewnessworthy "matthewnessworthy (1 commits)")[![pierot](https://avatars.githubusercontent.com/u/46622?v=4)](https://github.com/pierot "pierot (1 commits)")[![timothyasp](https://avatars.githubusercontent.com/u/707699?v=4)](https://github.com/timothyasp "timothyasp (1 commits)")[![Arkanius](https://avatars.githubusercontent.com/u/6404401?v=4)](https://github.com/Arkanius "Arkanius (1 commits)")[![vesper8](https://avatars.githubusercontent.com/u/816028?v=4)](https://github.com/vesper8 "vesper8 (1 commits)")[![blakehooks](https://avatars.githubusercontent.com/u/2652600?v=4)](https://github.com/blakehooks "blakehooks (1 commits)")[![b-roberts](https://avatars.githubusercontent.com/u/6913180?v=4)](https://github.com/b-roberts "b-roberts (1 commits)")[![chrislarrycarl](https://avatars.githubusercontent.com/u/7042731?v=4)](https://github.com/chrislarrycarl "chrislarrycarl (1 commits)")[![dexmans](https://avatars.githubusercontent.com/u/254140?v=4)](https://github.com/dexmans "dexmans (1 commits)")

---

Tags

laravelschedulemanagertotemCode Studio

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/rongmao-laravel-totem/health.svg)

```
[![Health](https://phpackages.com/badges/rongmao-laravel-totem/health.svg)](https://phpackages.com/packages/rongmao-laravel-totem)
```

###  Alternatives

[studio/laravel-totem

A Laravel package to manage your cron jobs through a beautiful dashboard

1.8k1.1M](/packages/studio-laravel-totem)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[spatie/laravel-health

Monitor the health of a Laravel application

85810.0M83](/packages/spatie-laravel-health)[yadahan/laravel-authentication-log

Laravel Authentication Log provides authentication logger and notification for Laravel.

416632.8k5](/packages/yadahan-laravel-authentication-log)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)

PHPackages © 2026

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