PHPackages                             airflix/airflix - 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. airflix/airflix

ActiveProject

airflix/airflix
===============

An AirPlay friendly web interface to stream your movies and TV shows from a home server.

v1.1.6(9y ago)43725977[3 issues](https://github.com/wells/airflix/issues)MITPHPPHP &gt;=5.6.4

Since Jul 25Pushed 7y ago17 watchersCompare

[ Source](https://github.com/wells/airflix)[ Packagist](https://packagist.org/packages/airflix/airflix)[ RSS](/packages/airflix-airflix/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (8)Dependencies (13)Versions (10)Used By (0)

Airflix
=======

[](#airflix)

[![Build Status](https://camo.githubusercontent.com/261c40fcc2d5b4d480d42334a39b2d3f722a5d157c96214d4ee4e68f4e68315d/68747470733a2f2f7472617669732d63692e6f72672f77656c6c732f616972666c69782e737667)](https://travis-ci.org/wells/airflix)[![Total Downloads](https://camo.githubusercontent.com/32c3e1bafe059d3bc34cbd4a55be2c138c655aa206af87d7033a7f4cfd201781/68747470733a2f2f706f7365722e707567782e6f72672f616972666c69782f616972666c69782f642f746f74616c2e737667)](https://packagist.org/packages/airflix/airflix)[![Latest Stable Version](https://camo.githubusercontent.com/4bbda4cc5b044f7464edf47ddc0ab6daacd7422addb954ce7903fb6edc00b13b/68747470733a2f2f706f7365722e707567782e6f72672f616972666c69782f616972666c69782f762f737461626c652e737667)](https://packagist.org/packages/airflix/airflix)[![License](https://camo.githubusercontent.com/4aa868f37a28ced4a8b736548bd196c1f4c4e8f45af7d75d2f22b023c061883e/68747470733a2f2f706f7365722e707567782e6f72672f616972666c69782f616972666c69782f6c6963656e73652e737667)](https://packagist.org/packages/airflix/airflix)

Airflix is a web application for browsing and playing movies and TV shows from a local home server. The overall goal of the project is to provide a beautiful HTTP interface to AirPlay or Chromecast media onto your TV screen from a phone or tablet.

[![Airflix Demo](https://raw.githubusercontent.com/wells/airflix/master/public/airflix-demo.gif)](https://raw.githubusercontent.com/wells/airflix/master/public/airflix-demo.gif)

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

[](#installation)

You can download Airflix either through GitHub or composer.

### Via GitHub

[](#via-github)

```
$ git clone --depth=1 git@github.com:wells/airflix.git airflix.local

```

### Via Composer Create-Project

[](#via-composer-create-project)

You may also install Airflix by issuing the Composer create-project command in your terminal:

```
$ composer create-project --prefer-dist airflix/airflix airflix.local

```

### Recommended Servers

[](#recommended-servers)

We recommend that you use the following servers to run Airflix.

- [nginx web server](https://www.nginx.com/)
- [MariaDB database server](https://mariadb.com/)
- [Redis server](http://redis.io/)

When trying this application out in a development environment, please note that Laravel Valet currently does not play video files. We recommend you either use Laravel Homestead or a local install of nginx (i.e. from homebrew). Hopefully this will change soon, so we can [ngrok](https://ngrok.com/) our Airflix installs. You could always just setup a [tinc](http://tinc-vpn.org/) VPN with some [avahi](https://en.wikipedia.org/wiki/Avahi_%28software%29) for your home network.

### Create a Database

[](#create-a-database)

We recommend you use a database with `utf8mb4` encoding and `utf8mb4_unicode_520_ci` collation. Make sure you also update your `.env` file with your database credentials and other configuration options.

### Apply for an API Token

[](#apply-for-an-api-token)

Airflix requires an API token from [themoviedb.org](https://www.themoviedb.org/) to gather information and images. You will need to create an account and apply there to acquire a key for access to this API.

### Configuration

[](#configuration)

Once you have an API key ready to use, you can simply run `php artisan airflix:install` to run migrations, configure your folders, and enter API keys. This command will also perform an initial scan of your movies and TV shows folders for content, which will take time on the first run.

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

[](#documentation)

Airflix has [api documentation](http://docs.airflix.apiary.io/).

### Folders

[](#folders)

The folders that contain movies and TV shows follow certain naming conventions.

Each movie is contained inside a folder named with either the movie title (i.e. `/Films/Serenity/Serenity.m4v`) or the movie title with the release year in parenthesis (i.e. `/Films/Avatar (2009)/Avatar (2009).m4v`).

TV Shows are contained inside a folder with a similar naming convention to a movie, except each episode file has a `S##E##.m4v` naming format (i.e. `/TV Shows/Stargate Atlantis/S01E01.m4v`).

If you use a different file extension from `m4v` (i.e. `mp4`) for your video files, you can edit the `AIRFLIX_EXTENSIONS_VIDEO` in your `.env` file.

### Jobs

[](#jobs)

We recommend you run `redis-server` on your home server so that Airflix can queue up jobs. This is required for the Settings page to function properly.

Please see the [Laravel documentation](https://laravel.com/docs/5.2/queues#running-the-queue-listener) to learn how to setup a queue daemon. We recommend limiting to one `queue:work` process since most of the jobs are synchronous in nature.

We have provided a sample `/etc/supervisor/conf.d/airflix-worker.conf` file below:

```
[program:airflix-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /srv/www/airflix.local/current/artisan queue:work redis --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/srv/www/airflix.local/storage/logs/airflix-worker.log

```

### Schedule

[](#schedule)

Airflix has a number of scheduled tasks to refresh your folder list on a weekly basis. Just add something like the following into your server's cron:

```
* * * * * php /srv/www/airflix.local/current/artisan schedule:run >> /dev/null 2>&1

```

### Commands

[](#commands)

We have provided a number of Laravel Artisan commands including `airflix:history`, `airflix:install`, `airflix:folders`, `airflix:genres`, `airflix:movies`, `airflix:shows`, and `airflix:keys`. For more information about each command, you can run `php artisan help ` to find out what options are available for each command.

Testing
-------

[](#testing)

```
$ phpunit
```

License
-------

[](#license)

Airflix is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity34

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity64

Established project with proven stability

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

Recently: every ~20 days

Total

8

Last Release

3342d ago

PHP version history (2 changes)v1.0.0PHP &gt;=5.5.9

v1.1.0PHP &gt;=5.6.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/5f00f32eaa61517c4ec4ce484936b8a89e8a7dfbc925d6bf66d557dd7d7ad09a?d=identicon)[wells](/maintainers/wells)

---

Top Contributors

[![wells](https://avatars.githubusercontent.com/u/2041871?v=4)](https://github.com/wells "wells (65 commits)")

---

Tags

airplaylaravelvuemoviestvairflixairplay

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

22.8k69.3k](/packages/grumpydictator-firefly-iii)[bagisto/bagisto

Bagisto Laravel E-Commerce

26.2k161.6k7](/packages/bagisto-bagisto)[krayin/laravel-crm

Krayin CRM

22.0k32.8k1](/packages/krayin-laravel-crm)[unopim/unopim

UnoPim Laravel PIM

9.4k1.8k](/packages/unopim-unopim)[blair2004/nexopos

The Free Modern Point Of Sale System build with Laravel, TailwindCSS and Vue.js.

1.2k2.3k](/packages/blair2004-nexopos)[concrete5/core

Concrete core subtree split

19159.3k48](/packages/concrete5-core)

PHPackages © 2026

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