Sign inSign up

suhype/recipe-manager

By suhype

Updated over 5 years ago

Cookbook Webapp to manage your recipes like a chef

Image
0

3.5K

suhype/recipe-manager repository overview

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

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

Tag summary

Content type

Image

Digest

Size

1.4 GB

Last updated

over 5 years ago

docker pull suhype/recipe-manager