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¶
- Find a recipe on Gousto
- Copy the recipe URL from the browser
- Open the app and paste the URL into the Gousto recipe URL field
- Select Servings (controls which prep time is imported — default is 2)
- Optionally add Categories and/or Tags from your existing Mealie ones, or type a new name to create it
- Click Import — a spinner shows while the import runs (typically 5–15 seconds)
- 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/configroutesgithub.comto use this key
How to update¶
Updates are fully automated via GitHub Actions:
- Commit and push changes to the
mainbranch on GitHub - GitHub Actions builds a new Docker image and pushes it to
ghcr.io/danieljclark/gousto-to-mealie:latest(takes ~2 minutes) - In Unraid, click the
gousto-to-mealiecontainer → Check for Updates → Update
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. |
Related¶
- Services Overview
- Mealie — the recipe manager this tool imports into