PHPackages                             cecil/photo-stream - 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. cecil/photo-stream

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

cecil/photo-stream
==================

Photo Stream is a self hosted static website for your photos, with really goods loading performances, powered by Cecil.

1.0.0(2y ago)310MITJavaScript

Since Jan 4Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/Cecilapp/photo-stream)[ Packagist](https://packagist.org/packages/cecil/photo-stream)[ GitHub Sponsors](https://github.com/ArnaudLigny)[ Fund](https://opencollective.com/cecil)[ RSS](/packages/cecil-photo-stream/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Photo Stream
============

[](#photo-stream)

*Photo Stream* is a self hosted static website for your photos, with really goods loading performances, powered by [Cecil](https://cecil.app).

[![Screenshot](/docs/screenshot.png)](/docs/screenshot.png)

Demo:  (hosted by [Netlify](https://www.netlify.com) and fed by [Unsplash](https://unsplash.com)).

Features
--------

[](#features)

- Responsives images &amp; mobile friendly
- Files optimized and lazy loaded
- Rich content caption
- Image placeholder (low quality or dominant color)
- Keyboard navigation
- Direct download button
- Simple workflow: drag &amp; drop and commit

Install
-------

[](#install)

> PHP 8.1+ and [Cecil](https://cecil.app/download/) 8.0+ are required.

First you should clone or download the [Git repository](https://github.com/Cecilapp/photo-stream.git), or run `composer create-project cecil/photo-stream myproject`.

The repository come with a default version of `cecil.phar`, so you can you use it immediately, or you can download the latest release throught the following command:

```
curl -LO https://cecil.app/cecil.phar
```

Usage
-----

[](#usage)

### Add photos

[](#add-photos)

Just drop image files in the `static/photos` directory.

### Add details (optional)

[](#add-details-optional)

For each photo you can add a title, an alternative text and the author name/URL, through the [`data/photos.yaml`](data/photos.yaml) file:

```
: # without file extension
  title:
  alt:
  author:
    name:
    url:
```

### Configuration

[](#configuration)

You can define gallery title, baseurl, author, colors, thumbnails size, sort, etc. by editing [`config.yml`](config.yml) file:

```
photo:
  style:
    color:
      background: black
      text: white
    img:
      height: 300px
      margin: 2px
  sort: asc
  size:
    thumbnail: 640
    full: 1920
  placeholder: image # image, color or false
```

### Preview locally

[](#preview-locally)

You can double-click on the command shortcut:

- *preview.command* on macOS
- *preview.cmd* on Windows

Or run the following command in your terminal:

```
php cecil.phar serve -v --open
```

### Localize

[](#localize)

You can easily localize *Photo Stream* in your language.

#### Add languages

[](#add-languages)

`config.yml`:

```
language:  # e.g.: fr
languages:
  - code:
    locale:  # e.g.: fr_FR
```

#### Add translations

[](#add-translations)

In the `translations` directory, copy `translations.en.yaml` to `translations..yaml` then translate each key.

Deploy
------

[](#deploy)

First build the website:

```
php cecil.phar build -v
```

Then copy generated files in `_site` to your Web server.

Or use a provider:

[![Deploy to Netlify](https://camo.githubusercontent.com/de47084e2d5a8948486a2238f1517e465560ec293c4a2cba80020472f8d5c80a/68747470733a2f2f7777772e6e65746c6966792e636f6d2f696d672f6465706c6f792f627574746f6e2e737667)](https://app.netlify.com/start/deploy?repository=https://github.com/Cecilapp/photo-stream) [![Deploy with Vercel](https://camo.githubusercontent.com/7015516519ae874ab75537283bc75f86b3d46386ed994093a3790a1180913164/68747470733a2f2f76657263656c2e636f6d2f627574746f6e)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FCecilapp%2Fphoto-stream&project-name=photo-stream&repository-name=photo-stream&demo-title=Photo%20Stream&demo-description=Super%20simple%20self%20hosted%20photo%20stream%2C%20powered%20by%20Cecil.&demo-url=https%3A%2F%2Fphoto-stream-demo.cecil.app&demo-image=https%3A%2F%2Fgithub.com%2FCecilapp%2Fphoto-stream.cecil.app%2Fraw%2Fmain%2Fassets%2Fpreview.png)

License
-------

[](#license)

*Photo Stream* is a free software distributed under the terms of the [MIT license](LICENSE).

[PhotoSwipe](https://photoswipe.com) is under the terms of the MIT license.

Photos from the demo are under the [Unsplash license](https://unsplash.com/license).

© [Arnaud Ligny](https://arnaudligny.fr)

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance52

Moderate activity, may be stable

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

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

Unknown

Total

1

Last Release

865d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/52a734f97ce4ef72fb07b59e5d0f7f6a26a0b322da49b881bedc3896c5e7f128?d=identicon)[aligny](/maintainers/aligny)

---

Top Contributors

[![ArnaudLigny](https://avatars.githubusercontent.com/u/80580?v=4)](https://github.com/ArnaudLigny "ArnaudLigny (211 commits)")

---

Tags

cecilcecil-startergaleryphotosstatic-site

### Embed Badge

![Health badge](/badges/cecil-photo-stream/health.svg)

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

###  Alternatives

[kalnoy/illuminate-menu

A menu builder for Laravel using Bootstrap's markup.

2514.3k1](/packages/kalnoy-illuminate-menu)

PHPackages © 2026

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