Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/nextcloudpi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ncp-previewgenerator/ncp-previewgenerator-nc20/README.md')
-rw-r--r--ncp-previewgenerator/ncp-previewgenerator-nc20/README.md96
1 files changed, 96 insertions, 0 deletions
diff --git a/ncp-previewgenerator/ncp-previewgenerator-nc20/README.md b/ncp-previewgenerator/ncp-previewgenerator-nc20/README.md
new file mode 100644
index 00000000..98bb4103
--- /dev/null
+++ b/ncp-previewgenerator/ncp-previewgenerator-nc20/README.md
@@ -0,0 +1,96 @@
+# Preview Generator
+
+Nextcloud app that allows admins to pre-generate previews. The app listens to
+edit events and stores this information. Once a cron job is triggered it will
+start preview generation. This means that you can better utilize your
+system by pre-generating previews when your system is normally idle and thus
+putting less load on your machine when the requests are actually served.
+
+The app does not replace on demand preview generation so if a preview is
+requested before it is pre-generated it will still be shown.
+
+## How to install
+
+* Install directly from within your Nextcloud from the [app store](https://apps.nextcloud.com/apps/previewgenerator)
+* Clone this repository in you Nextcloud app folder
+
+## How to use the app
+
+1. Install the app
+2. Enable the app
+3. Run `./occ preview:generate-all` once after installation.
+4. Add a (system) cron job for ` ./occ preview:pre-generate`
+ * I run it every 10 minutes
+
+## Known issues
+
+* The app does not work with encryption enabled
+
+## How does the app work
+
+1. Listen to events that a file has been written or modified and store it in the database
+2. On cron run request previews for the files that have been written or modified
+
+If a preview already exists at step 2 then requesting it is really cheap. If not
+it will be generated. Depending on the sizes of the files and the hardware you
+are running on the time this takes can vary.
+
+## Commands
+
+### preview:delete_old
+
+This removes the previews from the old preview location that was used before
+Nextcloud 11. That has some issues. Note that the gallery shipped with Nextcloud
+11 did not yet use this location. So you might want to run it again with Nextcloud 12.
+
+### preview:generate-all [user-id]
+
+Loop over all files and try to generate previews for them. If `user-id` is supplied
+just loop over the files for that user.
+
+### preview:pre-generate
+
+Do the actual pregeneration. This means only for new or modified files (since
+the app was enabled or the last pregeneration was done).
+
+## FAQ
+
+### Why can't I use webcron?
+
+Preview generation can be a very long running job. Thus we need a system that
+does not time out.
+
+### It sometimes crashed
+
+Yes this happens. Most of it is due to corrupted files not being handled that gracefully
+in the Nextcloud server. Improvements in this area are coming with Nextcloud 12
+
+### I get "Command already running"
+
+Yes this happens when the `pre-generate` command crashes. No worries the lock
+will be released after 30 minutes of inactivity from the app. So go grab a cookie.
+
+### I don't want to generate all the preview sizes
+
+This is possible since version 1.0.8. Just set the correct values via the command line
+
+```
+./occ config:app:set --value="32 64 1024" previewgenerator squareSizes
+./occ config:app:set --value="64 128 1024" previewgenerator widthSizes
+./occ config:app:set --value="64 256 1024" previewgenerator heightSizes
+```
+
+This will only generate:
+ * square previews of: 32x32, 64x64 and 1024x1024
+ * aspect ratio previews with a width of: 64, 128 and 1024
+ * aspect ratio previews with a height of: 64, 256 and 1024
+
+Note:
+ * preview sizes are always a power of 2.
+ * The smallest size is 32
+ * The max size is determined by your preview settings in config.php
+
+ ### I get "PHP Fatal error: Allowed memory size of X bytes exhausted"
+ You need to increase the memory allowance of PHP, by default it is 128 MB. You do that by changing the memory_limit in the php.ini file.
+
+ If you use the docker container you need to create the php.ini file in /usr/local/etc/php first.