Windows

How to install fylr on Microsoft Windows

There are now two ways to do this:

  • The fully automated installer made by Attention Solutions: https://attention.dk/docs/att/doku.php?id=winfylr:start - needs a paid subscription with Attention Solutions.

  • Use fylr directly from the developer Programmfabrik GmbH and download the 3rd party tools by yourself. This is what the rest of this page guides you through:

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. Just as a copy for you to look them up.

  • 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\jane doe\Desktop\software-project\fylr-v6.17.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, thus protecting it:

network.host: 127.0.0.1
plugins.security.disabled: true
  • We installed the one needed 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 fylr 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 the indexer (opensearch or elasticsearch). Optionally check that java / openjdk is stopped alongside elasticsearch.

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

  • Start elasticsearch as shown at the beginning.

  • If you use PostgreSQL, 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 information from assets, fylr needs a "java" command. We made sure to have java installed and that it can be started by the command java (for that, it has to be in the system environment variable PATH, which already was the case after java installation).

Saxon

This replaces xsltproc in fylr v6.19.

We downloaded SaxonJ-HE 12.5 from https://www.saxonica.com/download/java.xml

  • The unpacked file was C:\fylr\utils\saxon\saxon-he-12.5.jar .

fylr+:
  services+:
    execserver+:
      commands:
        saxon:
          prog: java
          args:
            - "-jar"
            - "C:\\fylr\\utils\\saxon\\saxon-he-12.5.jar"

Ghostscript

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

We installed to C:\Program Files\gs\gs10.05.0 .

The bin directory was added automatically to the system %PATH% by the Ghostscript installer.

We then copied gswin64c.exe to gs.exe so that other programs are able to find it in %PATH%.

PS C:\Program Files\gs\gs10.05.0\bin> dir
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----    Mi, 12.03.2025     13:58          93696 gs.exe
-a----    Mi, 12.03.2025     13:58          93696 gswin64c.exe

We also added to the system path: C:\Program Files\gs\gs10.05.0\lib.

The latter is needed for the generation of previews for .eps-files via ps2pdf and inkscape.

Libreoffice

We installed LibreOffice ( https://de.libreoffice.org/donate/dl/win-x86_64/24.8.4/de/LibreOffice_24.8.4_Win_x86-64.msi )

and configured in fylr.yml:

fylr+:
  services+:
    execserver+:
      commands:
        soffice:
          prog: "C:\\Program Files\\LibreOffice\\program\\soffice.exe"

As an alternative we successfully tested 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.

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

We then configured the path to soffice.exe in fylr.yml.

Inkscape

We installed Inkscape 1.4 via its default Installer.

Version 1.4 is needed for the generation of previews for .eps-files via ps2pdf and inkscape.

We added Inkscape's bin directory to the Windows System %PATH% like this:

  1. In the Windows Start Menu, we typed env, then selected Edit the system environment variables

  2. We clicked the Environment Variables... button

  3. In the lower section titled System variables , we selected the line starting with Path.

  4. We clicked Edit...

  5. In the new window, we clicked New and pasted C:\Program Files\Inkscape\bin .

  6. We clicked OK.

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

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

tika

We downloaded from https://tika.apache.org/download.html the jar file tika-app-2.9.2.jar.

We configured in fylr.yml:

fylr+:
  services+:
    execserver+:
      commands:
        tika:
          prog: java
          args:
            - "-jar"
            - "C:\\fylr\\utils\\tika-app-2.9.2.jar"

tesseract

From https://github.com/UB-Mannheim/tesseract/wiki we downloaded and started the installer tesseract-ocr-w64-setup-5.5.0.20241111.exe (64 bit)

  • In the installer dialogs we chose all languages and script data

  • We installed to C:\fylr\utils\tesseract

  • We configured in fylr.yml:

fylr+:
  services+:
    execserver+:
      commands:
        tesseract:
          prog: "C:\\fylr\\utils\\tesseract\\tesseract.exe"

mupdf tools

We downloaded mupdf-1.25.2-windows.zip from https://mupdf.com/releases and unpacked it into C:\fylr\utils\mupdf\ .

In fylr.yml we configured:

fylr+:
  services+:
    execserver+:
      commands:
        mutool:
          prog: "C:\\fylr\\utils\\mupdf\\mutool.exe"

dot

from https://www.graphviz.org/download/

calibre

from https://calibre-ebook.com/download_windows

chrome

Optional. Only needed for the plugin called server-pdf in the plugin manager. this plugin is not packaged with fylr by default. We mention it here to show the config under Windows as an example.

fylr+:
  env:
    SERVER_PDF_CHROME: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"

To update the plugin automatically, use this URL: https://github.com/programmfabrik/fylr-plugin-server-pdf/releases/latest/download/fylr-plugin-server-pdf.zip

Configure the tools in fylr.yml

Here is how to configure all these tools in fylr.yml:

  • before, the tools in fylr.yml look like this (minimal, no 3rd party tools):

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

      commands:
        fylr:
          prog: fylr.exe
      services:
      
  • after we have added the tools: (remember to instead use paths valid on your installation)

fylr+:
  env:
    SERVER_PDF_CHROME: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
  [...]
  services+:
  [...]
    execserver+:
      commands:
        fylr:
          prog: fylr.exe
        # 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"
        pdfinfo:
          prog: "C:\\fylr\\utils\\poppler-pdf\\Library\\bin\\pdfinfo.exe"
        java:
          prog: java.exe
        inkscape:
          prog: inkscape.exe
        saxon:
          prog: java
          args:
            - "-jar"
            - "C:\\fylr\\utils\\saxon\\saxon-he-12.5.jar"
        dot:
          prog: "C:\\fylr\\utils\\Graphviz\\bin\\dot.exe"
        tika:
          prog: java
          args:
            - "-jar"
            - "C:\\fylr\\utils\\tika-app-2.9.2.jar"
        tesseract:
          prog: "C:\\fylr\\utils\\tesseract\\tesseract.exe"
        mutool:
          prog: "C:\\fylr\\utils\\mupdf\\mutool.exe"
        ebook-meta:
          prog: "C:\\fylr\\utils\\Calibre2\\ebook-meta.exe"
        ebook-convert:
          prog: "C:\\fylr\\utils\\Calibre2\\ebook-convert.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