Windows

Running fylr.exe

Download fylr.exe

It contains:

  • fylr.exe fylr native for Windows amd64.

  • fylr.yml a starting configuration already adjusted with Windows path syntax and for the following instructions.

  • fylr.example.yml most configuration parameters. Look here for reference.

  • fylr.default.yml compiled-in default values.

  • LICENSE legal information on who may use fylr.

  • A folder with plugins.

Windows path length

The shorter the path of your fylr installation directory, the less likely your installation will fail processing files due to exceeding the length limit. So prefer C:\fylr over C:\user\adam doe\Desktop\software-project\fylr-v6.4.0\unpacked. Fylr newer than v6.3.1 will try to use only short internal file names, but every little bit helps. Same for Libre Office installation (more about that below).

Get the dependencies

Bare bone minimum: Elasticsearch or OpenSearch

OpenSearch

OpenSearch is our default and recommendation.

We installed OpenSearch as described in https://opensearch.org/docs/latest/install-and-configure/install-opensearch/windows/

  • Version 2.11 (Version 2.12.0 works from fylr v6.9.0 onwards, make sure you set a strong initial password for admin, the OpenSearch user)

  • We disabled security and let it explicitly listen only on localhost:

network.host: 127.0.0.1
plugins.security.disabled: true
  • We installed one plugin:

opensearch-2.11.0> .\bin\opensearch-plugin install analysis-icu

Elasticsearch

Elasticsearch has been the default until 2023. Now we recommend OpenSearch instead.

What we tested:

  • We recommend Elasticsearch 7.17.

  • If you start a new instance or have problems with ElasticSearch, we recommend OpenSearch, see above.

  • Since writing the next lines, we found a problem with Versions 8.5 and newer, about indexing letters Q and W, of all things. Thus our recommendation for Elasticsearch 7.17. The remainder of the text still mentions 8.6.1, to stay true to what we actually did under Windows.

  • Unpack official windows release file elasticsearch-8.6.1-windows-x86_64.zip

    Other Versions should also be fine. This is true for all the below mentioned tools.

  • Disable security with ...

xpack.security.enabled: false

... in elasticsearch-8.6.1\config\elasticsearch.yml

.\elasticsearch-8.6.1\bin\elasticsearch.bat

Elasticsearch then used the default address http://localhost:9200, which is also configured in fylr.yml.

Start with minimal dependencies

Edit fylr.yml to not use any 3rd part tools for the moment if you want to test/start with minimal effort:

 fylr+:
  [...]
  services+:
  [...]
    execserver+:

      commands:
        fylr:
          prog: fylr.exe
      services:

You are now ready to start fylr, although most asset processing tools are still missing: (no previews)

.\fylr.exe server -c fylr.yml

... in the folder where fylr.exe is.

Output lines with WRN can usually be ignored.

Harmless Errors known to appear are e.g.

  • Error occurred in NewIntrospectionRequest and Accepting token failed, when a browser tries to use old credentials.

Access the web frontend

Browse http://localhost

Default login credentials are:

  • Username: root

  • Password: admin

More than bare bone minimum

For a full installation it is recommended to install all of the following and un-comment them in fylr.yml.

"Un-comment" = turning the comments into configuration.

Postgresql

    driver: postgres
    dsn: "host=localhost port=5432 user=fylr password=fylr dbname=fylr sslmode=disable"
  • And we disabled the lines configuring sqlite, by turning them into comments:

    #driver: sqlite3
    #dsn: "data\\sqlite.db"
  • For a consistent state we also did the next step: cleanup.

cleanup

If you want to go back to a fresh state between two test runs:

  • Stop fylr.exe and elasticsearch. Optionally check that java / openjdk is stopped alongside elasticsearch.

  • Remove the directory data and elasticsearch's data/*

  • Start elasticsearch as shown at the beginnig.

  • If you use postgres, remove and recreate the database.

pdf tools

magick.exe and convert.exe and composite.exe

Hint from the download page:

If you have any problems, you likely need vcomp120.dll. To install it, download Visual C++ Redistributable Package(https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads).

Exiftool.exe

We downloaded: Windows Executable: exiftool-12.56.zip on http://exiftool.sourceforge.net

We have put exiftool(-k).exe from the download into C:\fylr\utils.

We renamed it to exiftool.exe as recommended on exiftool.sourceforge.net.

Ffmpeg.exe and ffprobe.exe

We downloaded ffmpeg-n5.1.2-12-g7268323193-win64-gpl-5.1.zip from https://github.com/BtbN/FFmpeg-Builds/releases

We suggest you avoid the LGPL version as testing showed it has less features (x264 and x265).

We have put ffmpeg.exe and ffprobe.exe into C:\fylr\utils.

Node

We downloaded node-v16.17.0-win-x64.7z from https://nodejs.org/dist/v16.17.0/

We put just node.exe into C:\fylr\utils.

Python

We donwloaded "Windows embeddable package (64-bit)" at https://www.python.org/downloads/windows/ (explained here)

We unpacked the whole package as the folder "python3" inside C:\fylr\utils.

Java

For extracting text from pdfs in the fylr_example plugin and for the API test suite, the "metadata" service in fylr.yml needs a "java" command.

Xsltproc

We installed xsltproc.exe by

xsltproc.exe --version
Using libxml 20903, libxslt 10128 and libexslt 817

Ghostscript

We downloaded Ghostscript 10.0.0 for Windows (64 bit) from https://ghostscript.com/releases/gsdnld.html

We used its default installation (C:\Program Files (x86)\gs\gs10.00.0 or C:\Program Files\gs\gs10.00.0)

-a----         9/21/2022   3:09 PM          86528 gs.exe
-a----         9/21/2022   3:09 PM          86528 gswin32c.exe

We then copied gswin32c.exe to gs.exe so that convert.exe is able to find it in %PATH%.

We tested ghostscript integration by uploading a pdf file into fylr and checking whether a preview is generated (showing the first page of the pdf).

Libreoffice

We "installed" LibreOfficePortable_7.4.5_MultilingualStandard.paf.exe from https://www.libreoffice.org/download/portable-versions/ to C:\LibreOfficePortable.

Fair warning: If you make your installation path too long, libre office will not work. We then configured the path to soffice.exe in fylr.yml.

Example for too long: C:\Users\Klaus Thorn\Desktop\pf\fylr_v6.2.4_windows_amd64\utils\LibreOfficePortable\.

Inkscape

We installed Inkscape 1.2 via its default Installer.

We added Inkscape's bin directory to the Windows System PATH as in https://de.mathworks.com/matlabcentral/answers/94933-how-do-i-edit-my-system-path-in-windows#answer_104285

We closed and opened a new window for fylr.exe server so that the new PATH is known to the window.

We tested Inkscape integration by uploading a svg file into fylr and check whether a preview is generated.

Tools in fylr.yml

Now was a good time to go to the last part in fylr.yml and replace minimal 3rd party tools config into explicit tools config:

  • before:

fylr+:
  [...]
  services+:
  [...]
    execserver+:

      commands:
       fylr:
         prog: fylr.exe
      services:

      # commands+:
        # fylr:
          # prog: fylr.exe
        # ffmpegthumbnailer:
          # # ffmpegthumbnailer: not under Windows. ffmpeg is used instead as a fallback
        # soffice:
          # prog: "C:\\LibreOfficePortable\\LibreOfficePortable.exe"
        # magick:
          # prog: "C:\\fylr\\utils\\magick.exe"
        # exiftool:
          # prog: "C:\\fylr\\utils\\exiftool.exe"
        # ffmpeg:
          # prog: "C:\\fylr\\utils\\ffmpeg.exe"
        # ffprobe:
          # prog: "C:\\fylr\\utils\\ffprobe.exe"
        # node:
          # prog: "C:\\fylr\\utils\\node.exe"
        # python3:
          # # prog: "C:\\fylr\\utils\\python3\\python.exe"
          # # is searched in PATH variable:
          # prog: "python.exe"
        # pdftotext:
          # prog: "C:\\fylr\\utils\\poppler-pdf\\Library\\bin\\pdftotext.exe"
        # pdftoppm:
          # prog: "C:\\fylr\\utils\\poppler-pdf\\Library\\bin\\pdftoppm.exe"
        # pdfinfo:
          # prog: "C:\\fylr\\utils\\poppler-pdf\\Library\\bin\\pdfinfo.exe"
  • after:

fylr+:
  [...]
  services+:
  [...]
    execserver+:
    
      # commands:
       # fylr:
         # prog: fylr.exe
      # services:

      commands+:
        fylr:
          prog: fylr.exe
        ffmpegthumbnailer:
          # ffmpegthumbnailer: not under Windows. ffmpeg is used instead as a fallback
        soffice:
          prog: "C:\\LibreOfficePortable\\LibreOfficePortable.exe"
        magick:
          prog: "C:\\fylr\\utils\\magick.exe"
        exiftool:
          prog: "C:\\fylr\\utils\\exiftool.exe"
        ffmpeg:
          prog: "C:\\fylr\\utils\\ffmpeg.exe"
        ffprobe:
          prog: "C:\\fylr\\utils\\ffprobe.exe"
        node:
          prog: "C:\\fylr\\utils\\node.exe"
        python3:
          #prog: "C:\\fylr\\utils\\python3\\python.exe"
          # is searched in PATH variable:
          prog: "python.exe"
        pdftotext:
          prog: "C:\\fylr\\utils\\poppler-pdf\\Library\\bin\\pdftotext.exe"
        pdftoppm:
          prog: "C:\\fylr\\utils\\poppler-pdf\\Library\\bin\\pdftoppm.exe"
        pdfinfo:
          prog: "C:\\fylr\\utils\\poppler-pdf\\Library\\bin\\pdfinfo.exe"

Check that each indentation level is two spaces. (No tab characters, just space characters).


Start fylr as a service

After testing, you may want to switch to

fylr.exe server -c fylr.yml --service install

Last updated