PHPackages                             inmanturbo/freestack - 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. [Framework](/categories/framework)
4. /
5. inmanturbo/freestack

ActiveProject[Framework](/categories/framework)

inmanturbo/freestack
====================

Starter Kit for the Edge.

v1.0.5(9mo ago)24MITBladePHP ^8.2CI passing

Since Sep 15Pushed 9mo agoCompare

[ Source](https://github.com/inmanturbo/freestack)[ Packagist](https://packagist.org/packages/inmanturbo/freestack)[ RSS](/packages/inmanturbo-freestack/feed)WikiDiscussions main Synced today

READMEChangelog (6)Dependencies (17)Versions (7)Used By (0)

FreeStack - Laravel Livewire Starter Kit
========================================

[](#freestack---laravel-livewire-starter-kit)

[![Tests](https://github.com/inmanturbo/freestack/actions/workflows/tests.yml/badge.svg)](https://github.com/inmanturbo/freestack/actions/workflows/tests.yml)[![Install with Herd](https://camo.githubusercontent.com/c62cb221d136c92117fbfd4398c9f0f038d7bc205d84db3ce1b19d46b5045009/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f496e7374616c6c25323077697468253230486572642d6666663f6c6f676f3d6c61726176656c266c6f676f436f6c6f723d663533303033)](https://herd.laravel.com/new?starter-kit=inmanturbo/freestack)[![Latest Version on Packagist](https://camo.githubusercontent.com/64cfd670ee7e11914e1d8c5ba7e65e431435fc9d60020530cc49f3ab781edb5f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f696e6d616e747572626f2f66726565737461636b2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/inmanturbo/freestack)

A modern Laravel starter kit featuring Livewire, Flux UI, Laravel Passport OAuth2, and EdgeAuth for single sign-on (SSO) behind reverse proxies.

> 🚀 **Quick Start:** Use the Laravel installer with `laravel new your-project --using=https://github.com/inmanturbo/freestack` to create a new project based on this starter kit.

> 🐎 **Try with Laravel Herd:** [Open in Laravel Herd](https://herd.laravel.com/new?starter-kit=inmanturbo/freestack)

Features
--------

[](#features)

### 🔐 Authentication &amp; Authorization

[](#-authentication--authorization)

- **Laravel Passport OAuth2** - Complete OAuth2 server implementation
- **EdgeAuth SSO** - Custom authentication system for apps behind reverse proxies
- **Personal Access Tokens** - API token management with scopes
- **Session Management** - View and manage active user sessions

### 🎨 Modern UI Stack

[](#-modern-ui-stack)

- **Livewire** - Dynamic interfaces without leaving Laravel
- **Flux UI Pro** - Beautiful, accessible components *(required)*
- **Tailwind CSS** - Utility-first styling
- **Alpine.js** - Minimal framework for UI interactions

### 🛠️ Developer Experience

[](#️-developer-experience)

- **Pest Testing** - Modern PHP testing framework
- **Laravel Pint** - Code style fixer
- **Comprehensive Tests** - API, Feature, and Unit test coverage

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 12.x
- MySQL/PostgreSQL
- **Flux UI Pro License** *(currently required)*

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

[](#installation)

### Option 1: Using Laravel Installer (Recommended)

[](#option-1-using-laravel-installer-recommended)

If you have the Laravel installer, you can use this starter kit as a template:

```
# Install Laravel installer if you don't have it
composer global require laravel/installer

# Create new project using this starter kit
laravel new your-project-name --using=inmanturbo/freestack
cd your-project-name
```

### Option 2: Manual Clone

[](#option-2-manual-clone)

```
git clone  your-project-name
cd your-project-name
composer install
npm install
```

### 2. Environment Setup

[](#2-environment-setup)

```
cp .env.example .env
php artisan key:generate
```

### 3. Database Setup

[](#3-database-setup)

```
php artisan migrate
php artisan passport:keys
```

> **Note:** This starter kit includes Passport migrations. Use `passport:keys` to generate encryption keys only.

### 4. Flux UI Pro Setup

[](#4-flux-ui-pro-setup)

This starter kit requires a **Flux UI Pro license**. Please visit [fluxui.dev](https://fluxui.dev) for installation and activation instructions.

### 5. Build Assets

[](#5-build-assets)

```
npm run build
# or for development
npm run dev
```

### 6. Serve the Application

[](#6-serve-the-application)

```
php artisan serve
```

Visit `http://localhost:8000` and register your first account.

OAuth2 Setup
------------

[](#oauth2-setup)

### Creating OAuth Applications

[](#creating-oauth-applications)

1. Navigate to **Settings → OAuth Apps**
2. Click **Create New Application**
3. Enter application name and redirect URIs
4. Copy the **Client ID** and **Client Secret**

### OAuth2 Flow Example

[](#oauth2-flow-example)

```
# Authorization URL
GET /oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&response_type=code&scope=read

# Exchange code for token
POST /oauth/token
{
    "grant_type": "authorization_code",
    "client_id": "your-client-id",
    "client_secret": "your-client-secret",
    "redirect_uri": "your-redirect-uri",
    "code": "received-authorization-code"
}
```

EdgeAuth SSO
------------

[](#edgeauth-sso)

EdgeAuth enables SSO for applications behind reverse proxies (nginx, Traefik, etc.).

### How It Works

[](#how-it-works)

1. **Reverse Proxy Setup** - Configure your proxy to forward auth requests
2. **Session Tickets** - EdgeAuth issues session-based tickets
3. **Token Exchange** - Apps exchange tickets for API tokens
4. **Seamless Login** - Users authenticate once across all apps

### Reverse Proxy Configuration

[](#reverse-proxy-configuration)

#### Nginx Example

[](#nginx-example)

```
location /auth {
    internal;
    proxy_pass http://freestack.test/oauth/introspect;
    proxy_pass_request_body off;
    proxy_set_header Content-Length "";
    proxy_set_header X-Original-URI $request_uri;
}

location /app {
    auth_request /auth;
    proxy_pass http://your-app.test;
}
```

#### Traefik Example

[](#traefik-example)

```
middlewares:
  auth:
    forwardAuth:
      address: "http://freestack.test/oauth/introspect"
      authResponseHeaders:
        - "X-Auth-User-Id"
```

### EdgeAuth API

[](#edgeauth-api)

```
# Initiate SSO redirect
GET /edge/auth?host=app.test&return=/dashboard

# Introspect token (for reverse proxy)
GET /oauth/introspect
Authorization: Bearer edge-secret-token
```

API Documentation
-----------------

[](#api-documentation)

### Authentication

[](#authentication)

All API endpoints require authentication via Personal Access Token:

```
Authorization: Bearer your-api-token
```

### OAuth Applications

[](#oauth-applications)

- `GET /api/oauth-applications` - List applications
- `POST /api/oauth-applications` - Create application
- `PUT /api/oauth-applications/{id}` - Update application
- `DELETE /api/oauth-applications/{id}` - Delete application
- `POST /api/oauth-applications/{id}/regenerate-secret` - Regenerate secret

### Personal Access Tokens

[](#personal-access-tokens)

- `GET /api/access-tokens` - List tokens
- `POST /api/access-tokens` - Create token
- `PUT /api/access-tokens/{id}` - Update token
- `DELETE /api/access-tokens/{id}` - Delete token

Development
-----------

[](#development)

### Running Tests

[](#running-tests)

```
# All tests
./vendor/bin/pest

# Specific test suites
./vendor/bin/pest tests/Feature/Api/
./vendor/bin/pest tests/Feature/Livewire/
```

### Code Style

[](#code-style)

```
# Fix code style
./vendor/bin/pint

# Check code style
./vendor/bin/pint --test
```

### Key Directories

[](#key-directories)

```
app/
├── Http/Controllers/Api/     # API endpoints
├── Http/Middleware/          # Authentication middleware
├── EdgeAuthSession.php       # EdgeAuth implementation
└── UserApiToken.php          # Token management

resources/views/livewire/
├── settings/                 # Settings pages
│   ├── oauth.blade.php      # OAuth app management
│   └── api-tokens.blade.php # Token management

tests/
├── Feature/Api/             # API tests
├── Feature/Livewire/        # Livewire component tests
└── Feature/Auth/            # Authentication tests

```

Configuration
-------------

[](#configuration)

### OAuth2 Scopes

[](#oauth2-scopes)

Configure available scopes in `AppServiceProvider`:

```
Passport::tokensCan([
    'edge' => 'EdgeAuth gateway access',
    'read' => 'Read user data',
    'write' => 'Write user data',
    'admin' => 'Administrative access',
]);
```

### EdgeAuth Settings

[](#edgeauth-settings)

```
# Allowed hosts for EdgeAuth redirects
EDGE_ALLOWED_HOSTS=app1.test,app2.test

# EdgeAuth secret for introspection
EDGE_SECRET=your-secure-secret
```

### Session Configuration

[](#session-configuration)

```
SESSION_DRIVER=database  # Required for EdgeAuth
SESSION_LIFETIME=120     # Minutes
SESSION_SECURE_COOKIE=true  # HTTPS only
```

Production Deployment
---------------------

[](#production-deployment)

### Security Checklist

[](#security-checklist)

- Set `APP_ENV=production`
- Configure HTTPS with valid certificates
- Set secure session cookies (`SESSION_SECURE_COOKIE=true`)
- Configure database sessions properly
- Configure rate limiting
- Set up log monitoring
- Regular security updates

### Performance Optimization

[](#performance-optimization)

```
# Optimize for production
php artisan optimize
composer install --optimize-autoloader --no-dev
```

Disclaimer
----------

[](#disclaimer)

This is an independent, community-maintained starter kit. We are not affiliated with, endorsed by, or in any way officially connected to Laravel, Livewire, Flux UI, or any of their subsidiaries or affiliates. The names Laravel, Livewire, and Flux UI as well as related names, marks, emblems, and images are registered trademarks of their respective owners.

License
-------

[](#license)

This starter kit is open-sourced software licensed under the [MIT license](LICENSE).

**Note:** Flux UI Pro requires a separate commercial license from [Flux UI](https://fluxui.dev).

Support
-------

[](#support)

- [Laravel Documentation](https://laravel.com/docs)
- [Livewire Documentation](https://livewire.laravel.com)
- [Flux UI Documentation](https://fluxui.dev/docs)
- [Laravel Passport](https://laravel.com/docs/passport)

For issues specific to this starter kit, please open an issue in this repository.

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance56

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

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

Total

6

Last Release

292d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0261babef618b8fb3bfcea84376ed5e71e7169586eb8de63a6550c2e7ea653a6?d=identicon)[inmanturbo](/maintainers/inmanturbo)

---

Top Contributors

[![inmanturbo](https://avatars.githubusercontent.com/u/47095624?v=4)](https://github.com/inmanturbo "inmanturbo (46 commits)")

---

Tags

hackathonlaravelnginx-proxy-managerframeworklaravel

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/inmanturbo-freestack/health.svg)

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

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3991.8k](/packages/codewithdennis-larament)[ercogx/laravel-filament-starter-kit

This is a Filament v5 Starter Kit for Laravel 13, designed to accelerate the development of Filament-powered applications.

461.7k](/packages/ercogx-laravel-filament-starter-kit)

PHPackages © 2026

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