FREEDOM251

Freedom251 › GraphQL Tools

Lighthouse

Free plan APISelf-hosted

Visit Lighthouse Alternatives Pricing

Lighthouse's own site

What Lighthouse is

Lighthouse is a free framework for serving GraphQL from an existing Laravel application. It uses GraphQL Schema Definition Language (SDL) to describe data, with server-side directives for adding behavior. The default endpoint is `/graphql`, which GraphQL clients can use. Lighthouse reuses Laravel concepts and code, including Eloquent models, and can build optimized database queries. Built-in directives support creating records, resolving relationships, query constraints, pagination, and Laravel validation for fields and arguments. Developers can create custom directives, and the `@can` directive family can use Laravel Policies to limit field operations. The framework supports Laravel authentication mechanisms, including Sanctum, and subscriptions for sending server updates to clients. Parsed queries can be cached with Laravel cache stores or local PHP files using OPcache; Automatic Persisted Queries are supported with Apollo compatibility. Installation uses Composer in a Laravel project. Lighthouse is also configurable for Lumen, though its service providers must be registered individually. It is self-hosted and free; GraphQL tooling such as GraphiQL is not included.

Who it suits

Lighthouse suits developers building GraphQL APIs on Laravel or Lumen who want to use Eloquent models and Laravel conventions. It is a self-hosted option, so the application environment must be managed by its users.

What it does well

  • Free to install in a Laravel or Lumen project.
  • Built-in directives handle relationships, pagination, and validation.
  • Supports Laravel authentication, including Sanctum.
  • Caches parsed queries and supports persisted queries.
  • GraphQL clients can use the default `/graphql` endpoint.

What to know first

  • GraphiQL and other GraphQL tools are not included.
  • Federation is experimental and cannot serve as a gateway.
  • Subscriptions do not expire automatically.
  • Lumen service providers require individual registration.

Limits

Lighthouse is free to install in a Laravel or Lumen project. Federation is experimental and cannot serve as a gateway; subscriptions also need a configured storage TTL or Pusher channel existence webhook to avoid remaining active indefinitely.

Plans

PlanBilled and limitsPrice
LighthouseInstallable PHP package · requires a Laravel or Lumen projectFree

As lighthouse-php.com lists them, read 8 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the Lighthouse PHP website.
  2. Create or use a Laravel project, or configure a Lumen project.
  3. Install the package with Composer using `composer require nuwave/lighthouse`.
  4. Configure the GraphQL schema and use the default `/graphql` endpoint with a GraphQL client.
  5. Add separate GraphQL tooling if needed; the documentation shows GraphQL Playground as a package option.

Verdict

Lighthouse brings GraphQL schema directives and data access features into Laravel applications, with Lumen configuration also documented. Consider the tooling gap, experimental federation support, and subscription-expiry setup when deciding whether it fits your project.

Questions

How much does Lighthouse cost?

The Lighthouse plan is free.

What does Lighthouse run on?

It is a self-hosted PHP package for a Laravel or Lumen project.

How do I install Lighthouse?

The installation uses Composer: `composer require nuwave/lighthouse`.

Does Lighthouse include GraphiQL?

No. The installation documentation says GraphQL tooling such as GraphiQL is not included.

Does Lighthouse support authentication and authorization?

It supports standard Laravel authentication mechanisms, including Sanctum. Its `@can` directive family can use Laravel Policies to restrict field operations.

Can Lighthouse serve as a federation gateway?

No. Federation support is experimental, is not enabled by default, and cannot serve as a federation gateway.

Facts from Lighthouse's own pages

Authentication
It supports standard Laravel authentication mechanisms and can use Laravel Sanctum for API authentication. · lighthouse-php.com, 8 Oct 2026
Authorization
The `@can` directive lets Lighthouse use Laravel Policies to restrict field operations. · lighthouse-php.com, 8 Oct 2026
Caching
Parsed GraphQL queries can be cached using Laravel cache stores or local PHP files with OPcache. · lighthouse-php.com, 7 Oct 2026
CRUD and relationships
Built-in directives support operations such as creating records and resolving Eloquent relationships. · lighthouse-php.com, 7 Oct 2026
CSRF mitigation
The optional `EnsureXHR` middleware blocks GET requests and POST requests that can be created using HTML forms to mitigate CSRF attacks. · lighthouse-php.com, 8 Oct 2026
Custom directives
Developers can implement custom directives to add reusable behavior to schema definitions. · lighthouse-php.com, 7 Oct 2026
Data access features
Built-in directives support Eloquent relationships, pagination, and query constraints. · lighthouse-php.com, 8 Oct 2026
Developer tooling
The installation documentation says Lighthouse does not include GraphQL tooling such as GraphiQL and shows GraphQL Playground as a separate package. · lighthouse-php.com, 7 Oct 2026
Eloquent
It works with existing Eloquent models and creates optimized database queries out of the box. · lighthouse-php.com, 7 Oct 2026
Federation limitation
Federation support is marked experimental, is not enabled by default, and cannot serve as a federation gateway. · lighthouse-php.com, 8 Oct 2026
GraphQL endpoint
The default GraphQL endpoint is `/graphql`, and the docs say any GraphQL client can use it. · lighthouse-php.com, 8 Oct 2026
Install
The docs install Lighthouse in a project with Composer using `composer require nuwave/lighthouse`. · lighthouse-php.com, 8 Oct 2026
Installation
The tutorial installs Lighthouse in a Laravel project with Composer using `composer require nuwave/lighthouse`. · lighthouse-php.com, 7 Oct 2026
Laravel and Eloquent
It works on an existing Laravel application and uses Eloquent models to create optimized database queries. · lighthouse-php.com, 8 Oct 2026
Laravel integration
It builds a GraphQL server on top of an existing Laravel application and is designed to reuse Laravel concepts and code. · lighthouse-php.com, 7 Oct 2026
Lumen support
The docs explain how to configure Lighthouse for Lumen and note that its service providers must be registered individually because Lumen does not support auto-discovery. · lighthouse-php.com, 8 Oct 2026
Pagination and validation
Schema directives include pagination and Laravel validation for GraphQL fields and arguments. · lighthouse-php.com, 7 Oct 2026
Persisted queries
Automatic Persisted Queries are supported with Apollo compatibility and are enabled by default when query caching is enabled. · lighthouse-php.com, 7 Oct 2026
Plugins and tooling
The resources page lists plugins including Lighthouse Sanctum and a Redis broadcaster, and recommends GraphiQL and GraphQL Voyager packages. · lighthouse-php.com, 8 Oct 2026
Purpose
Lighthouse is a framework for serving GraphQL from Laravel. · lighthouse-php.com, 8 Oct 2026
Schema approach
It uses GraphQL Schema Definition Language to describe data and server-side directives to add functionality. · lighthouse-php.com, 7 Oct 2026
Schema definition
It uses GraphQL Schema Definition Language (SDL) and server-side directives to describe data and add functionality. · lighthouse-php.com, 8 Oct 2026
Subscription limit
Subscriptions do not expire automatically; the docs recommend configuring a storage TTL or using a Pusher channel existence webhook. · lighthouse-php.com, 8 Oct 2026
Subscriptions
GraphQL subscriptions can use the Pusher driver or Laravel Echo driver. · lighthouse-php.com, 8 Oct 2026

Where Lighthouse stands on Freedom251

Look at these too