mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:45:27 - Started server process [1] mealie | INFO 2026-11-02T23:45:27 - Waiting for application startup. mealie | INFO 2026-11-02T23:45:27 - start: database initialization mealie | INFO 2026-11-02T23:45:27 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:45:27 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:45:27 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:45:27 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:45:27 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:45:27 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:45:27 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:45:27 - Database connection established. mealie | INFO 2026-11-02T23:45:27 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:45:27 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:45:27 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:45:27 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:45:27 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:45:28 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | ERROR 2026-11-02T23:45:28 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:45:28 - Application startup failed. Exiting. mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:45:28 - Application startup failed. Exiting. mealie | usermod: no changes mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:45:37 - Started server process [1] mealie | INFO 2026-11-02T23:45:37 - Waiting for application startup. mealie | INFO 2026-11-02T23:45:37 - start: database initialization mealie | INFO 2026-11-02T23:45:37 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:45:37 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:45:37 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:45:37 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:45:37 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:45:37 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:45:37 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:45:37 - Database connection established. mealie | INFO 2026-11-02T23:45:37 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:45:37 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:45:37 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:45:37 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:45:37 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:45:37 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | ERROR 2026-11-02T23:45:37 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:45:37 - Application startup failed. Exiting. mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:45:37 - Application startup failed. Exiting. mealie | usermod: no changes mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:45:45 - Started server process [1] mealie | INFO 2026-11-02T23:45:45 - Waiting for application startup. mealie | INFO 2026-11-02T23:45:45 - start: database initialization mealie | INFO 2026-11-02T23:45:45 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:45:45 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:45:45 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:45:45 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:45:45 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:45:45 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:45:45 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:45:45 - Database connection established. mealie | INFO 2026-11-02T23:45:45 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:45:45 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:45:45 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:45:45 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:45:45 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:45:45 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | ERROR 2026-11-02T23:45:45 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:45:45 - Application startup failed. Exiting. mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:45:45 - Application startup failed. Exiting. mealie | usermod: no changes mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:45:55 - Started server process [1] mealie | INFO 2026-11-02T23:45:55 - Waiting for application startup. mealie | INFO 2026-11-02T23:45:55 - start: database initialization mealie | INFO 2026-11-02T23:45:55 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:45:55 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:45:55 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:45:55 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:45:55 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:45:55 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:45:55 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:45:55 - Database connection established. mealie | INFO 2026-11-02T23:45:55 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:45:55 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:45:55 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:45:55 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:45:55 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:45:55 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:45:55 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:45:55 - Application startup failed. Exiting. mealie | ERROR 2026-11-02T23:45:55 - Application startup failed. Exiting. mealie | usermod: no changes mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:46:04 - Started server process [1] mealie | INFO 2026-11-02T23:46:04 - Waiting for application startup. mealie | INFO 2026-11-02T23:46:04 - start: database initialization mealie | INFO 2026-11-02T23:46:04 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:46:04 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:46:04 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:46:04 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:46:04 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:46:04 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:46:04 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:46:04 - Database connection established. mealie | INFO 2026-11-02T23:46:04 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:46:04 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:46:04 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:46:04 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:46:04 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:46:04 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | ERROR 2026-11-02T23:46:04 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:46:04 - Application startup failed. Exiting. mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:46:04 - Application startup failed. Exiting. mealie | usermod: no changes mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:46:14 - Started server process [1] mealie | INFO 2026-11-02T23:46:14 - Waiting for application startup. mealie | INFO 2026-11-02T23:46:14 - start: database initialization mealie | INFO 2026-11-02T23:46:14 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:46:14 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:46:14 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:46:14 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:46:14 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:46:14 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:46:14 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:46:14 - Database connection established. mealie | INFO 2026-11-02T23:46:14 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:46:14 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:46:14 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:46:14 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:46:14 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:46:14 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | ERROR 2026-11-02T23:46:14 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:46:14 - Application startup failed. Exiting. mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:46:14 - Application startup failed. Exiting. mealie | usermod: no changes mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:46:27 - Started server process [1] mealie | INFO 2026-11-02T23:46:27 - Waiting for application startup. mealie | INFO 2026-11-02T23:46:27 - start: database initialization mealie | INFO 2026-11-02T23:46:27 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:46:27 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:46:27 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:46:27 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:46:27 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:46:27 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:46:27 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:46:27 - Database connection established. mealie | INFO 2026-11-02T23:46:27 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:46:27 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:46:27 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:46:27 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:46:27 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:46:27 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ERROR 2026-11-02T23:46:27 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~^^^^^^ mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | The above exception was the direct cause of the following exception: mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | mealie | ERROR 2026-11-02T23:46:27 - Application startup failed. Exiting. mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:46:27 - Application startup failed. Exiting. mealie | usermod: no changes mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:46:42 - Started server process [1] mealie | INFO 2026-11-02T23:46:42 - Waiting for application startup. mealie | INFO 2026-11-02T23:46:42 - start: database initialization mealie | INFO 2026-11-02T23:46:42 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:46:42 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:46:42 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:46:42 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:46:42 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:46:42 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:46:42 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:46:42 - Database connection established. mealie | INFO 2026-11-02T23:46:42 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:46:42 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:46:42 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:46:42 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:46:42 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:46:42 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ERROR 2026-11-02T23:46:42 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:46:42 - Application startup failed. Exiting. mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:46:42 - Application startup failed. Exiting. mealie | usermod: no changes mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:47:03 - Started server process [1] mealie | INFO 2026-11-02T23:47:03 - Waiting for application startup. mealie | INFO 2026-11-02T23:47:03 - start: database initialization mealie | INFO 2026-11-02T23:47:03 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:47:03 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:47:03 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:47:03 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:47:03 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:47:03 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:47:03 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:47:03 - Database connection established. mealie | INFO 2026-11-02T23:47:03 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:47:03 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:47:03 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:47:03 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:47:03 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:47:03 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | ERROR 2026-11-02T23:47:03 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | for step in self._migrations_fn(heads, self): mealie | ERROR 2026-11-02T23:47:03 - Application startup failed. Exiting. mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:47:03 - Application startup failed. Exiting. mealie | usermod: no changes mealie | Switching to dedicated user mealie | mealie | User uid: 1000 mealie | User gid: 1000 mealie | mealie | INFO 2026-11-02T23:47:37 - Started server process [1] mealie | INFO 2026-11-02T23:47:37 - Waiting for application startup. mealie | INFO 2026-11-02T23:47:37 - start: database initialization mealie | INFO 2026-11-02T23:47:37 - setup plugin alembic.autogenerate.schemas mealie | INFO 2026-11-02T23:47:37 - setup plugin alembic.autogenerate.tables mealie | INFO 2026-11-02T23:47:37 - setup plugin alembic.autogenerate.types mealie | INFO 2026-11-02T23:47:37 - setup plugin alembic.autogenerate.constraints mealie | INFO 2026-11-02T23:47:37 - setup plugin alembic.autogenerate.defaults mealie | INFO 2026-11-02T23:47:37 - setup plugin alembic.autogenerate.comments mealie | INFO 2026-11-02T23:47:37 - setup plugin alembic.ext.checkconstraint_byname mealie | INFO 2026-11-02T23:47:37 - Database connection established. mealie | INFO 2026-11-02T23:47:37 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:47:37 - Will assume non-transactional DDL. mealie | INFO 2026-11-02T23:47:37 - Migration needed. Performing migration... mealie | INFO 2026-11-02T23:47:37 - Context impl SQLiteImpl. mealie | INFO 2026-11-02T23:47:37 - Will assume non-transactional DDL. mealie | ERROR 2026-11-02T23:47:37 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | ERROR 2026-11-02T23:47:37 - Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 207, in _catch_revision_errors mealie | yield mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 426, in _upgrade_revs mealie | for script in reversed(list(revs)) mealie | ~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 807, in iterate_revisions mealie | revisions, heads = fn( mealie | ~~^ mealie | upper, mealie | ^^^^^^ mealie | ...<3 lines>... mealie | assert_relative_length=assert_relative_length, mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | ) mealie | ^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 1468, in _collect_upgrade_revisions mealie | current_revisions = self.get_revisions(lower) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 535, in get_revisions mealie | return sum([self.get_revisions(id_elem) for id_elem in id_], ()) mealie | ~~~~~~~~~~~~~~~~~~^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 558, in get_revisions mealie | return tuple( mealie | ^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 559, in mealie | self._revision_for_ident(rev_id, branch_label) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/revision.py", line 630, in _revision_for_ident mealie | raise ResolutionError( mealie | ...<11 lines>... mealie | ) mealie | alembic.script.revision.ResolutionError: No such revision or branch '071e03b4f851' mealie | mealie | The above exception was the direct cause of the following exception: mealie | mealie | Traceback (most recent call last): mealie | File "/opt/mealie/lib/python3.14/site-packages/starlette/routing.py", line 654, in lifespan mealie | async with self.lifespan_context(app) as maybe_state: mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/fastapi/routing.py", line 247, in merged_lifespan mealie | async with original_context(app) as maybe_original_state: mealie | ~~~~~~~~~~~~~~~~^^^^^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 214, in __aenter__ mealie | return await anext(self.gen) mealie | ^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/app.py", line 67, in lifespan_fn mealie | init_db.main() mealie | ~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/db/init_db.py", line 119, in main mealie | command.upgrade(alembic_cfg, "head") mealie | ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 487, in upgrade mealie | script.run_env() mealie | ~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 550, in run_env mealie | util.load_python_file(self.dir, "env.py") mealie | ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 114, in load_python_file mealie | module = load_module_py(module_id, path) mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/util/pyfiles.py", line 132, in load_module_py mealie | spec.loader.exec_module(module) # type: ignore mealie | ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ mealie | File "", line 763, in exec_module mealie | File "", line 491, in _call_with_frames_removed mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 109, in mealie | run_migrations_online() mealie | ~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/mealie/alembic/env.py", line 103, in run_migrations_online mealie | context.run_migrations() mealie | ~~~~~~~~~~~~~~~~~~~~~~^^ mealie | File "", line 8, in run_migrations mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/environment.py", line 970, in run_migrations mealie | self.get_context().run_migrations(**kw) mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/runtime/migration.py", line 604, in run_migrations mealie | for step in self._migrations_fn(heads, self): mealie | ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:47:37 - Application startup failed. Exiting. mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/command.py", line 476, in upgrade mealie | return script._upgrade_revs(revision, rev) mealie | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 414, in _upgrade_revs mealie | with self._catch_revision_errors( mealie | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ mealie | ancestor="Destination %(end)s is not a valid upgrade " mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | "target from current head(s)", mealie | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mealie | end=destination, mealie | ^^^^^^^^^^^^^^^^ mealie | ): mealie | ^ mealie | File "/usr/local/lib/python3.14/contextlib.py", line 162, in __exit__ mealie | self.gen.throw(value) mealie | ~~~~~~~~~~~~~~^^^^^^^ mealie | File "/opt/mealie/lib/python3.14/site-packages/alembic/script/base.py", line 239, in _catch_revision_errors mealie | raise util.CommandError(resolution) from re mealie | alembic.util.exc.CommandError: Can't locate revision identified by '071e03b4f851' mealie | mealie | ERROR 2026-11-02T23:47:37 - Application startup failed. Exiting.