updated docs
This commit is contained in:
parent
90950b3c7d
commit
6c294242b9
7 changed files with 119 additions and 42 deletions
12
README.md
12
README.md
|
@ -35,7 +35,6 @@
|
||||||
## About The Project
|
## About The Project
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[![Product Name Screen Shot][product-screenshot]](https://example.com)
|
[![Product Name Screen Shot][product-screenshot]](https://example.com)
|
||||||
|
|
||||||
**Mealie** is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relavent data or add a family recipe with the UI editor.
|
**Mealie** is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relavent data or add a family recipe with the UI editor.
|
||||||
|
@ -58,8 +57,7 @@ Mealie also provides a secure API for interactions from 3rd party applications.
|
||||||
- Expose notes in the API to allow external applications to access relavent information for meal plans
|
- Expose notes in the API to allow external applications to access relavent information for meal plans
|
||||||
#### Database Import / Export
|
#### Database Import / Export
|
||||||
- Easily Import / Export your recipes from the UI
|
- Easily Import / Export your recipes from the UI
|
||||||
- Export recipes in markdown format for universal access
|
- Export recipes in into custom files using Jinja2 templates
|
||||||
- Use the default or a custom jinja2 template
|
|
||||||
|
|
||||||
### Built With
|
### Built With
|
||||||
|
|
||||||
|
@ -70,14 +68,6 @@ Mealie also provides a secure API for interactions from 3rd party applications.
|
||||||
* [Docker](https://www.docker.com/)
|
* [Docker](https://www.docker.com/)
|
||||||
|
|
||||||
|
|
||||||
### Built With
|
|
||||||
|
|
||||||
* [Vue.js](https://vuejs.org/)
|
|
||||||
* [Vuetify](https://vuetifyjs.com/en/)
|
|
||||||
* [FastAPI](https://fastapi.tiangolo.com/)
|
|
||||||
* [Docker](https://www.docker.com/)
|
|
||||||
|
|
||||||
|
|
||||||
<!-- CONTRIBUTING -->
|
<!-- CONTRIBUTING -->
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,24 @@
|
||||||
# Getting Started
|
# Getting Started
|
||||||
To deploy docker on your local network it is highly recommended to use docker to deploy the image straight from dockerhub. Using the docker-compose below you should be able to get a stack up and running easily by changing a few default values and deploying.
|
To deploy docker on your local network it is highly recommended to use docker to deploy the image straight from dockerhub. Using the docker-compose below you should be able to get a stack up and running easily by changing a few default values and deploying. Currently the only supported database is mongo.
|
||||||
|
|
||||||
|
|
||||||
Alternatively, this project is run in python. If you are deadset on deploying on a linux machine you can run this in an python enviromnet with a dedicated MongoDatabase. Provided that you know thats how you want to host the application, I'll assume you know how to do that.
|
|
||||||
|
|
||||||
[Get Docker](https://docs.docker.com/get-docker/)
|
[Get Docker](https://docs.docker.com/get-docker/)
|
||||||
|
|
||||||
### Installation - Docker
|
[Mealie Docker Image](https://hub.docker.com/r/hkotel/mealie)
|
||||||
|
|
||||||
|
## Env Variables
|
||||||
|
|
||||||
|
| Variables | default | description |
|
||||||
|
| ----------- | ------- | ------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| db_username | root | The Mongodb username you specified in your mongo container |
|
||||||
|
| db_password | example | The Mongodb password you specified in your mongo container |
|
||||||
|
| db_host | mongo | The host address of MongoDB if you're in docker and using the same network you can use mongo as the host name |
|
||||||
|
| db_port | 27017 | the port to access MongoDB 27017 is the default for mongo |
|
||||||
|
| TZ | | You should set your time zone accordingly so the date/time features work correctly |
|
||||||
|
|
||||||
|
|
||||||
|
## Docker Compose
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# docker-compose.yml
|
# docker-compose.yml
|
||||||
|
@ -22,6 +35,7 @@ services:
|
||||||
db_password: example # Your Mongo DB Password - Please Change
|
db_password: example # Your Mongo DB Password - Please Change
|
||||||
db_host: mongo
|
db_host: mongo
|
||||||
db_port: 27017 # The Default port for Mongo DB
|
db_port: 27017 # The Default port for Mongo DB
|
||||||
|
TZ: America/Anchorage
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/img:/app/data/img
|
- ./data/img:/app/data/img
|
||||||
- ./data/backups:/app/data/backups
|
- ./data/backups:/app/data/backups
|
||||||
|
@ -42,3 +56,56 @@ services:
|
||||||
ME_CONFIG_MONGODB_ADMINUSERNAME: root
|
ME_CONFIG_MONGODB_ADMINUSERNAME: root
|
||||||
ME_CONFIG_MONGODB_ADMINPASSWORD: example
|
ME_CONFIG_MONGODB_ADMINPASSWORD: example
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Ansible Tasks Template
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: ensures Mealie directory dir exists
|
||||||
|
file:
|
||||||
|
path: "{{ docker_dir }}/mealie/"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ main_user}}"
|
||||||
|
group: "{{ main_group }}"
|
||||||
|
|
||||||
|
- name: ensures Mealie directory dir exists
|
||||||
|
file:
|
||||||
|
path: "{{ docker_dir }}/mealie/"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ main_user}}"
|
||||||
|
group: "{{ main_group }}"
|
||||||
|
|
||||||
|
- name: Deploy Monogo Database
|
||||||
|
docker_container:
|
||||||
|
name: mealie-mongo
|
||||||
|
image: mongo
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
networks:
|
||||||
|
- name: web
|
||||||
|
env:
|
||||||
|
MONGO_INITDB_ROOT_USERNAME: root
|
||||||
|
MONGO_INITDB_ROOT_PASSWORD: example
|
||||||
|
|
||||||
|
|
||||||
|
- name: deploy Mealie Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: mealie
|
||||||
|
image: hkotel/mealie:latest
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 9090:9000
|
||||||
|
networks:
|
||||||
|
- name: web
|
||||||
|
mounts:
|
||||||
|
- type: bind
|
||||||
|
source: "{{ docker_dir }}/mealie"
|
||||||
|
target: /app/data
|
||||||
|
env:
|
||||||
|
db_username: root
|
||||||
|
db_password: example
|
||||||
|
db_host: mealie-mongo
|
||||||
|
db_port: "27017"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deployed as a Python Application
|
||||||
|
Alternatively, this project is built on Python and Mongodb. If you are dead set on deploying on a linux machine you can run this in an python environment with a dedicated MongoDatabase. Provided that you know thats how you want to host the application, I'll assume you know how to do that. I may or may not get around to writing this guide. I'm open to pull requests if anyone has a good guide on it.
|
|
@ -1,7 +1,7 @@
|
||||||
# Recipes
|
# Recipes
|
||||||
|
|
||||||
## URL Import
|
## URL Import
|
||||||
Adding a recipe can be as easy as copying the recipe URL into mealie and letting the web scrapper try to pull down the information. Currently this scraper is implemented with [scrape-schema-recipe package](https://pypi.org/project/scrape-schema-recipe/). You may have mixed results on some websites, especially with blogs or non specific recipe websites. See the bulk import Option below for another a convient way to add blog style recipes into Mealie.
|
Adding a recipe can be as easy as copying the recipe URL into mealie and letting the web scrapper try to pull down the information. Currently this scraper is implemented with [scrape-schema-recipe package](https://pypi.org/project/scrape-schema-recipe/). You may have mixed results on some websites, especially with blogs or non specific recipe websites. See the bulk import Option below for another a convenient way to add blog style recipes into Mealie.
|
||||||
|
|
||||||
|
|
||||||
![](gifs/url-demo.gif)
|
![](gifs/url-demo.gif)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# Site Settings Panel
|
# Site Settings Panel
|
||||||
!!! danger
|
!!! danger
|
||||||
As this is still a **BETA** It is reccomended that you backup your data often and store in more than one place. Adhear to backup best practies with the [3-2-1 Backup Rule](https://en.wikipedia.org/wiki/Backup)
|
As this is still a **BETA** It is recommended that you backup your data often and store in more than one place. Ad-hear to backup best practices with the [3-2-1 Backup Rule](https://en.wikipedia.org/wiki/Backup)
|
||||||
|
|
||||||
|
|
||||||
## Theme Settings
|
## Theme Settings
|
||||||
Color themes can be created and set from the UI in the settings page. You can select an existing color theme or create a new one. On creation of a new color theme random colors will first be generated, then you can select and save as you'd like. By default the "default" theme will be loaded for all new users visiting the site. All created color themes are avaiable to all users of the site. Seperate color themes can be set for both Light and Dark modes.
|
Color themes can be created and set from the UI in the settings page. You can select an existing color theme or create a new one. On creation of a new color theme random colors will first be generated, then you can select and save as you'd like. By default the "default" theme will be loaded for all new users visiting the site. All created color themes are available to all users of the site. Separate color themes can be set for both Light and Dark modes.
|
||||||
|
|
||||||
![](gifs/theme-demo.gif)
|
![](gifs/theme-demo.gif)
|
||||||
|
|
||||||
|
@ -22,12 +22,10 @@ To import a backup it must be in your backups folder. If it is in the backup fol
|
||||||
![](img/admin-backup.png)
|
![](img/admin-backup.png)
|
||||||
|
|
||||||
## Meal Planner Webhooks
|
## Meal Planner Webhooks
|
||||||
Meal planner webhooks are post requests sent from Mealie to an external endpoint. The body of the message is the Recipe JSON of the scheduled meal. If no meal is schedule, no request is sent. The webhook functionality can be enabled or disabled as well as scheduled. Note that you must "Save Webhooks" prior to any changes taking affect serverside.
|
Meal planner webhooks are post requests sent from Mealie to an external endpoint. The body of the message is the Recipe JSON of the scheduled meal. If no meal is schedule, no request is sent. The webhook functionality can be enabled or disabled as well as scheduled. Note that you must "Save Webhooks" prior to any changes taking affect server side.
|
||||||
|
|
||||||
![](img/admin-webhooks.png)
|
|
||||||
|
|
||||||
## Migration
|
## Migration
|
||||||
|
|
||||||
### Chowdown
|
### Chowdown
|
||||||
|
|
||||||
In the Admin page on the in the Migration section you can provide a URL for a repo hosting a Chowdown site and Mealie will pull the images and recipes from the instance and automatically import them into the database. Due to the nature of the yaml format you may have mixed results but you should get an error report of the recipes that had errors and will need to be manually added.
|
In the Admin page on the in the Migration section you can provide a URL for a repo hosting a Chowdown site and Mealie will pull the images and recipes from the instance and automatically import them into the database. Due to the nature of the yaml format you may have mixed results but you should get an error report of the recipes that had errors and will need to be manually added. Note that you can only import the repo as a whole. You cannot import individual recipes.
|
||||||
|
|
25
docs/docs/1.9 - release-notes.md
Normal file
25
docs/docs/1.9 - release-notes.md
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Release Notes
|
||||||
|
|
||||||
|
## v0.0.0 - Initial Pre-release
|
||||||
|
The initial pre-release. It should be semi-functional but does not include a lot of user feedback You may notice errors that have no user feedback and have no idea what went wrong.
|
||||||
|
|
||||||
|
### Recipes
|
||||||
|
- Automatic web scrapping for common recipe platforms
|
||||||
|
- Interactive API Documentation thanks to [FastAPI](https://fastapi.tiangolo.com/) and [Swagger](https://petstore.swagger.io/)
|
||||||
|
- UI Recipe Editor
|
||||||
|
- JSON Recipe Editor in browser
|
||||||
|
- Custom tags and categories
|
||||||
|
- Rate recipes
|
||||||
|
- Add notes to recipes
|
||||||
|
- Migration From Other Platforms
|
||||||
|
- Chowdown
|
||||||
|
- Open Eats - **Coming Soon**
|
||||||
|
-
|
||||||
|
### Meal Planner
|
||||||
|
- Random Meal plan generation based off categories
|
||||||
|
- Expose notes in the API to allow external applications to access relevant information for meal plans
|
||||||
|
|
||||||
|
### Database Import / Export
|
||||||
|
- Easily Import / Export your recipes from the UI
|
||||||
|
- Export recipes in markdown format for universal access
|
||||||
|
- Use the default or a custom jinja2 template
|
|
@ -1,8 +1,12 @@
|
||||||
# Development Road Map
|
# Development Road Map
|
||||||
|
|
||||||
|
!!! Current Release
|
||||||
|
v0.0.0 ALPHA - This is technically a pre-release, as such there are no release notes and no version. The first version will be version v0.1.0 and will provide a list of release notes with any breaking changes
|
||||||
|
|
||||||
|
|
||||||
Feature placement is not set in stone. This is much more of a guideline than anything else.
|
Feature placement is not set in stone. This is much more of a guideline than anything else.
|
||||||
|
|
||||||
## v1.0 Roadmad
|
## v1.0 Road Map
|
||||||
|
|
||||||
### Frontend
|
### Frontend
|
||||||
- [ ] Login / Logout Navigation
|
- [ ] Login / Logout Navigation
|
||||||
|
@ -17,7 +21,7 @@ Feature placement is not set in stone. This is much more of a guideline than any
|
||||||
* [ ] User Accounts
|
* [ ] User Accounts
|
||||||
* [ ] Edit / Delete
|
* [ ] Edit / Delete
|
||||||
|
|
||||||
## v0.2.0
|
## v0.1.0
|
||||||
### Front End
|
### Front End
|
||||||
|
|
||||||
- [ ] Recipe Editor
|
- [ ] Recipe Editor
|
||||||
|
@ -40,8 +44,3 @@ Feature placement is not set in stone. This is much more of a guideline than any
|
||||||
- [ ] Backup Options
|
- [ ] Backup Options
|
||||||
* [ ] Force Update
|
* [ ] Force Update
|
||||||
* [ ] Rebuild
|
* [ ] Rebuild
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
|
|
||||||
![Product Name Screen Shot][product-screenshot]
|
![Product Name Screen Shot][product-screenshot]
|
||||||
|
|
||||||
**Mealie** is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relavent data or add a family recipe with the UI editor.
|
**Mealie** is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor.
|
||||||
|
|
||||||
Melaie also provides a secure API for interactions from 3rd party applications. **Why does my recipe manager need an API?** An API allows integration into applications like [Home Assistant](https://www.home-assistant.io/) that can act as notification engines to provide custom notifications based of Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. Additionally, you can access any avaiable API from the backend server. To explore the API spin up your server and navigate to http://yourserver.com/docs for interactive API documentation.
|
Mealie also provides an API for interactions from 3rd party applications. **Why does my recipe manager need an API?** An API allows integration into applications like [Home Assistant](https://www.home-assistant.io/) that can act as notification engines to provide custom notifications based of Meal Plan data to remind you to defrost the chicken, marinade the steak, or start the CrockPot. Additionally, you can access any available API from the backend server. To explore the API spin up your server and navigate to http://yourserver.com/docs for interactive API documentation.
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
In some of the demo gifs the styling may be different than the finale application. demos were done during development prior to finale styling.
|
In some of the demo gifs the styling may be different than the finale application. demos were done during development prior to finale styling.
|
||||||
|
@ -35,9 +35,13 @@ Melaie also provides a secure API for interactions from 3rd party applications.
|
||||||
- Custom tags and categories
|
- Custom tags and categories
|
||||||
- Rate recipes
|
- Rate recipes
|
||||||
- Add notes to recipes
|
- Add notes to recipes
|
||||||
|
- Migration From Other Platforms
|
||||||
|
- Chowdown
|
||||||
|
- Open Eats - **Coming Soon**
|
||||||
#### Meal Planner
|
#### Meal Planner
|
||||||
- Random Meal plan generation based off categories
|
- Random Meal plan generation based off categories
|
||||||
- Expose notes in the API to allow external applications to access relavent information for meal plans
|
- Expose notes in the API to allow external applications to access relevant information for meal plans
|
||||||
|
|
||||||
#### Database Import / Export
|
#### Database Import / Export
|
||||||
- Easily Import / Export your recipes from the UI
|
- Easily Import / Export your recipes from the UI
|
||||||
- Export recipes in markdown format for universal access
|
- Export recipes in markdown format for universal access
|
||||||
|
@ -54,17 +58,9 @@ Melaie also provides a secure API for interactions from 3rd party applications.
|
||||||
|
|
||||||
|
|
||||||
<!-- ROADMAP -->
|
<!-- ROADMAP -->
|
||||||
## Roadmap
|
## Road Map
|
||||||
|
|
||||||
#### Authentication - Target 1.0
|
[See Roadmap](2.0 - roadmap)
|
||||||
- User Login
|
|
||||||
- Token Based API Access/Auth
|
|
||||||
|
|
||||||
#### Recipe Sharing
|
|
||||||
- Share Button / Email
|
|
||||||
- Export to PDF
|
|
||||||
- Print Button
|
|
||||||
- Git Repo Based Sharing (Import / Export / Search)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,6 +69,8 @@ Melaie also provides a secure API for interactions from 3rd party applications.
|
||||||
|
|
||||||
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**. Especially test. Literally any tests.
|
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**. Especially test. Literally any tests.
|
||||||
|
|
||||||
|
If you are not a coder, you can still contribute financially. financial contributions help me prioritize working on this project over others and helps me know that there is a real demand for the project.
|
||||||
|
|
||||||
<a href="https://www.buymeacoffee.com/haykot" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-green.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
<a href="https://www.buymeacoffee.com/haykot" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-green.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
|
||||||
<!-- LICENSE -->
|
<!-- LICENSE -->
|
||||||
|
|
Loading…
Reference in a new issue