uv installs to ~/.local/bin which is not in PATH for systemd services,
and keeping uv updated on Ubuntu requires manual steps outside of apt.
Switch to a plain Python venv with pip-tools for dependency locking.
- Replace uv venv/sync with python3 -m venv --system-site-packages
- Generate requirements.txt with pip-compile from pyproject.toml
- Update service ExecStart to use .venv/bin/python directly
- Remove uv.lock and [tool.uv] from pyproject.toml
- Update README to document venv+pip-tools workflow
Run as the current user instead of a dedicated system user, using
systemd user service in ~/.config/systemd/user/. This avoids needing
root for setup and keeps uv and the project in the user's home
directory. Rename service file to matrix-paperless-ingest.service.