Umbrel on Debian 12?

I just installed Debian 12.0 Bookwork to install umbrel 0.5.3, after I had it in debian 11, but when I run the umbrel curl script to install the umbrel server; half after the process I got an external environment error referring to the python3.

It is a known error that since debian 12.0 is so new, the umbrel script does not work or there is a walk-through to fix that?

1 Like

Can you please give us the complete error message?

Same here. Clean Debian 12 install. This is the error message:

error: externally-managed-environment

Γ— This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.

If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.

If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.

See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Β‘Thanks!

That’s exactly the error I’ve got every time I try to install umbrel with debian 12.

same error here, waiting for a response

The problem is that python is managed by debian.

More information and a fix for this can be found on stackoverflow python - How do I solve "error: externally-managed-environment" every time I use pip 3? - Stack Overflow

My plan is also to setup a new node on debian.

So I can provide a answer to this next week or so :slight_smile:

Bump into this with Ubuntu 23.04;

If this is a single purpose node, probably just:

sudo sh -c 'echo "PIP_BREAK_SYSTEM_PACKAGES=1" >> /etc/environment'

To bypass the PEP 668 at system-wide level.

Gather some notes in this gist

1 Like

Any updates on this?

It’s all screwed up at the moment. You can fix pip with:

sudo mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old

… but installation of docker is currently borked. lol

I still cannot get Umbrel to install on Debian 12. It appears they’ve updated the installation script, and it definitely proceeds further, but still craps out:

Configuration successful
You can now start Umbrel by running:
  sudo ./scripts/start


======================================
============= STARTING ===============
============== UMBREL ================
======================================

Setting environment variables...

Starting karen...

Starting status monitors...
Starting memory monitor...

Starting backup monitor...

Starting decoy backup trigger...

Starting umbreld...


Starting Docker services...

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 33, in <module>
    sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/bin/docker-compose", line 25, in importlib_load_entry_point
    return next(matches).load()
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/metadata/__init__.py", line 202, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1137, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'compose.cli'; 'compose' is not a package
Failed to start containers
Skipping status update when not on Umbrel OS
root@Umbrel:~#

Okay… sooooo… Is this community dead or what? Has anyone yet been successful in getting Umbrel to install on Debian 12?

Hi @ctrlbreak

Can you please try the following
For a workaround I found this one the easiest way:

  1. Run the command (this will add all the repos needed)
    curl -L https://umbrel.sh | bash
  2. After the error manually install Docker and docker-compose:

sudo apt install docker docker-compose

  1. Install Umbrel without docker:

curl -L https://umbrel.sh | bash -s -- --no-install-docker --no-install-compose

Actually neither with Debian 12.1, nor with Ubuntu 23.04 is working. If we want to use Umbrel we need an older version of Debian.

Nope. Same issue.

Well, that’s unfortunate.

I was curious enough to allocate resources and stand up a VM to try this out. This is about the limit of effort/cycles I have to check out this project, and I’m not spinning up another one.

I’ll wait until it installs and runs properly on Debian 12 it appears. I’ll check back in a month perhaps.

Sorry to hear that. If it’s just a VM, I’ve never had any issues setting it up with Debian 11 or Ubuntu 22 LTS- easy as pie