What's Changed
- Added: AI image gen work (#385) @jt196
- Added: AI recipe image generation from the recipe edit page, with an optional style prompt override.
- Added: Separate admin settings for Image OCR and Image Generation providers/models, including a unified “Test Enabled Providers” dialog.
- Added: Optional environment overrides for image sizing (
RECIPE_IMAGE_MAX_DIMENSION,RECIPE_IMAGE_GENERATION_SIZE) with sensible defaults. - #378 non-root docker image migration (#384) @jt196
- Changed: Docker container now runs as a non-root user (
node, UID 1000) for improved security (#378) - Changed: Pre-migration database backups are now named
migration-YYYYMMDD-HHMMSS.sqlite(previouslyauto-backup-...) - Added: Optional
PUID/PGIDenv vars to match container file ownership to your host user (useful for NAS setups) - Breaking changes: Mounted volume files (./db,./uploads) will now be owned by UID 1000. Existing installs with root-owned files may need a one-time permission fix (see migration steps below). - Related issues: #378
- Changed: menu bar start/end margins inline with body
- Changed: tweaking the front page queries. Favourites randomised.
Migrating from a previous install
Docker is no longer using root user, so if anything breaks, try this:
- Stop the container:
docker compose down - Back up your data:
cp -r ./db ./db-backup-$(date +%Y%m%d) - Pull the new image and start:
docker compose up -d - Check logs for permission errors:
docker compose logs -f app - If you see permission errors on
./dbor./uploads, run:sudo chown -R 1000:1000 ./db ./uploadsthendocker compose up -d
NAS users (Synology, Unraid, etc.): Add PUID and PGID to your .env to match your host user e.g.:
PUID=1024 (check your UID with id -u on the host)
Please raise an issue if it doesn't fix it and I'll do my best to help you. Permissions and setting PUID and GUID is usually the answer though!