# Umbrel on Debian 12?

**URL:** <https://community.umbrel.com/t/umbrel-on-debian-12/12730>\
**Category:** Support and Troubleshooting\
**Created:** [June 12, 2023, 4:08am UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730 "2023-06-12T04:08:41Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![javo](https://avatars.discourse-cdn.com/v4/letter/j/e0b2c6/32.png) [@javo](https://community.umbrel.com/u/javo)\
**Post date:** [June 12, 2023, 4:08am UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/1 "2023-06-12T04:08:41Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![rieger\_san](https://avatars.discourse-cdn.com/v4/letter/r/dbc845/32.png) [@rieger\_san](https://community.umbrel.com/u/rieger_san)\
**Post date:** [June 12, 2023, 6:13am UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/2 "2023-06-12T06:13:26Z")

</div>

Can you please give us the complete error message?

---

<div class="post-metadata">

**Author:** ![pierre-jos](https://avatars.discourse-cdn.com/v4/letter/p/b19c9b/32.png) [@pierre-jos](https://community.umbrel.com/u/pierre-jos)\
**Post date:** [June 12, 2023, 11:56pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/3 "2023-06-12T23:56:09Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![javo](https://avatars.discourse-cdn.com/v4/letter/j/e0b2c6/32.png) [@javo](https://community.umbrel.com/u/javo)\
**Post date:** [June 13, 2023, 3:24am UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/4 "2023-06-13T03:24:52Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![huntercomh](https://avatars.discourse-cdn.com/v4/letter/h/8797f3/32.png) [@huntercomh](https://community.umbrel.com/u/huntercomh)\
**Post date:** [June 13, 2023, 4:09pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/5 "2023-06-13T16:09:06Z")

</div>

same error here, waiting for a response

---

<div class="post-metadata">

**Author:** ![rieger\_san](https://avatars.discourse-cdn.com/v4/letter/r/dbc845/32.png) [@rieger\_san](https://community.umbrel.com/u/rieger_san)\
**Post date:** [June 14, 2023, 7:08am UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/6 "2023-06-14T07:08:14Z")

</div>

> [@pierre-jos](#):
>
> This environment is externally managed

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](https://stackoverflow.com/questions/75608323/how-do-i-solve-error-externally-managed-environment-everytime-i-use-pip3)

---

<div class="post-metadata">

**Author:** ![rieger\_san](https://avatars.discourse-cdn.com/v4/letter/r/dbc845/32.png) [@rieger\_san](https://community.umbrel.com/u/rieger_san)\
**Post date:** [June 14, 2023, 5:08pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/7 "2023-06-14T17:08:47Z")

</div>

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

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

---

<div class="post-metadata">

**Author:** ![kaxing](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/kaxing/32/3875_2.png) [@kaxing](https://community.umbrel.com/u/kaxing)\
**Post date:** [June 17, 2023, 10:50am UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/8 "2023-06-17T10:50:24Z")

</div>

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](https://gist.github.com/kaxing/d555eace5e74f42b842912cfbc4a323a)

---

<div class="post-metadata">

**Author:** ![franciscojs](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/franciscojs/32/4485_2.png) [@franciscojs](https://community.umbrel.com/u/franciscojs)\
**Post date:** [July 11, 2023, 8:33pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/9 "2023-07-11T20:33:51Z")

</div>

Any updates on this?

---

<div class="post-metadata">

**Author:** ![ctrlbreak](https://avatars.discourse-cdn.com/v4/letter/c/7c8e57/32.png) [@ctrlbreak](https://community.umbrel.com/u/ctrlbreak)\
**Post date:** [July 22, 2023, 5:23pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/10 "2023-07-22T17:23:54Z")

</div>

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

> <https://github.com/docker/compose/issues/10836>
>
> \### Description
> 
> Hey, I've just had an issue when doing \`pip install docker-comp…ose\`. The output below:
> 
> \`\`\`
> pip install docker-compose
> 
> Collecting docker-compose
> 
> Downloading docker\_compose-1.29.2-py2.py3-none-any.whl (114 kB)
> 
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 114.8/114.8 kB 4.5 MB/s eta 0:00:00
> 
> Collecting PyYAML\<6,\>=3.10 (from docker-compose)
> 
> Downloading PyYAML-5.4.1.tar.gz (175 kB)
> 
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.1/175.1 kB 50.2 MB/s eta 0:00:00
> 
> Installing build dependencies: started
> 
> Installing build dependencies: finished with status 'done'
> 
> Getting requirements to build wheel: started
> 
> Getting requirements to build wheel: finished with status 'error'
> 
> error: subprocess-exited-with-error
> 
>   
> 
> × Getting requirements to build wheel did not run successfully.
> 
> │ exit code: 1
> 
> ╰─\> \[68 lines of output\]
> 
> /tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py:293: \_DeprecatedConfig: Deprecated config in \`setup.cfg\`
> 
> !!
> 
>       
> 
> \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
> 
> The license\_file parameter is deprecated, use license\_files instead.
> 
>       
> 
> By 2023-Oct-30, you need to update your project and remove deprecated calls
> 
> or your builds will no longer be supported.
> 
>       
> 
> See https://setuptools.pypa.io/en/latest/userguide/declarative\_config.html for details.
> 
> \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
> 
>       
> 
> !!
> 
> parsed = self.parsers.get(option\_name, lambda x: x)(value)
> 
> running egg\_info
> 
> writing lib3/PyYAML.egg-info/PKG-INFO
> 
> writing dependency\_links to lib3/PyYAML.egg-info/dependency\_links.txt
> 
> writing top-level names to lib3/PyYAML.egg-info/top\_level.txt
> 
> Traceback (most recent call last):
> 
> File "/usr/local/lib/python3.11/site-packages/pip/\_vendor/pyproject\_hooks/\_in\_process/\_in\_process.py", line 353, in \<module\>
> 
> main()
> 
> File "/usr/local/lib/python3.11/site-packages/pip/\_vendor/pyproject\_hooks/\_in\_process/\_in\_process.py", line 335, in main
> 
> json\_out\['return\_val'\] = hook(\*\*hook\_input\['kwargs'\])
> 
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> File "/usr/local/lib/python3.11/site-packages/pip/\_vendor/pyproject\_hooks/\_in\_process/\_in\_process.py", line 118, in get\_requires\_for\_build\_wheel
> 
> return hook(config\_settings)
> 
> ^^^^^^^^^^^^^^^^^^^^^
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/build\_meta.py", line 341, in get\_requires\_for\_build\_wheel
> 
> return self.\_get\_build\_requires(config\_settings, requirements=\['wheel'\])
> 
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/build\_meta.py", line 323, in \_get\_build\_requires
> 
> self.run\_setup()
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/build\_meta.py", line 338, in run\_setup
> 
> exec(code, locals())
> 
> File "\<string\>", line 271, in \<module\>
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/\_\_init\_\_.py", line 107, in setup
> 
> return distutils.core.setup(\*\*attrs)
> 
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/\_distutils/core.py", line 185, in setup
> 
> return run\_commands(dist)
> 
> ^^^^^^^^^^^^^^^^^^
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/\_distutils/core.py", line 201, in run\_commands
> 
> dist.run\_commands()
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/\_distutils/dist.py", line 969, in run\_commands
> 
> self.run\_command(cmd)
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run\_command
> 
> super().run\_command(command)
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/\_distutils/dist.py", line 988, in run\_command
> 
> cmd\_obj.run()
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/egg\_info.py", line 314, in run
> 
> self.find\_sources()
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/egg\_info.py", line 322, in find\_sources
> 
> mm.run()
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/egg\_info.py", line 551, in run
> 
> self.add\_defaults()
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/egg\_info.py", line 589, in add\_defaults
> 
> sdist.add\_defaults(self)
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/command/sdist.py", line 104, in add\_defaults
> 
> super().add\_defaults()
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/\_distutils/command/sdist.py", line 251, in add\_defaults
> 
> self.\_add\_defaults\_ext()
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/\_distutils/command/sdist.py", line 336, in \_add\_defaults\_ext
> 
> self.filelist.extend(build\_ext.get\_source\_files())
> 
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> File "\<string\>", line 201, in get\_source\_files
> 
> File "/tmp/pip-build-env-iksw8bm8/overlay/lib/python3.11/site-packages/setuptools/\_distutils/cmd.py", line 107, in \_\_getattr\_\_
> 
> raise AttributeError(attr)
> 
> AttributeError: cython\_sources
> 
> \[end of output\]
> 
>   
> 
> note: This error originates from a subprocess, and is likely not a problem with pip.
> 
> error: subprocess-exited-with-error
> 
> × Getting requirements to build wheel did not run successfully.
> 
> │ exit code: 1
> 
> ╰─\> See above for output.
> 
> note: This error originates from a subprocess, and is likely not a problem with pip.
> 
> \[notice\] A new release of pip is available: 23.1.2 -\> 23.2
> 
> \[notice\] To update, run: pip install --upgrade pip
> \`\`\`
> 
> The issue is related to this PyYAML issue: https://github.com/yaml/pyyaml/issues/724.
> 
> The PyYAML version 6.0.1 has the fix, but pip install docker-compose tries to install PyYAML \< 6.0.
> 
> Could we bump the PyYAML version?
> 
> \### Steps To Reproduce
> 
> \_No response\_
> 
> \### Compose Version
> 
> \_No response\_
> 
> \### Docker Environment
> 
> \_No response\_
> 
> \### Anything else?
> 
> \_No response\_

---

<div class="post-metadata">

**Author:** ![ctrlbreak](https://avatars.discourse-cdn.com/v4/letter/c/7c8e57/32.png) [@ctrlbreak](https://community.umbrel.com/u/ctrlbreak)\
**Post date:** [August 19, 2023, 4:29pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/11 "2023-08-19T16:29:41Z")

</div>

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:

```auto
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:~#

```

---

<div class="post-metadata">

**Author:** ![ctrlbreak](https://avatars.discourse-cdn.com/v4/letter/c/7c8e57/32.png) [@ctrlbreak](https://community.umbrel.com/u/ctrlbreak)\
**Post date:** [August 30, 2023, 7:26pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/12 "2023-08-30T19:26:25Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![smolgrrr](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/smolgrrr/32/2825_2.png) [@smolgrrr](https://community.umbrel.com/u/smolgrrr)\
**Post date:** [August 30, 2023, 10:59pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/13 "2023-08-30T22:59:03Z")

</div>

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`

---

<div class="post-metadata">

**Author:** ![javo](https://avatars.discourse-cdn.com/v4/letter/j/e0b2c6/32.png) [@javo](https://community.umbrel.com/u/javo)\
**Post date:** [August 30, 2023, 11:41pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/14 "2023-08-30T23:41:09Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![ctrlbreak](https://avatars.discourse-cdn.com/v4/letter/c/7c8e57/32.png) [@ctrlbreak](https://community.umbrel.com/u/ctrlbreak)\
**Post date:** [August 31, 2023, 2:11pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/15 "2023-08-31T14:11:54Z")

</div>

> [@smolgrrr](#):
>
> curl -L [https://umbrel.sh](https://umbrel.sh) | bash -s – --no-install-docker --no-install-compose

Nope. Same issue.

---

<div class="post-metadata">

**Author:** ![ctrlbreak](https://avatars.discourse-cdn.com/v4/letter/c/7c8e57/32.png) [@ctrlbreak](https://community.umbrel.com/u/ctrlbreak)\
**Post date:** [August 31, 2023, 2:13pm UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/16 "2023-08-31T14:13:51Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![smolgrrr](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/smolgrrr/32/2825_2.png) [@smolgrrr](https://community.umbrel.com/u/smolgrrr)\
**Post date:** [September 1, 2023, 1:50am UTC](https://community.umbrel.com/t/umbrel-on-debian-12/12730/17 "2023-09-01T01:50:32Z")

</div>

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
