> ## Documentation Index
> Fetch the complete documentation index at: https://docs.levelrail.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-host PiGallery2 with Docker

> A directory-first photo gallery that shows your folders as they are on disk, with search, maps and thumbnails. Photos are read from a volume, so you copy them in or mount a folder.

A directory-first photo gallery that shows your folders as they are on disk, with search, maps and thumbnails. Photos are read from a volume, so you copy them in or mount a folder.

This page describes the Levelrail template for PiGallery2 (Media). It deploys the services below as one Docker Compose app on your own server. Project site: [https://bpatrik.github.io/pigallery2/](https://bpatrik.github.io/pigallery2/).

Recommended memory: about 512 MiB.

## Services, ports and volumes

| Service | Image | Container ports | Volumes |
| - | - | - | - |
| `pigallery2` | `bpatrik/pigallery2:3.5.2-alpine` | 80 | `config -&#62; /app/data/config` `db -&#62; /app/data/db` `images -&#62; /app/data/images` `tmp -&#62; /app/data/tmp` |

## Environment variables

| Service | Variable | Value |
| - | - | - |
| `pigallery2` | `NODE_ENV` | Preset in the template |

Passwords and keys marked as generated are created for you when the app is deployed and stored as secrets. Values are not shown here.

## Security and requirements

Level: **Standard**.

What this template needs:

* Stores data in named volumes (`pigallery2`): config, db, images, tmp.

What Levelrail adds around it:

* Automatic HTTPS and an ingress shield in front of every domain.
* Named volumes can be backed up and restored.
* Deploys are gated on the health check before traffic switches.
* One-step rollback to the previous revision.
* Exposure report shows what is reachable from outside.
* Host firewall rules managed for published ports.

## Deploy PiGallery2 with Levelrail

In the dashboard, open **Apps**, choose **New app**, then **Browse templates**, and select PiGallery2. Review the Compose body and deploy.

With the CLI:

```bash theme={"dark"}
levelrail-cli templates deploy pigallery2 --name my-pigallery2
```

See the [service template catalog](https://docs.levelrail.com/templates-and-registry.md) for how templates work, and [Getting started](https://docs.levelrail.com/getting-started.md) if you have not installed Levelrail yet.

## More Media templates

* [Audiobookshelf](https://docs.levelrail.com/self-host/audiobookshelf.md)
* [Bazarr](https://docs.levelrail.com/self-host/bazarr.md)
* [Calibre-Web](https://docs.levelrail.com/self-host/calibre-web.md)
* [Castopod](https://docs.levelrail.com/self-host/castopod.md)
* [Emby](https://docs.levelrail.com/self-host/emby.md)

All templates are listed in the [self-host gallery](https://docs.levelrail.com/self-host.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.