Files
wiki/Catalogue-Self-Hosted/apps/app-bar-assistant.md
T
2026-06-09 18:40:21 +02:00

126 lines
5.1 KiB
Markdown

---
title: Bar Assistant
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, recipes, self-hosted, typescript]
confidence: high
contested: false
sources:
- https://barassistant.app
- https://github.com/karlomikus/bar-assistant
---
# Bar Assistant 🍸
> Solution complète pour gérer son **bar à domicile** : cocktails, ingrédients, inventaire et recettes custom.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://barassistant.app |
| **GitHub** | https://github.com/karlomikus/bar-assistant |
| **License** | MIT |
| **Langage** | PHP (Laravel) + Vue.js |
| **Étoiles** | 1 034 |
| **Dernière MAJ** | 2026-05-24 |
| **Catégorie** | [[cat-recipes]] |
## Description
Bar Assistant est un **gestionnaire de cocktails** open source, l'équivalent de Mealie mais spécialisé dans le **bar à cocktails**. Il catalogue des centaines de recettes classiques (Mojito, Negroni, Old Fashioned, Margarita) issues d'une base de données collaborative, permet d'**inventorier son bar** (bouteilles, quantités, dates d'ouverture), de suggérer des cocktails en fonction des ingrédients disponibles, et de créer ses propres recettes.
L'**inventaire intelligent** est la killer-feature : Bar Assistant scanne votre stock et vous dit quels cocktails vous pouvez réaliser **à l'instant T**, ceux qui manquent d'1 seul ingrédient, ou ceux qui nécessitent une course. Le système d'**achat / shopping list** génère automatiquement la liste des bouteilles à acquérir pour débloquer un maximum de recettes.
Le projet supporte l'**import/export** au format **cocktailDB**, le **scan de code-barres** (mobiles) pour ajouter une bouteille en un clic, les **unités de mesure** (cl, oz, dash) avec conversion automatique, l'**API REST** complète, l'**authentification OIDC** et un **mode multi-utilisateurs** pour les bars pro, restaurants ou collectifs.
## Installation
### Docker Compose
```yaml
services:
bar-assistant:
image: barassistant/server:latest
container_name: bar-assistant
environment:
- APP_URL=https://bar.example.com
- DB_CONNECTION=sqlite
- APP_KEY=base64:*** volumes:
- ./data:/app/database
- ./uploads:/app/storage/app/uploads
ports:
- "8080:80"
labels:
- traefik.enable=true
- traefik.http.routers.bar.rule=Host(`bar.example.com`)
- traefik.http.routers.bar.entrypoints=websecure
- traefik.http.routers.bar.tls.certresolver=letsencrypt
- traefik.http.services.bar.loadbalancer.server.port=80
restart: unless-stopped
```
### Version complète (Postgres + Meilisearch)
```yaml
services:
bar-assistant:
image: barassistant/server:latest
environment:
- DB_CONNECTION=pgsql
- DB_HOST=db
- DB_DATABASE=bar
- DB_USERNAME=bar
- DB_PASSWORD=*** - MEILISEARCH_HOST=http://meili:7700
- MEILISEARCH_KEY=${MEILI_KEY}
depends_on:
- db
- meili
volumes:
- ./data:/app/database
ports:
- "8080:80"
restart: unless-stopped
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=bar
- POSTGRES_PASSWORD=*** - POSTGRES_DB=bar
volumes:
- ./pgdata:/var/lib/postgresql/data
restart: unless-stopped
meili:
image: getmeili/meilisearch:v1.10
environment:
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
volumes:
- ./meili_data:/meili_data
restart: unless-stopped
```
## Configuration
1. Générer une **`APP_KEY`** : `docker compose run --rm bar-assistant php artisan key:generate --show`.
2. Démarrer la stack et créer le **compte admin** depuis `https://bar.example.com`.
3. (Recommandé) Activer **Meilisearch** pour la recherche full-text performante (sinon : LIKE SQL).
4. Importer la **base de données de cocktails** depuis l'UI ou via la commande `php artisan bar:import`.
5. Configurer l'**authentification OIDC** (Authentik, Keycloak) pour intégrer Bar Assistant au homelab.
## Alternatives
- **Open source** : [[app-liquor-locker]] (IA, plus petit), [[app-mealie]] (recettes généralistes), [[app-tamari]], [[app-vanilla-cookbook]], CocktailBerry (Pi), Mr. Cocktail, ReciPal (cocktails + bar), BarBot, DrinkKit, MyBar.
- **Propriétaire** : Highball (iOS), Mixology (Android), Barventory, Distiller, Mixel, The Cocktail App, Master of Mixology.
## Sécurité
- **`APP_KEY`** : clé de chiffrement Laravel, à regénérer absolument avant production.
- **HTTPS obligatoire** : les données du bar peuvent révéler des préférences, allergies.
- **Authentification OIDC** recommandée pour les comptes multi-utilisateurs.
- **Backups** du dossier `./data` (SQLite) ou de la base Postgres.
- **Limiter l'upload d'images** : Bar Assistant accepte des images, vérifier la taille max.
## Ressources
- Code : https://github.com/karlomikus/bar-assistant
- Site : https://barassistant.app
- Documentation : https://barassistant.app/docs
- Issues : https://github.com/karlomikus/bar-assistant/issues
## Pages Liées
- [[cat-recipes]] — Catégorie parente
- [[app-liquor-locker]] — Alternative avec IA
- [[app-mealie]] — Recettes généralistes
- [[recettes-docker-compose]] — Modèles de stacks