I am trying to run the compose using podman in rootless mode. I see the following error,
[yubal] | [15:13:10] INFO uvicorn.error - Started server process [1]
[yubal] | INFO uvicorn.error - Waiting for application startup.
[yubal] | INFO yubal_api.api.app - Starting application...
[yubal] | [15:13:11] ERROR uvicorn.error - Traceback (most recent call last):
[yubal] | File
[yubal] | "/app/.venv/lib/python3.12/site-packages/starlette/routing.p
[yubal] | y", line 694, in lifespan
[yubal] | async with self.lifespan_context(app) as maybe_state:
[yubal] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[yubal] | File "/usr/local/lib/python3.12/contextlib.py", line 210,
[yubal] | in __aenter__
[yubal] | return await anext(self.gen)
[yubal] | ^^^^^^^^^^^^^^^^^^^^^
[yubal] | File
[yubal] | "/app/.venv/lib/python3.12/site-packages/fastapi/routing.py"
[yubal] | , line 201, in merged_lifespan
[yubal] | async with original_context(app) as
[yubal] | maybe_original_state:
[yubal] | ^^^^^^^^^^^^^^^^^^^^^
[yubal] | File "/usr/local/lib/python3.12/contextlib.py", line 210,
[yubal] | in __aenter__
[yubal] | return await anext(self.gen)
[yubal] | ^^^^^^^^^^^^^^^^^^^^^
[yubal] | File
[yubal] | "/app/.venv/lib/python3.12/site-packages/yubal_api/api/app.p
[yubal] | y", line 208, in lifespan
[yubal] | await asyncio.to_thread(run_migrations)
[yubal] | File "/usr/local/lib/python3.12/asyncio/threads.py", line
[yubal] | 25, in to_thread
[yubal] | return await loop.run_in_executor(None, func_call)
[yubal] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[yubal] | File
[yubal] | "/usr/local/lib/python3.12/concurrent/futures/thread.py",
[yubal] | line 59, in run
[yubal] | result = self.fn(*self.args, **self.kwargs)
[yubal] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[yubal] | File
[yubal] | "/app/.venv/lib/python3.12/site-packages/yubal_api/api/app.p
[yubal] | y", line 115, in run_migrations
[yubal] | command.upgrade(alembic_cfg, "head")
[yubal] | File
[yubal] | "/app/.venv/lib/python3.12/site-packages/alembic/command.py"
[yubal] | , line 483, in upgrade
[yubal] | script.run_env()
[yubal] | File
[yubal] | "/app/.venv/lib/python3.12/site-packages/alembic/script/base
[yubal] | .py", line 545, in run_env
[yubal] | util.load_python_file(self.dir, "env.py")
[yubal] | File
[yubal] | "/app/.venv/lib/python3.12/site-packages/alembic/util/pyfile
[yubal] | s.py", line 116, in load_python_file
[yubal] | module = load_module_py(module_id, path)
[yubal] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[yubal] | File
[yubal] | "/app/.venv/lib/python3.12/site-packages/alembic/util/pyfile
[yubal] | s.py", line 136, in load_module_py
[yubal] | spec.loader.exec_module(module) # type: ignore
[yubal] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[yubal] | File "<frozen importlib._bootstrap_external>", line 999,
[yubal] | in exec_module
[yubal] | File "<frozen importlib._bootstrap>", line 488, in
[yubal] | _call_with_frames_removed
[yubal] | File
[yubal] | "/app/.venv/lib/python3.12/site-packages/yubal_api/migration
[yubal] | s/env.py", line 18, in <module>
[yubal] | settings.db_path.parent.mkdir(parents=True,
[yubal] | exist_ok=True)
[yubal] | File "/usr/local/lib/python3.12/pathlib.py", line 1311, in
[yubal] | mkdir
[yubal] | os.mkdir(self, mode)
[yubal] | PermissionError: [Errno 13] Permission denied:
[yubal] | '/app/config/yubal'
[yubal] |
[yubal] | ERROR uvicorn.error - Application startup failed. Exiting.
The user I am running as has an ID of 1000, the same is set in the compose file. The directory mounted to the container is owned by the Id 1000.
$ uname -a
Linux frost 6.17.11-200.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Dec 9 00:25:56 UTC 2025 x86_64 GNU/Linux
$ getenforce
Disabled
$ cat /etc/*release* | head -3
Fedora release 42 (Adams)
NAME="Fedora Linux"
VERSION="42 (Server Edition)"
$ podman --version
podman version 5.7.0
$ podman info --format '{{.Host.Security.Rootless}}'
true
services:
yubal:
image: ghcr.io/guillevc/yubal:latest
container_name: yubal
environment:
YUBAL_SCHEDULER_CRON: "0 0 * * *"
YUBAL_DOWNLOAD_UGC: false
YUBAL_TZ: UTC
volumes:
- /mnt/TV/Music:/app/data:Z
- ./config:/app/config
restart: unless-stopped
Note: I was on an older version and that was working file, I pulled the latest image and then it broke.
I am trying to run the compose using podman in rootless mode. I see the following error,
The user I am running as has an ID of 1000, the same is set in the compose file. The directory mounted to the container is owned by the Id 1000.
System Details
Compose file
Note: I was on an older version and that was working file, I pulled the latest image and then it broke.