getumbrel / umbrel

A beautiful home server OS for self-hosting with an app store. Buy a pre-built Umbrel Home with umbrelOS, or install on a Raspberry Pi or any x86 system.
https://umbrel.com
Other
6.89k stars 508 forks source link

UmbrelOS install on Debian fails [solution found, needs review] #1778

Closed highghlow closed 2 months ago

highghlow commented 2 months ago

OS: Debian x64, just installed + installed sudo and curl

The UmbrelOS installation script fails while trying to install some pip libraries. This is caused by an update in pip, that disallows installing any packages through it, to protect the system (keyword: externally-managed-environment). If this system is deactivated by removing /usr/lib/python3.11/EXTERNALLY-MANAGED pip errors out with AttributeError: cython_sources <...> error: subprocess-exited-with-error.

highghlow commented 2 months ago

The issue seem to occur when installing docker-compose using pip in install_docker-compose. This package is packaged by Debian, so the code in this function could be replaced with

install_docker_compose() {
  sudo apt-get install --yes libffi-dev docker-compose
}

After this modification the installation succedes

Lexanger commented 2 months ago

Would a easier solution be to update the start script to use "docker compose" instead of docker-compose?

highghlow commented 2 months ago

Would a easier solution be to update the start script to use "docker compose" instead of docker-compose?

In my experience, docker compose never worked. Maybe they changed something, but this doesn't change the underlying issue

Lexanger commented 2 months ago

That’s interesting, I couldn’t get it to work with your changes but simply updating it to use docker compose worked instantly.

highghlow commented 2 months ago

That’s interesting, I couldn’t get it to work with your changes but simply updating it to use docker compose worked instantly.

Maybe it tries to use the faulty python library when you call docker-compose, but uses the proper one when you call docker compose