Bar Assistant
Bar assistant is a self hosted application for managing your home bar. It allows you to add your ingredients, search for cocktails and create custom cocktail recipes.
Directory Structure
- .env
- docker-compose.yml
docker-compose.yml
version: "3.8"
services:
meilisearch:
image: getmeili/meilisearch:v1.6
environment:
- MEILI_MASTER_KEY=$MEILI_MASTER_KEY
- MEILI_ENV=production
restart: unless-stopped
volumes:
- ./meilisearch_data:/meili_data
redis:
image: redis
environment:
- ALLOW_EMPTY_PASSWORD=yes
restart: unless-stopped
bar-assistant:
image: barassistant/server:v3
depends_on:
- meilisearch
- redis
environment:
- APP_URL=$API_URL
- LOG_CHANNEL=stderr
- MEILISEARCH_KEY=$MEILI_MASTER_KEY
- MEILISEARCH_HOST=http://meilisearch:7700
- REDIS_HOST=redis
- ALLOW_REGISTRATION=true
restart: unless-stopped
volumes:
- ./bar_data:/var/www/cocktails/storage/bar-assistant
salt-rim:
image: barassistant/salt-rim:v2
depends_on:
- bar-assistant
environment:
- API_URL=$API_URL
- MEILISEARCH_URL=$MEILISEARCH_URL
- DEFAULT_LOCALE=en-US
restart: unless-stopped
webserver:
image: nginx:alpine
restart: unless-stopped
depends_on:
- bar-assistant
- salt-rim
- meilisearch
ports:
- 3000:3000
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf.env
# Your Meilisearch master key
# Find out more here: https://docs.meilisearch.com/learn/getting_started/quick_start.html#securing-meilisearch
MEILI_MASTER_KEY=masterKey-make-it-long-for-security
# Base URL of the application
# You should update this value to the one you are using (ex: http://192.168.100.100, https://my-personal-bar.com)
# In this case it's the URL and port that is exposed in webserver service
# The value MUST be without trailing slash
BASE_URL=http://localhost:3000
# Meilisearch server instance URL, change if you are using different host from base url, otherwise leave as default
MEILISEARCH_URL=${BASE_URL}/search
# Bar Assistant server instance URL, change if you are using different host from base url, otherwise leave as default
API_URL=${BASE_URL}/barnginx.conf
server {
listen 3000 default_server;
listen [::]:3000 default_server;
server_name _;
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
client_max_body_size 100M;
location /bar/ {
proxy_pass http://bar-assistant:3000/;
}
location /search/ {
proxy_pass http://meilisearch:7700/;
}
location / {
proxy_pass http://salt-rim:8080/;
}
}Resources
Website: https://barassistant.app/
GitHub: https://github.com/karlomikus/bar-assistant
Docker Hub: https://hub.docker.com/r/barassistant/server
Configuration: https://docs.barassistant.app/setup/