Alexbelgium repo : 90+ addons

Alas there is no easy solution to move back from Mealie 2.0 to 1.2 now that the upstream image has cause the database to migrate.

  • If you had a backup from mealie :
      1. make a clean install (rename folder /homeassistant/addons_config/mealie_data to mealie_data.bak)
      1. restart the latest version of the addon (which will fully reset) and restore your backup
  • If you have a backup from homeassistant of the /config folder :
      1. you should rename the folder /homeassistant/addons_config/mealie_data to mealie_data.bak
      1. extract your backup
      1. Copy the /homeassistant/addons_config/mealie_data folder from your backup to the same path in homeassistant
  • Wait for the addon to move back to 2.0 to use your database that was upgraded…

If you have neither, alas Mealie has no way to way back from the upgrade that occurred… For info, I’ve improved the system to make sure that the data is backuped in the future (this function did not exist when I created the addon) but this doesn’t help for this specific issue.

thanks for your answer. Maybe I did something wrong:

made a backup in mealie and in home assistant
stoppen
renamed the data folder
installed new one.
logged in with default credentials
uploaded backup
restored backup

error

 yield
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/base.py", line 458, in _upgrade_revs
    return self.get_revisions(target)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/revision.py", line 565, in get_revisions
    return tuple(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/revision.py", line 566, in <genexpr>
    for script in reversed(list(revs))
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/revision.py", line 814, in iterate_revisions
    revisions, heads = fn(
    self._revision_for_ident(rev_id, branch_label)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/revision.py", line 1447, in _collect_upgrade_revisions
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/revision.py", line 637, in _revision_for_ident
    raise ResolutionError(
alembic.script.revision.ResolutionError: No such revision or branch 'feecc8ffb956'

    for rev in self._parse_upgrade_target(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/revision.py", line 1234, in _parse_upgrade_target
    return self.get_revisions(target)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/revision.py", line 565, in get_revisions
    return tuple(
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/revision.py", line 566, in <genexpr>
    self._revision_for_ident(rev_id, branch_label)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/revision.py", line 637, in _revision_for_ident
    raise ResolutionError(
alembic.script.revision.ResolutionError: No such revision or branch 'feecc8ffb956'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/mealie/routes/admin/admin_backups.py", line 105, in import_one
    backup.restore(file)
The above exception was the direct cause of the following exception:

  File "/app/mealie/services/backups_v2/backup_v2.py", line 101, in restore
    self.db_exporter.restore(database_json)
  File "/app/mealie/services/backups_v2/alchemy_exporter.py", line 164, in restore
    command.upgrade(alembic_cfg, alembic_version)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/command.py", line 406, in upgrade
Traceback (most recent call last):
    script.run_env()
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/base.py", line 582, in run_env
  File "/app/mealie/routes/admin/admin_backups.py", line 105, in import_one
    util.load_python_file(self.dir, "env.py")
    backup.restore(file)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 95, in load_python_file
  File "/app/mealie/services/backups_v2/backup_v2.py", line 101, in restore
    module = load_module_py(module_id, path)
    self.db_exporter.restore(database_json)
  File "/app/mealie/services/backups_v2/alchemy_exporter.py", line 164, in restore
    command.upgrade(alembic_cfg, alembic_version)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/command.py", line 406, in upgrade
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 113, in load_module_py
    script.run_env()
    spec.loader.exec_module(module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/app/alembic/env.py", line 81, in <module>
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/base.py", line 582, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 95, in load_python_file
    run_migrations_online()
  File "/app/alembic/env.py", line 75, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/runtime/environment.py", line 946, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/runtime/migration.py", line 616, in run_migrations
    for step in self._migrations_fn(heads, self):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/command.py", line 395, in upgrade
    return script._upgrade_revs(revision, rev)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/base.py", line 446, in _upgrade_revs
    with self._catch_revision_errors(
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
    module = load_module_py(module_id, path)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 113, in load_module_py
    spec.loader.exec_module(module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/app/alembic/env.py", line 81, in <module>
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/base.py", line 282, in _catch_revision_errors
    run_migrations_online()
    raise util.CommandError(resolution) from re
  File "/app/alembic/env.py", line 75, in run_migrations_online
alembic.util.exc.CommandError: Can't locate revision identified by 'feecc8ffb956'
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/runtime/environment.py", line 946, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/runtime/migration.py", line 616, in run_migrations
    for step in self._migrations_fn(heads, self):
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/command.py", line 395, in upgrade
    return script._upgrade_revs(revision, rev)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/base.py", line 446, in _upgrade_revs
    with self._catch_revision_errors(
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/pysetup/.venv/lib/python3.10/site-packages/alembic/script/base.py", line 282, in _catch_revision_errors
    raise util.CommandError(resolution) from re
alembic.util.exc.CommandError: Can't locate revision identified by 'feecc8ffb956'
INFO     2024-08-27T19:36:33 - [192.168.0.1:0] 500 Internal Server Error "POST /api/admin/backups/mealie_2024.08.27.05.42.06.zip/restore HTTP/1.1"

Hi Alex

I have a problem with xTeve. Locally everything works, however when I do a redirect on the router and connect from another network the ip of the xTeVe server remains local. Using xteve-project/xTeVe: M3U Proxy for Plex DVR and Emby Live TV (github.com) running on my QNAP this problem is not there. How in HA do I set it to work properly?

Am I the only one experiencing issues with Linkwarden? Even after reinstalling, the add-on crashes shortly after being used.

I have been holding off on this update for a few weeks, after seeing the warning.

Do I need to take any special steps before upgrading. Current and latest version below. The warning mentioned version 2, which would imply that I can safely update (?). I tried a few weeks ago and my old login did not work, so I restored. I only have a handful of recipes saved, but would prefer not to loose them.

Thank you.

image

After struggling to get Mealie back, I am not updating until I have a clear path. It’s not currently broken for you, so why change anything?

1 Like

Hello @alexbelgium . Thank you for your work. I have one question. I use your mealie add-on and it work’s quite well. Could you add ingress support for the mealie instance? Could this easily be done by me if I only have to change some configs?
That would be way easier than for me to mess with SSL files and trying to install duckdns for an add-on next to the nabu casa.

Thank you for your time.

Hi, the Mealie mess should be sorted I’ve pushed a new version based on nightly 2.0 that should be compatible with all database versions.

1 Like

Hi, ingress is super hard to implement and the biggest issue is that Mealie requires a hardcoded url at container creation which is not compatible with the way ingress works.

There is two ways : iframes, or if you feel adventurous you can install GitHub - lovelylain/hass_ingress: Home Assistant ingress feature, add additional ingress panels to your Home Assistant frontend. and try to add it yourself ; I’ve tried and failed up to now! To be fair I haven’t tried in some time but I’ve much less time now so mostly do critical support

1 Like

Should be good now - I’ll keep on v2.0 from now on. But make a full HA backup just to be sure! The database from your version is located in the /config of homeassistant, which is not backuped when doing the add-on back-up.

Once the Mealie mess is sorted and people have safely migrated to the new version, I’m implement the new logic for config storage that will allow to have it backuped with the addon

2 Likes

Thanks for your reply. Sadly I have tried both options and I have failed. ( https://www.reddit.com/r/homeassistant/comments/1g0mgul/home_assistant_mealie_and_the_search_for_a_simple/ )
Now I’ll look for a different approach.

Hi, here is the initial thread discussing the lack of support for subpaths as ingress needs: Alexbelgium repo : 90+ addons - #332 by kenobrandt. BTW, several official add-ons also don’t support ingress (like bitwarden) in the end it is quite a hack…

If you find a way though I’ll be more than happy to implement it

1 Like

There is a Mealie addon floating around that claims to support ingress. If I find it, I’ll post.

Edit: See the discussion here A first class Mealie AddOn (Official or Community)

2 Likes

Thanks! Interesting implementation it’s actually how I do also for my *arr add-ons - I’ll look to implement my *arr logic if this works indeed!

2 Likes

If it actually works it would be grand, because I cant get this (hassio-addons/hassio-mealie-addon at main · krakonos1602/hassio-addons · GitHub) to start and test.

You have to set up a few things, look at the docs.

There is a kinda new Reverse Proxy solution called Zoraxy (GitHub - tobychui/zoraxy: A general purpose HTTP reverse proxy and forwarding tool. Now written in Go!) which I would love to see and use in my Home Assistant installation.
Maybe check this and consider as ann addition to your repo?

Hi all, ingress for mealie is up please let me know if everything works as expected

1 Like

Hi, honestly I have already way too many addons and prefer focusing on maintenance, except for things that I would myself use :wink: and especially given there is already strong addons for reverse proxies such as Nginx supported by HA itself. However you could use the portainer addon to run it

Thank you very much. It work’s perfectly for me.

1 Like