diff --git a/docs/docs/changelog.md b/docs/docs/changelog.md index d1b58a33f..c0889d5cd 100644 --- a/docs/docs/changelog.md +++ b/docs/docs/changelog.md @@ -7,10 +7,12 @@ - Fixed Images saved with no way to delete when add recipe via URL fails - Closes Issue #43 ### Features - - Additional database! SQlite is now supported! Closes #48 + - Improved deployment documentation + - Additional database! SQlite is now supported! - Closes #48 - All site data is now backed up. - Support for Prep Time, Total Time, and Cook Time field - Closes #63 - New backup import process with support for themes and site settings + - **BETA** ARM support! - Closes #69 ### Code / Developer Improvements - Unified Database Access Layers diff --git a/docs/docs/getting-started/install.md b/docs/docs/getting-started/install.md index cca1df61a..8663fcd16 100644 --- a/docs/docs/getting-started/install.md +++ b/docs/docs/getting-started/install.md @@ -1,41 +1,46 @@ # Installation -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. Mealie is looking for contributors to support additional databases. +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 MongoDB and SQLite are supported. MongoDB support will be dropped in v0.2.0 so it is recommended to go with SQLite for new deployments. Postrgres support is planned for the next release, however for most loads you may find SQLite performant enough. [Get Docker](https://docs.docker.com/get-docker/) [Mealie Docker Image](https://hub.docker.com/r/hkotel/mealie) -## Env Variables -| Variables | default | description | -| -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -| mealie_db_name | mealie | The name of the database to be created in Mongodb | -| mealie_port | 9000 | The port exposed by mealie. **do not change this if you're running in docker** If you'd like to use another port, map 9000 to another port of the host. | -| 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 | -| api_docs | True | Turns on/off access to the API documentation locally. | -| TZ | | You should set your time zone accordingly so the date/time features work correctly | - -## Docker CLI +## Quick Start - Docker CLI +Deployment with the Docker CLI can be done with `docker run` and specify the database type, in this case `sqlite`, setting the exposed port `9000`, mounting the current directory, and pull the latest image. After the image is up an running you can navigate to http://your.ip.addres:9000 and you'll should see mealie up and running! ```shell -docker container run \ - -e db_type='sql' \ +docker run \ + -e db_type='sqlite' \ -p 9000:80 \ -v `pwd`:'/app/data/' \ - hkotel/mealie:dev - + hkotel/mealie:latest ``` -```shell +## Docker Compose with SQLite +Deployment with docker-compose is the recommended method for deployment. The example below will create an instance of mealie available on port `9000` with the data volume mounted from the local directory. To use, create a docker-compose.yml file, paste the contents below and save. In the terminal run `docker-compose up -d` to start the container. + +```yaml +version: "3.1" +services: + mealie: + container_name: mealie + image: hkotel/mealie:latest + restart: always + ports: + - 9000:80 + environment: + db_type: sqlite + TZ: America/Anchorage + volumes: + - ./mealie/data/:/app/data + ``` -## Docker Compose +## Docker Compose with Mongo - DEPRECIATED ```yaml # docker-compose.yml @@ -76,55 +81,21 @@ services: ``` -## Ansible Tasks Template -```yaml -- name: ensures Mealie directory dir exists - file: - path: "{{ docker_dir }}/mealie/" - state: directory - owner: "{{ main_user}}" - group: "{{ main_group }}" +## Env Variables -- name: ensures Mealie directory dir exists - file: - path: "{{ docker_dir }}/mealie/" - state: directory - owner: "{{ main_user}}" - group: "{{ main_group }}" +| Variables | default | description | +| -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| db_type | sqlite | The database type to be used. Current Options 'sqlite' and 'mongo' | +| mealie_db_name | mealie | The name of the database to be created in Mongodb | +| mealie_port | 9000 | The port exposed by mealie. **do not change this if you're running in docker** If you'd like to use another port, map 9000 to another port of the host. | +| 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 | +| api_docs | True | Turns on/off access to the API documentation locally. | +| TZ | | You should set your time zone accordingly so the date/time features work correctly | -- 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. \ No newline at end of file diff --git a/docs/docs/getting-started/migration-imports.md b/docs/docs/getting-started/migration-imports.md index 1326b5d00..7d417026b 100644 --- a/docs/docs/getting-started/migration-imports.md +++ b/docs/docs/getting-started/migration-imports.md @@ -6,7 +6,21 @@ In the Admin page on the in the Migration section you can provide a URL for a re We'd like to support additional migration paths. [See open issues.](https://github.com/hay-kot/mealie/issues) -**Currently Proposed Are:** +### Nextcloud Recipes +Nextcloud recipes can be imported from either a zip file the contains the data stored in Nextcloud. The zip file can be uploaded from the frontend or placed in the data/migrations/Nextcloud directory. See the example folder structure below to ensure your recipes are able to be imported. -- NextCloud Recipes +``` +nextcloud_recipes.zip + ├── recipe_1 + │ ├── recipe.json + │ ├── full.jpg + │ └── thumb.jpg + ├── recipe_2 + │ ├── recipe.json + │ └── full.jpg + └── recipe_3 + └── recipe.json +``` + +**Currently Proposed Are:** - Open Eats \ No newline at end of file diff --git a/docs/docs/html/api.html b/docs/docs/html/api.html index 7a1046cc7..36f3bba3d 100644 --- a/docs/docs/html/api.html +++ b/docs/docs/html/api.html @@ -18,7 +18,7 @@