Quick reference
Available tags
- 7.x.x, 7.x, 7, latest
- 6.x.x, 6.x, 6
Installation
It's recommended to install this application with docker-compose:
- Create a new directory, e.g. in /opt:
mkdir /opt/recipe-manager
- Switch to the newly created directory:
cd /opt/recipe-manager
- Download the .env.example and edit it to your needs (see Environement Variables):
wget https://github.com/ammannbe/RecipeManager/blob/7.x/storage/docker/.env.example -O .env
nano .env
- IMPORTANT: make sure that you changed the
APP_ENV to production
- Download the exmaple docker-compose.yml and edit it to your needs:
wget https://github.com/ammannbe/RecipeManager/blob/7.x/storage/docker/docker-compose.yml
nano docker-compose.yml
- Optional automatically start the container after system boot:
- Copy or symlink the recipe-manager.service service file to
/etc/systemd/system/recipe-manager.service.
- Enable the service:
systemctl enable recipe-manager.service
- Start the service:
systemctl start recipe-manager.service
Files you can overwrite
With the volumes: option you can overwrite every file/folder from the containers.
Example:
services:
app:
...
volumes:
- ./html:/var/www/html
- ./data/app:/var/www/html/storage/app
- ./favicon.ico:/var/www/html/favicon.ico
- ./entrypoint.sh:/usr/local/bin/entrypoint.sh
- ./.env:/var/www/html/.env
- ./ports.conf:/etc/apache2/ports.conf
In the containers app, scheduler, queue you can override following paths:
- ./html:/var/www/html This is the folder containing all project files
- ./data/app:/var/www/html/storage/app This folder contains user data like recipe images
- ./favicon.ico:/var/www/html/favicon.ico Specify a custom favicon
- ./entrypoint.sh:/usr/local/bin/entrypoint.sh This script is executet at the ENTRYPOINT (see Dockerfile)
- ./.env:/var/www/html/.env This is the environement variable file
- ./ports.conf:/etc/apache2/ports.conf Specify a custom Apache HTTP port
Environement Variables
See also: Laravel Configuration
App specific
- APP_NAME: Name of the App. Default: RecipeManager
- APP_ENV: App environement. Possible values: "production", "local". Default: local
- APP_KEY: Encryption key. This key will be set for you after the first startup.
- APP_DEBUG: In production this value should be false. Default: true
- APP_URL: The address, where the app should run. The port is optional. Default: http://localhost:8000
- SANCTUM_STATEFUL_DOMAINS Your frontend domain (normally the same host and port as APP_URL). Default: localhost:8000
App versions
- APP_VERSION: Docker image version.
- MARIADB_VERSION: Docker image version.
- REDIS_VERSION: Docker image version.
- MEILISEARCH_VERSION: Docker image version.
Locales
- LOCALE: The default app locale Default: en
- LOCALES: Possible locales. Leave empty to hide the language switcher in the UI. Default: en,de
Logging
See also Laravel Logging
- LOG_CHANNEL: Where should logs go. Possible values: stack, telegram, stderr Default: stack
- LOG_QUERIES: Write every database query to the log file. This option enabled can blow up your log channel. Default: false
- TELEGRAM_LOGGER_BOT_TOKEN: Only for LOG_CHANNEL=telegram. Also see Telegram BotFather.
- TELEGRAM_LOGGER_CHAT_ID: Only for LOG_CHANNEL=telegram. Also see Telegram BotFather.
Proxy
- TRUSTED_PROXIES A comma separated list of IP Addresses of your proxies. Default: 172.16.238.0/24
Database connections
See also Laravel Database
- DB_CONNECTION: Change the DBMS. Default: mysql
- DB_HOST: Database host address. Default: db
- DB_PORT: Database host port Default: 3306
- DB_DATABASE: Table name Default: recipe_manager
- DB_USERNAME: Username Default: recipe_manager
- DB_PASSWORD: Provide a random string
Redis cache
See also Laravel Redis
- REDIS_HOST: Redis host address. Default: redis
- REDIS_PORT: Redis host port Default: 6379
- REDIS_PASSWORD: Provide a random string
Full-text search
See also Laravel Scout and Meilisearch
- SCOUT_DRIVER: Scout Driver. Default: meilisearch
- MEILISEARCH_HOST: MeiliSearch Host. Default: http://meilisearch:7700
- MEILISEARCH_KEY: MeiliSearch Master Key
Mail
See also Laravel Mail
- MAIL_MAILER: Transport type Default: smtp
- MAIL_HOST: Host address Default: smtp.mailtrap.io
- MAIL_PORT: Host port Default: 2525
- MAIL_USERNAME: E-Mail username Default: null
- MAIL_PASSWORD: E-Mail username password Default: null
- MAIL_ENCRYPTION: Encryption type, e.g. tls. Default: null
- MAIL_FROM_ADDRESS: Default: [email protected]
- MAIL_FROM_NAME: Default: RecipeManager
Generic settings
- BROADCAST_DRIVER: Default: log
- CACHE_DRIVER: Default: file
- QUEUE_CONNECTION: Default: redis
- SESSION_DRIVER: Default: file
- SESSION_LIFETIME: Default: 120
Optional features
- DISABLE_REGISTRATION: Disable user registrations Default: false
- DISABLE_COOKBOOKS: Disable the cookbooks feature Default: false
- DISABLE_TAGS: Disable the tags feature Default: false
- PREFER_PAGINATION: Disable infinity scroll and use pagination Default: false
Settings for the frontend
- MIX_APP_NAME: Default: $APP_NAME
- MIX_APP_URL: Default: $APP_URL
- MIX_LOCALE: Default: $LOCALE
- MIX_LOCALES: Default: $LOCALES
- MIX_DISABLE_REGISTRATION: Default: $DISABLE_REGISTRATION
- MIX_DISABLE_COOKBOOKS: Default: $DISABLE_COOKBOOKS
- MIX_DISABLE_TAGS: Default: $DISABLE_TAGS
- MIX_PREFER_PAGINATION: Default: $PREFER_PAGINATION
- MIX_LOGO: Path or URL to the logo Default: /img/logo.png
- MIX_PLACEHOLDER_IMAGE: Path or URL to a placeholder image Default: /img/placeholder.png
- MIX_NOT_FOUND_IMAGE: Path or URL to a fallback image Default: /img/not-found.jpg