Skip to content

Resources (image library)

Resources is your account’s image library. You upload each image once and pick it from anywhere it is needed: a form logo, a dashboard image, an HTML template, a PDF or an email. There is no need to paste addresses by hand or upload the same file again.

Open it from the side menu, under Resources.


Click Upload images or drag files onto the grid area. You can upload up to 20 at a time.

Supported typesJPG, PNG, WebP and GIF
Maximum size10 MB per image (set by the administrator)
Not supportedSVG, PDF, video or any other file
  • The screen always shows the current allowed types and maximum size, and how much space you have used.
  • The type is checked from the file’s content, not its extension: a text file renamed to .png is rejected.
  • JPG, PNG and WebP files have their metadata removed (for example, GPS location) and are rotated to the correct orientation. GIFs are stored as they are.
  • If some images fail, the others are still uploaded and the reason for each failure is shown.

  • Search box: by name or tag.
  • Types: click JPG, PNG, WebP or GIF to show only that format.
  • Only mine: shows only the images you uploaded.
  • Each image is shown with a thumbnail, its dimensions and its size. Large libraries are paginated.

Clicking an image opens its card:

  • Name and tags (comma-separated; they help you find it).
  • Visible without signing in: see Public and private images.
  • Copy URL and Copy reference (resource://…, see References).
  • Delete.

Who can do what: every user in the account can view and upload images. Only the person who uploaded an image, or an administrator, can edit or delete it.


Each image has a Visible without signing in switch, on by default:

What it means
PublicIts address works for anyone who has it, no account needed. This is what public forms, public dashboards and emails require. The address is stable and does not expire.
PrivateOnly visible inside Floogos while you are signed in. The addresses Floogos generates for it expire after 15 minutes.

If you pick a private image to use as an address in a form, dashboard or HTML, the picker warns you and offers to make it public and use it, because anyone not signed in would not see it.

Turning the switch off immediately revokes the previous public address. If you turn it back on, the same address works again.


In every case, the Choose from library (or Image) button opens the same picker, with search, filters and upload, so you can also upload a new image from there.

WhereHow
DashboardsImage widget → Data tab → Choose from library.
FormsImage field → Choose from library. In the form’s Settings there is also a Form logo shown above the title on the public form.
HTML template (HTML Template node)Image button in the editor toolbar: inserts an <img> with its public address at the cursor.
PDF/HTML documents (Document Generator node)In an Image block, use resource://<id> (or a variable that contains it).
Emails (sendMail node)In Attachments, add resource://<id>; it is attached with its original name.

Every image has an identifier. Its reference is resource:// followed by the identifier, for example resource://0b6f1c2e-…. Copy it with Copy reference on the image card.

It is used in nodes that read the image on the server (PDF and email attachments). Floogos translates it into the real image at run time, so:

  • you never need to know or store server paths;
  • it keeps working if the storage location changes;
  • it only resolves images from your own account.

In PDFs: a PDF only supports JPEG, so the image is converted automatically (flattened onto a white background, so transparencies become white, and reduced to a maximum width of 1600 px). In HTML documents the image’s public address is used; if it is private, it is embedded in the document itself.

If a referenced image no longer exists, the document or email is still generated, without that image, and a warning is left in the execution log.


Images are stored in a folder defined in the server’s .env:

Ventana de terminal
# Root folder for images (required in production)
RESOURCES_ROOT=/path/to/the/shared/drive/images

With several servers, the folder must be a shared drive (for example NFS) mounted at the same path on all of them, so an image uploaded on one is visible from the others. The user running Floogos needs read and write permission on it.

Floogos creates this structure by itself:

<RESOURCES_ROOT>/
<client id>/
<identifier>.jpg | .png | .webp | .gif
thumbs/<identifier>_160.webp and _480.webp (thumbnails)
.tmp/ (uploads in progress)
  • Each client has its own folder, named with its number, and images are never mixed between clients.
  • File names are generated by the server; the original name is stored only as image metadata.
  • The .tmp folder must be on the same drive, so each image is saved atomically and another server never reads a half-written one.
  • If RESOURCES_ROOT is not defined in production, the server rejects uploads (instead of saving them on one server’s local disk) and the Resources screen shows a warning.
VariableDefaultWhat it does
UPLOAD_MAX_MB10Maximum size per image, in MB.
UPLOAD_ALLOWED_TYPESjpg,png,webp,gifAllowed types (can be reduced, for example to png,jpg).
RESOURCES_QUOTA_MBno limitTotal space per client, in MB (On-Premise only).
RESOURCES_URL_SECRETuses JWT_SECRETSecret used to sign image addresses.
ENGINE_HOST—Public address of the Floogos server. Needed so images in PDF/HTML and emails get a full address.
  1. Create the folder on the shared drive and check that the service user can write to it from every server.
  2. Set RESOURCES_ROOT (and, if applicable, ENGINE_HOST) in the .env and restart Floogos.
  3. If there is a proxy in front, make sure paths starting with /r/ reach the Floogos server: they serve the images.
  4. Upload an image from one server and check it is visible from the other.

Include the RESOURCES_ROOT folder in your backup together with the database: the database holds the catalog (names, tags, who uploaded each image) and the folder holds the files. One without the other is useless.


  • Each account only sees and uses its own images.
  • Files are validated by content and stored under internal names; SVG is not accepted (it can run code).
  • Addresses carry a signature that cannot be forged; a tampered address does not work.
  • Private images are never served through the public address.