Storages and Sync
The original intend of this application was to provide a search interface to my large collection of PDF scans of recipes. This feature is now called External recipes.
Info
Internal recipes are stored in a structured manner inside the database. They can be displayed using the standardized interface and support features like shopping lists, scaling and steps. External recipes are basically files that are displayed within the interface. The benefit is that you can quickly import all your old recipes and convert them one by one.
To use external recipes you will first need to configure a storage source. After that a synced path can be created. Lastly you will need to sync with the external path and import recipes you desire.
Storage
Danger
In order for this application to retrieve data from external providers it needs to store authentication information. Please use read only/separate accounts or app passwords wherever possible. There are better ways to do this but they are currently not implemented
A Storage Backend
is a remote storage location where files are read from.
To add a new backend click on username >> External Recipes >> Manage External Storage >> the + next to Storage Backend List
.
There click the plus button.
The basic configuration is the same for all providers.
Field | Value |
---|---|
Name | Your identifier for this storage source, can be everything you want. |
Method | The desired method. |
Success
Only the providers listed below are currently implemented. If you need anything else feel free to open an issue or pull request.
Local
Info
There is currently no way to upload files through the webinterface. This is a feature that might be added later.
The local provider does not need any configuration (username, password, token or URL). For the monitor you will need to define a valid path on your host system. (Path) The Path depends on your setup and can be both relative and absolute.
Volume
By default no data other than the mediafiles and the database is persisted. If you use the local provider make sure to mount the path you choose to monitor to your host system in order to keep it persistent.
Docker
If you use docker the default directory is /opt/recipes/
.
add
- ./externalfiles:/opt/recipes/externalfiles
web_recipes >> volumes
section. This will create a folder in your docker directory named externalfiles
under which you could choose to store external pdfs (you could of course store them anywhere, just change ./externalfiles
to your preferred location).
save the docker-compose.yml and restart your docker container.
Dropbox
Field | Value |
---|---|
Username | Dropbox username |
Token | Dropbox API Token. Can be found here |
Nextcloud
Path
It appears that the correct webdav path varies from installation to installation (for whatever reason).
In the Nextcloud webinterface click the Settings
button in the bottom left corner, there your WebDav Url will be displayed.
Field | Value |
---|---|
Username | Nextcloud username |
Password | Nextcloud app password |
Url | Nextcloud Server URL (e.g. https://cloud.mydomain.com ) |
Path | (optional) webdav path (e.g. /remote.php/dav/files/vabene1111 ). If no path is supplied /remote.php/dav/files/ plus your username will be used. |
Adding External Recipes
To add a new path from your Storage backend to the sync list, go to username >> External Recipes
and
select the storage backend you want to use.
Then enter the path you want to monitor starting at the storage root (e.g. /Folder/RecipesFolder
, or `/opt/recipes/externalfiles' in the docker example above) and save it.
Syncing Data
To sync the recipes app with the storage backends press Sync now
under username >> External Recipes
Discovered Recipes
All files found by the sync can be found under Manage Data >> Discovered recipes
.
There you can either import all at once without modifying them or import one by one, adding tags while importing.