---
title: UniFi Voucher Site
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, networking, unifi, hotspot, voucher, php, wifi]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=networking, https://github.com/davidmbyers/ubiquity-unifi-voucher-site]
---

# UniFi Voucher Site 🎟️

> Générateur de vouchers hotspot pour routeurs/pare-feux UniFi (Ubiquiti) avec interface PHP simple et impression facile.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://github.com/davidmbyers/ubiquity-unifi-voucher-site |
| **GitHub** | https://github.com/davidmbyers/ubiquity-unifi-voucher-site |
| **License** | MIT |
| **Langage** | PHP |
| **Étoiles** | 33 ⭐ |
| **Dernière MAJ** | 2023 |
| **Catégorie** | [[cat-networking]] |

## Description

**UniFi Voucher Site** est une application PHP légère qui s'interface avec un **contrôleur UniFi** (UniFi Network Application) pour générer des **vouchers hotspot** (codes d'accès invités). Le but : remplacer la console d'administration officielle par une page web simplifiée, accessible à des non-techniciens (réception d'hôtel, accueil d'une association, gérant de café), pour créer et imprimer des codes temporaires.

L'interface propose typiquement : choix de la durée (1h, 1 jour, 1 semaine), du débit (limité ou non), du nombre de vouchers à générer, et un bouton « imprimer » qui sort une feuille A4 prête à découper. Les vouchers générés apparaissent immédiatement dans l'UniFi Controller et fonctionnent avec n'importe quel AP UniFi configuré en mode hotspot.

Idéal pour les **petites structures d'hébergement** (gîtes, chambres d'hôtes, coworkings, fablabs) qui veulent offrir un Wi-Fi invité propre sans former le personnel à l'admin UniFi complète. Le code est volontairement minimal pour pouvoir être modifié facilement.

## Installation

### Docker Compose (recommandé)

```yaml
services:
  unifi-voucher:
    image: ghcr.io/davidmbyers/unifi-voucher-site:latest
    container_name: unifi-voucher
    restart: unless-stopped
    environment:
      - UNIFI_URL=https://unifi-controller.local:8443
      - UNIFI_USER=admin
      - UNIFI_PASS=changeme
      - UNIFI_SITE=default
    ports:
      - "8086:80"
```

> ⚠️ L'image Docker n'est pas officielle : construire depuis les sources si nécessaire (`docker build .`).

### Manuelle (PHP + Apache/Nginx)

```bash
git clone https://github.com/davidmbyers/ubiquity-unifi-voucher-site.git
cd ubiquity-unifi-voucher-site
cp config.example.php config.php  # éditer les credentials UniFi
# Servir le dossier via Apache/Nginx + PHP 7.4+
```

## Configuration

Dans `config.php` (ou variables d'environnement en mode Docker) :

- **UNIFI_URL** : URL du contrôleur UniFi (souvent `https://controller.local:8443`)
- **UNIFI_USER/PASS** : compte admin local (pas un compte UniFi Cloud)
- **UNIFI_SITE** : nom du site (par défaut `default`)
- Le contrôleur UniFi doit être accessible depuis le conteneur (même réseau ou routage).

## Alternatives

- **Open Source** : [unifi-voucher-generator](https://github.com/rrbz/unifi-voucher-generator) (Python, plus complet), [UniFi-API-browser](https://github.com/Art-of-WiFi/UniFi-API-browser) (browser de l'API complète)
- **UniFi officiel** : la console du contrôleur permet déjà de générer des vouchers, mais sans la simplicité d'une page dédiée imprimable.
- **Propriétaire** : portail captif Ubiquiti intégré (déjà natif, mais interface plus complexe).
- **Autres portails captifs** : [CoovaChilli](https://coova.github.io/CoovaChilli/), [pfSense Captive Portal](https://docs.netgate.com/pfsense/en/latest/captiveportal/index.html).

## Sécurité

- **Compte admin UniFi** : créer un compte dédié à l'app avec droits limités (et non le compte admin principal).
- **HTTPS obligatoire** : placer derrière un reverse-proxy (Traefik, Nginx Proxy Manager) avec certificat Let's Encrypt.
- **Stockage des credentials** : variables d'environnement, jamais en clair dans le repo.
- **Logs** : surveiller l'accès à l'interface, car elle permet de générer des accès réseau.
- **Durée des vouchers** : limiter volontairement (ex. 24h) pour éviter l'abus.

## Ressources

- [selfh.st — Networking](https://selfh.st/apps/?tag=networking)
- [GitHub davidmbyers/ubiquity-unifi-voucher-site](https://github.com/davidmbyers/ubiquity-unifi-voucher-site)
- [UniFi API documentation](https://developer.ui.com/)

## Pages Liées

- [[cat-networking]]
- [[recettes-docker-compose]]
- [[app-unifi-poller]] — métriques UniFi (autre outil du même écosystème)
