Skip to content

Gousto to Mealie

Last Updated: 2026-06-12 Status: ✅ Active

Purpose

Imports Gousto recipes into Mealie. Mealie's built-in URL scraper cannot handle Gousto because Gousto uses JavaScript rendering — the structured recipe data is never in the raw HTML. This tool calls Gousto's internal API directly and posts the result to Mealie.

Location

Hosted on Lotus (Primary NAS)
Container name gousto-to-mealie
Local URL http://192.168.1.80:5001
External URL https://goustotomealie.djchome.uk
Source repo https://github.com/danieljclark/gousto-to-mealie (private)

Access

Access via https://goustotomealie.djchome.uk — Tailscale must be active. No authentication — access is restricted to the Tailnet.

How to use

  1. Find a recipe on Gousto
  2. Copy the recipe URL from the browser
  3. Open the app and paste the URL into the Gousto recipe URL field
  4. Select Servings (controls which prep time is imported — default is 2)
  5. Optionally add Categories and/or Tags from your existing Mealie ones, or type a new name to create it
  6. Click Import — a spinner shows while the import runs (typically 5–15 seconds)
  7. On success, click Open in Mealie → to go straight to the imported recipe

The gousto category is automatically applied to every import — no need to add it manually.

Configuration

Container

Image ghcr.io/danieljclark/gousto-to-mealie:latest
Port 5001:5001
Restart policy unless-stopped

Environment variables

Variable Value
MEALIE_URL http://192.168.1.80:9000
MEALIE_TOKEN See Bitwarden: Gousto to Mealie — Mealie API Token

The API token is generated in Mealie under Settings → API Tokens.

SWAG proxy config

File: /mnt/user/appdata/swag/nginx/proxy-confs/goustotomealie.subdomain.conf

Proxies goustotomealie.djchome.uk to 192.168.1.80:5001.

GitHub deploy key

The repo is private. Unraid uses an SSH deploy key to authenticate git pull:

  • Key location on Lotus: ~/.ssh/gousto_mealie_deploy
  • Public key is registered as a read-only deploy key on the GitHub repo
  • SSH config at ~/.ssh/config routes github.com to use this key

How to update

Updates are fully automated via GitHub Actions:

  1. Commit and push changes to the main branch on GitHub
  2. GitHub Actions builds a new Docker image and pushes it to ghcr.io/danieljclark/gousto-to-mealie:latest (takes ~2 minutes)
  3. In Unraid, click the gousto-to-mealie container → Check for UpdatesUpdate

The code on Unraid at /mnt/user/appdata/gousto-to-mealie does not need to be updated separately — the container image is self-contained.

Data and backup

This is a stateless application — it holds no data of its own. All imported recipes live in Mealie. No backup configuration is needed for this container.

Known issues

Issue Notes
Failed import leaves an empty shell in Mealie If the import fails after the recipe shell is created but before the full data is patched, an empty recipe will remain in Mealie. Delete it manually before retrying the same recipe — Mealie enforces unique recipe names.
Ingredient variants marked x0 are excluded Gousto includes zero-quantity ingredient variants for other serving sizes in the API response. These are filtered out automatically.
Step images link to Gousto's CDN Cooking step thumbnail images are embedded as external links to Gousto's CDN rather than downloaded into Mealie. They may break if Gousto's CDN URLs change.