getumbrel/umbrel

Fail on starting docker (umbrelOS) Ubuntu

sal34 opened this issue · 5 comments

Hello, I've tried to install UmbrelOS on my fresh Ubuntu machine (5.15.0-101-generic #111~20.04.1-Ubuntu SMP Mon Mar 11 15:44:43 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux), by using this command "curl -L https://umbrel.sh/ | bash -s -- --install-path umbrel/". The version of UmbrelOS is 0.5.4. (is the latest for no RasberryPi devices) but it fail on boot.

Log of the download:

# curl -L https://umbrel.sh/ | bash -s -- --install-path umbrel/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    41  100    41    0     0     41      0  0:00:01 --:--:--  0:00:01    41
100   228  100   228    0     0    174      0  0:00:01  0:00:01 --:--:--   772
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  8090  100  8090    0     0  26096      0 --:--:-- --:--:-- --:--:-- 26096
About to install Umbrel in "umbrel/".
If you would like to install somewhere else you can specify a custom location with:

  curl -L https://umbrel.sh | bash -s -- --install-path /some/path

Waiting for 10 seconds...

You may press Ctrl+C now to abort the install.

It looks like you already have Docker installed. Umbrel requires a modern version of Docker so this script will update them with the official Docker install script.

If you would like to disable this behaviour you can abort this install and run again with --no-install-docker or --no-install-compose.

You can pass flags to the installer like this:

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

Waiting for 30 seconds...

You may press Ctrl+C now to abort the install.

Hit:1 http://it.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://it.archive.ubuntu.com/ubuntu focal-updates InRelease              
Hit:3 http://it.archive.ubuntu.com/ubuntu focal-backports InRelease            
Hit:4 https://download.docker.com/linux/ubuntu focal InRelease                 
Hit:5 http://security.ubuntu.com/ubuntu focal-security InRelease           
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gettext-base is already the newest version (0.19.8.1-10build1).
python3 is already the newest version (3.8.2-0ubuntu2).
fswatch is already the newest version (1.14.0+repack-13build1).
curl is already the newest version (7.68.0-1ubuntu2.22).
git is already the newest version (1:2.25.1-1ubuntu3.11).
gnupg is already the newest version (2.2.19-3ubuntu2.2).
rsync is already the newest version (3.1.3-8ubuntu0.7).
jq is already the newest version (1.6-1ubuntu0.20.04.1).
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libnss-mdns is already the newest version (0.14.1-1ubuntu1).
avahi-daemon is already the newest version (0.7-4ubuntu7.3).
avahi-discover is already the newest version (0.7-4ubuntu7.3).
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 9922k  100 9922k    0     0  1815k      0  0:00:05  0:00:05 --:--:-- 2343k
yq installed successfully...
# Executing docker install script, commit: e5543d473431b782227f8908005543bb4389b8de
Warning: the "docker" command appears to already exist on this system.

If you already have Docker installed, this script can cause trouble, which is
why we're displaying this warning and provide the opportunity to cancel the
installation.

If you installed the current Docker package using this script and are using it
again to update Docker, you can safely ignore this message.

You may press Ctrl+C now to abort this script.
+ sleep 20
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c install -m 0755 -d /etc/apt/keyrings
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
+ sh -c chmod a+r /etc/apt/keyrings/docker.gpg
+ sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
+ sh -c docker version
Client: Docker Engine - Community
 Version:           26.0.0
 API version:       1.45
 Go version:        go1.21.8
 Git commit:        2ae903e
 Built:             Wed Mar 20 15:17:51 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          26.0.0
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.8
  Git commit:       8b79278
  Built:            Wed Mar 20 15:17:51 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

================================================================================

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:

    dockerd-rootless-setuptool.sh install

Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.


To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/

WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

================================================================================

Reading package lists... Done
Building dependency tree       
Reading state information... Done
libffi-dev is already the newest version (3.3-4).
python3-pip is already the newest version (20.0.2-5ubuntu1.10).
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
Collecting pip
  Downloading pip-24.0-py3-none-any.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 2.3 MB/s 
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
    Can't uninstall 'pip'. No files were found to uninstall.
Successfully installed pip-24.0
Requirement already satisfied: docker-compose in /usr/local/lib/python3.8/dist-packages (1.29.2)
Requirement already satisfied: PyYAML<6,>=3.10 in /usr/lib/python3/dist-packages (from docker-compose) (5.3.1)
Requirement already satisfied: distro<2,>=1.5.0 in /usr/local/lib/python3.8/dist-packages (from docker-compose) (1.9.0)
Requirement already satisfied: docker>=5 in /usr/local/lib/python3.8/dist-packages (from docker[ssh]>=5->docker-compose) (7.0.0)
Requirement already satisfied: dockerpty<1,>=0.4.1 in /usr/local/lib/python3.8/dist-packages (from docker-compose) (0.4.1)
Requirement already satisfied: docopt<1,>=0.6.1 in /usr/local/lib/python3.8/dist-packages (from docker-compose) (0.6.2)
Requirement already satisfied: jsonschema<4,>=2.5.1 in /usr/local/lib/python3.8/dist-packages (from docker-compose) (3.2.0)
Requirement already satisfied: python-dotenv<1,>=0.13.0 in /usr/local/lib/python3.8/dist-packages (from docker-compose) (0.21.1)
Requirement already satisfied: requests<3,>=2.20.0 in /usr/lib/python3/dist-packages (from docker-compose) (2.22.0)
Requirement already satisfied: texttable<2,>=0.9.0 in /usr/local/lib/python3.8/dist-packages (from docker-compose) (1.7.0)
Requirement already satisfied: websocket-client<1,>=0.32.0 in /usr/local/lib/python3.8/dist-packages (from docker-compose) (0.59.0)
Requirement already satisfied: packaging>=14.0 in /usr/local/lib/python3.8/dist-packages (from docker>=5->docker[ssh]>=5->docker-compose) (24.0)
Collecting requests<3,>=2.20.0 (from docker-compose)
  Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Requirement already satisfied: urllib3>=1.26.0 in /usr/local/lib/python3.8/dist-packages (from docker>=5->docker[ssh]>=5->docker-compose) (2.2.1)
Requirement already satisfied: paramiko>=2.4.3 in /usr/local/lib/python3.8/dist-packages (from docker[ssh]>=5->docker-compose) (3.4.0)
Requirement already satisfied: six>=1.3.0 in /usr/lib/python3/dist-packages (from dockerpty<1,>=0.4.1->docker-compose) (1.14.0)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema<4,>=2.5.1->docker-compose) (23.2.0)
Requirement already satisfied: pyrsistent>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema<4,>=2.5.1->docker-compose) (0.20.0)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from jsonschema<4,>=2.5.1->docker-compose) (45.2.0)
Collecting charset-normalizer<4,>=2 (from requests<3,>=2.20.0->docker-compose)
  Downloading charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (33 kB)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests<3,>=2.20.0->docker-compose) (2.8)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests<3,>=2.20.0->docker-compose) (2019.11.28)
Requirement already satisfied: bcrypt>=3.2 in /usr/local/lib/python3.8/dist-packages (from paramiko>=2.4.3->docker[ssh]>=5->docker-compose) (4.1.2)
Requirement already satisfied: cryptography>=3.3 in /usr/local/lib/python3.8/dist-packages (from paramiko>=2.4.3->docker[ssh]>=5->docker-compose) (42.0.5)
Requirement already satisfied: pynacl>=1.5 in /usr/local/lib/python3.8/dist-packages (from paramiko>=2.4.3->docker[ssh]>=5->docker-compose) (1.5.0)
Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.8/dist-packages (from cryptography>=3.3->paramiko>=2.4.3->docker[ssh]>=5->docker-compose) (1.16.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.8/dist-packages (from cffi>=1.12->cryptography>=3.3->paramiko>=2.4.3->docker[ssh]>=5->docker-compose) (2.22)
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 2.4 MB/s eta 0:00:00
Downloading charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (141 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 141.1/141.1 kB 2.5 MB/s eta 0:00:00
Installing collected packages: charset-normalizer, requests
  Attempting uninstall: requests
    Found existing installation: requests 2.22.0
    Uninstalling requests-2.22.0:
      Successfully uninstalled requests-2.22.0
Successfully installed charset-normalizer-3.3.2 requests-2.31.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 12.6M    0 12.6M    0     0  1723k      0 --:--:--  0:00:07 --:--:-- 1724k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 34.9M  100 34.9M    0     0  1568k      0  0:00:22  0:00:22 --:--:-- 1076k

[Unit]
Wants=network-online.target
After=network-online.target
Wants=docker.service
After=docker.service

# This prevents us hitting restart rate limits and ensures we keep restarting
# indefinitely.
StartLimitInterval=0

[Service]
Type=forking
TimeoutStartSec=infinity
TimeoutStopSec=16min
ExecStart=umbrel//scripts/start
ExecStop=umbrel//scripts/stop
User=root
Group=root
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=umbrel startup
RemainAfterExit=yes
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
Skipping status update when not on Umbrel OS

======================================
============ CONFIGURING =============
=============== UMBREL ===============
======================================

Generating auth credentials

Generating Tor password

Configuring permissions...

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/local/bin/docker-compose", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/dist-packages/compose/cli/main.py", line 81, in main
    command_func()
  File "/usr/local/lib/python3.8/dist-packages/compose/cli/main.py", line 200, in perform_command
    project = project_from_options('.', options)
  File "/usr/local/lib/python3.8/dist-packages/compose/cli/command.py", line 60, in project_from_options
    return get_project(
  File "/usr/local/lib/python3.8/dist-packages/compose/cli/command.py", line 152, in get_project
    client = get_client(
  File "/usr/local/lib/python3.8/dist-packages/compose/cli/docker_client.py", line 41, in get_client
    client = docker_client(
  File "/usr/local/lib/python3.8/dist-packages/compose/cli/docker_client.py", line 124, in docker_client
    kwargs = kwargs_from_env(environment=environment, ssl_version=tls_version)
TypeError: kwargs_from_env() got an unexpected keyword argument 'ssl_version'
Failed to start containers
Skipping status update when not on Umbrel OS

Can reproduce on Debian 11 and Ubuntu 22.04

@samiy803

I've tried Ubuntu 22.04 Server but it gives the same error, now I will try Debian 11.

@samiy803
Debian 11.9.0 is fine, right?

Not sure about Debian 11.9.0. I ran it on 11.3 with the same problem. I also tried Debian 12 but got a completely different problem.

Sorry for the issue folks. It's now been fixed by #1780.