v1.1.0 (28 March 2024)

v1.1.0 (28 March 2024)


Account Registrations

It is now possible to disable account registrations. This is useful when you wish to avoid random people registering an account when the application is exposed to the internet.

To disable user accounts, set the server.noSignups option in the configuration file to true. For Docker users, set the RECIPYA_SERVER_NO_SIGNUPS environment variable to true.

You will be able to manage your users from the /admin dashboard.

Automatic Login

It is now possible to login automatically into the application. This is useful when user accounts are not needed.

To enable this feature, set the server.autologin option in the configuration file to true. For Docker users, set the RECIPYA_SERVER_AUTOLOGIN environment variable to true.

A default account will be created on application start when no account has been created yet. Its credentials are the following:


Fixed an issue where the remember me cookie did not work.


An admin page accessible via the /admin endpoint has been started.


Fixed an issue where the user could not access their cookbooks.

Fixed an issue where a cookbook without recipes could be downloaded.

The name of cookbooks is now automatically adjusted to title case. It is now not possible to create a cookbook named best breakfast when Best Breakfast exists because they have the same name.

Previously, the default recipes search mode was by name, meaning that your search query only searched the title field of the recipes. Now, you can choose either By name or Full search.


Backups & Restore

Application data is now backed up automatically every third day. It is possible to restore a previous backup.

Please consult the features tour for more information.


The database has been moved from path/to/recipya/ to path/to/recipya/data/backup/database/. This change allows Docker users to persist the application’s data. Users do not have to take any action because the migration to the new folder is automatic on application startup.


The unreferenced images cleanup job now avoids deleting referenced cookbook images.


Environment variables can now be passed through the docker run command and the docker-compose file.


Added a .devcontainer development environment, which sets you up with everything needed to develop and run Recipya.

Upgraded the Go version from 1.21 to 1.22.

Updated all Go and NPM packages.


Recipya Bookmarklet

The Recipya bookmarklet allows a user to run a JavaScript snippet from their browser that extracts a recipe from a webpage.

It’s for websites that both:

  • can’t be scraped via a server request, i.e. have something like captcha or bot detection
  • that have json+ld recipe script snippets on their page

To get the bookmarklet:

  1. Access /recipes/add
  2. Bookmark the Recipya Bookmarklet link in the Import card.

To use it:

  1. Open a recipe webpage, e.g. double banana nut bread
  2. Click the bookmarklet
  3. A JSON file is downloaded when it succeeds.

You can then import the extracted recipe from Add recipe -> Import.


Text Files

It is now possible to import recipe text files in the .txt format. The text files should ideally be structured like the following:



Metadata, like prep time, cooking time, total time, servings etc.

Ingredients list
Quantity | Measurement unit | Ingredient | Possibly some instructions


Possibly an URL where the recipe was taken from


Bulk import URLs is now possible. To do so, access the dialog from Add Recipe -> Website -> Fetch. In the text area, paste your list of URLs, each on a new line and press Submit.


Search pagination has been implemented when searching for recipes and when searching for recipes to add to a cookbook.

You can now choose among the following search modes:

  • By name
  • Full search

The default is full search.


Recipes can now be sorted in the following ways:

  • By name:
    • From A to Z
    • From Z to A
  • By creation date:
    • From newest to oldest
    • From oldest to newest
  • Random

The default is by order of insertion into the database.


Reports are generated after importing recipes. They are accessible from the /reports endpoint. Please consult the features tour for more information.


The scraper has been refreshed.

Added support for the following websites:

  • aberlehome.com
  • ah.nl
  • all-clad.com
  • argiro.gr
  • bergamot.app
  • bettybossi.ch
  • bingingwithbabish.com
  • brianlagerstrom.com
  • chuckycruz.substack.com
  • drinkoteket.se
  • foodbag.be
  • foodnetwork.com
  • francescakookt.nl
  • jaimyskitchen.nl
  • kuchynalidla.sk
  • lidl-kochen.de
  • leukerecepten.nl
  • livingthegreenlife.com
  • maangchi.com
  • marmiton.org
  • moulinex.fr
  • myjewishlearning.com
  • puurgezond.nl
  • quitoque.fr
  • recipescommunity.com.au
  • reddit.com
  • yumelise.fr


Memory Usage

Cut memory usage by half by removing the dependency on Boostport/mjml-go. During the profiling analysis of the heap, it was observed that the application retained an instance of the of wazero in memory. Recognizing this behavior as undesirable, the package has been removed. In its place, a build:mjml command was added to the package.json file to convert .mjml files to .gohtml during the build process.

Further reduce memory usage by approximately 10% by using templ instead of storing gohtml templates in memory.


The entire frontend has been revamped to accommodate any device and feature a cleaner, more beautiful design.

The recipe print layout has been improved.


The software can now self-update when an update is available. You will notice a notification icon next to your avatar when it’s time to update.