Installing Brewblox on Linux MInt

Hi
Havent been using my Brewblox in a while so was going to install it on a Intel NUC I have with Linux Mint 22.2 since I dont have a spare RPI. I have previous used other hardware than the RPI without problems. When I run wget -qO - https://www.brewblox.com/install | bash i get

INFO Brewblox dir is “/home/trond/brewblox”
INFO Brewblox release is “edge”
INFO Installing and uv
downloading uv 0.12.10 x86_64-unknown-linux-gnu
installing to /home/trond/.local/bin
uv
uvx
everything’s installed!
INFO Reloading shell environment…
main: line 106: /home/trond/.local/bin/env: No such file or directory

Brewblox directory is empty. Any suggestions?

Presumably your Linux Mint is a 64 bit installation and you updated prior to running the brewblox install?

If you go over to Discord, you will get help from Elco fairly quickly. Otherwise, I can let him know and he will check in here.

1 Like

It’s a 64bit installation and I updated before trying to install Brewblox.

Make sure Python 3 is installed and updated. Also, when I had this failure once, I had to delete the empty brewblox directory to get the install to work.

I’ve let Elco know over on Discord so hopefully you will hear from him shortly. He hasn’t responded to another failed update query for a few days so he may be away.

1 Like

Python is version 3.12.3. Also noticed Mint wasn’t updated to latest version. I was on 22.2 and latest was 22.3. Upgraded to latest but no difference.

Hopefully Elco will help you soon.

1 Like

While we wait for Elco, can you send the output of the following commands:

which uv
which uvx
ls ~/.local/bin/

1 Like

trond@MintNUC:~$ which uv
/home/trond/.local/bin/uv
trond@MintNUC:~$ which uvx
/home/trond/.local/bin/uvx
trond@MintNUC:~$ ls ~/.local/bin/
cmark lyrics mid3v2 mutagen-pony pytube3 uv
coloredlogs mid3cp moggsplit pygmentize tqdm uvx
humanfriendly mid3iconv mutagen-inspect pytube unidecode
trond@MintNUC:~$

Try running the installer again:

cd ~ && wget -qO - https://www.brewblox.com/install | bash

1 Like

same result

trond@MintNUC:~$ cd ~ && wget -qO - https://www.brewblox.com/install | bash
INFO Brewblox dir is “/home/trond/brewblox”
INFO Brewblox release is “edge”
INFO Installing and uv
downloading uv 0.12.13 x86_64-unknown-linux-gnu
installing to /home/trond/.local/bin
uv
uvx
everything’s installed!
INFO Reloading shell environment…
main: line 106: /home/trond/.local/bin/env: No such file or directory

Check this for me:

ls -la ~/brewblox/.venv/bin/

trond@MintNUC:~$ ls -la ~/brewblox/.venv/bin/
ls: cannot access ‘/home/trond/brewblox/.venv/bin/’: No such file or directory

Ah. That’s telling. Check these next:

ls -la ~/brewblox

ls -la ~/.local/bin/env

(Assuming the first command didn’t error):

cd ~/brewblox
uv --version
uv venv -v

Also, since you’re installing on Mint, let’s make sure you have all of the required packages. This command may do nothing and report they’re all installed, but worth a check:

sudo apt update && sudo apt install -y python3 python3-venv python3-pip git curl

After running all of these, double check this:

python3 -m venv --help

trond@MintNUC:~$ ls -la ~/brewblox
total 8
drwxrwxr-x 2 trond trond 4096 Sep 8 19:45 .
drwxr-xr-x 31 trond trond 4096 Sep 9 14:59 …
trond@MintNUC:~$ ls -la ~/.local/bin/env
ls: cannot access ‘/home/trond/.local/bin/env’: No such file or directory
trond@MintNUC:~$ cd ~/brewblox
trond@MintNUC:~/brewblox$ uv --version
uv 0.12.13 (x86_64-unknown-linux-gnu)
trond@MintNUC:~/brewblox$ uv venv -v
DEBUG Searching for user configuration in: /home/trond/.config/uv/uv.toml
DEBUG uv 0.12.13 (x86_64-unknown-linux-gnu)
DEBUG No Python version file found in ancestors of working directory: /home/trond/brewblox
DEBUG Searching for default Python interpreter in managed installations or search path
DEBUG Searching for managed installations at /home/trond/.local/share/uv/python
DEBUG Found cpython-3.12.3-linux-x86_64-gnu at /usr/bin/python (first executable in the search path)
Using CPython 3.12.3 interpreter at: /usr/bin/python
Creating virtual environment at: .venv
DEBUG Using base executable for virtual environment: /usr/bin/python
Activate with: source .venv/bin/activate
trond@MintNUC:~/brewblox$ sudo apt update && sudo apt install -y python3 python3-venv python3-pip git curl
[sudo] password for trond:
Hit:1 Index of /ubuntu noble-security InRelease
Hit:2 Index of /ubuntu noble InRelease
Hit:3 Index of /ubuntu noble-updates InRelease
Hit:4 Index of /ubuntu noble-backports InRelease
Ign:5 http://packages.linuxmint.com zena InRelease
Hit:6 http://packages.linuxmint.com zena Release
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
17 packages can be upgraded. Run ‘apt list --upgradable’ to see them.
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
python3 is already the newest version (3.12.3-0ubuntu2.1).
python3-pip is already the newest version (24.0+dfsg-1ubuntu1.3).
git is already the newest version (1:2.43.0-1ubuntu7.3).
curl is already the newest version (8.5.0-2ubuntu10.13).
The following packages were automatically installed and are no longer required:
libept1.6.0t64 libllvm19 linux-headers-5.15.0-153
linux-headers-5.15.0-153-generic linux-headers-5.4.0-216
linux-headers-5.4.0-216-generic linux-image-5.4.0-216-generic
linux-modules-5.4.0-216-generic linux-modules-extra-5.4.0-216-generic
mint-backgrounds-wilma python3-magic
Use ‘sudo apt autoremove’ to remove them.
The following additional packages will be installed:
libpython3.12-dev libpython3.12-minimal libpython3.12-stdlib
libpython3.12t64 python3-pip-whl python3-setuptools-whl python3.12
python3.12-dev python3.12-minimal python3.12-venv
Suggested packages:
python3.12-doc binfmt-support
The following packages will be REMOVED:
python-pip-whl
The following NEW packages will be installed:
python3-pip-whl python3-setuptools-whl python3-venv python3.12-venv
The following packages will be upgraded:
libpython3.12-dev libpython3.12-minimal libpython3.12-stdlib
libpython3.12t64 python3.12 python3.12-dev python3.12-minimal
7 upgraded, 4 newly installed, 1 to remove and 10 not upgraded.
Need to get 16,9 MB of archives.
After this operation, 460 kB of additional disk space will be used.
Get:1 Index of /ubuntu noble-updates/main amd64 python3.12-dev amd64 3.12.3-1ubuntu0.17 [498 kB]
Get:2 Index of /ubuntu noble-updates/main amd64 libpython3.12-dev amd64 3.12.3-1ubuntu0.17 [5 684 kB]
Get:3 Index of /ubuntu noble-updates/main amd64 libpython3.12t64 amd64 3.12.3-1ubuntu0.17 [2 348 kB]
Get:4 Index of /ubuntu noble-updates/main amd64 python3.12 amd64 3.12.3-1ubuntu0.17 [651 kB]
Get:5 Index of /ubuntu noble-updates/main amd64 libpython3.12-stdlib amd64 3.12.3-1ubuntu0.17 [2 071 kB]
Get:6 Index of /ubuntu noble-updates/main amd64 python3.12-minimal amd64 3.12.3-1ubuntu0.17 [2 335 kB]
Get:7 Index of /ubuntu noble-updates/main amd64 libpython3.12-minimal amd64 3.12.3-1ubuntu0.17 [839 kB]
Get:8 Index of /ubuntu noble-updates/universe amd64 python3-pip-whl all 24.0+dfsg-1ubuntu1.3 [1 707 kB]
Get:9 Index of /ubuntu noble-updates/universe amd64 python3-setuptools-whl all 68.1.2-2ubuntu1.2 [716 kB]
Get:10 Index of /ubuntu noble-updates/universe amd64 python3.12-venv amd64 3.12.3-1ubuntu0.17 [5 684 B]
Get:11 Index of /ubuntu noble-updates/universe amd64 python3-venv amd64 3.12.3-0ubuntu2.1 [1 032 B]
Fetched 16,9 MB in 0s (35,0 MB/s)
(Reading database… 534788 files and directories currently installed.)
Removing python-pip-whl (20.0.2-5ubuntu1.11)…
(Reading database… 534757 files and directories currently installed.)
Preparing to unpack …/00-python3.12-dev_3.12.3-1ubuntu0.17_amd64.deb…
Unpacking python3.12-dev (3.12.3-1ubuntu0.17) over (3.12.3-1ubuntu0.16)…
Preparing to unpack …/01-libpython3.12-dev_3.12.3-1ubuntu0.17_amd64.deb…
Unpacking libpython3.12-dev:amd64 (3.12.3-1ubuntu0.17) over (3.12.3-1ubuntu0.16)
…
Preparing to unpack …/02-libpython3.12t64_3.12.3-1ubuntu0.17_amd64.deb…
Unpacking libpython3.12t64:amd64 (3.12.3-1ubuntu0.17) over (3.12.3-1ubuntu0.16)…
Preparing to unpack …/03-python3.12_3.12.3-1ubuntu0.17_amd64.deb…
Unpacking python3.12 (3.12.3-1ubuntu0.17) over (3.12.3-1ubuntu0.16)…
Preparing to unpack …/04-libpython3.12-stdlib_3.12.3-1ubuntu0.17_amd64.deb…
Unpacking libpython3.12-stdlib:amd64 (3.12.3-1ubuntu0.17) over (3.12.3-1ubuntu0.
16)…
Preparing to unpack …/05-python3.12-minimal_3.12.3-1ubuntu0.17_amd64.deb…
Unpacking python3.12-minimal (3.12.3-1ubuntu0.17) over (3.12.3-1ubuntu0.16)…
Preparing to unpack …/06-libpython3.12-minimal_3.12.3-1ubuntu0.17_amd64.deb…
Unpacking libpython3.12-minimal:amd64 (3.12.3-1ubuntu0.17) over (3.12.3-1ubuntu0
.16)…
Selecting previously unselected package python3-pip-whl.
Preparing to unpack …/07-python3-pip-whl_24.0+dfsg-1ubuntu1.3_all.deb…
Unpacking python3-pip-whl (24.0+dfsg-1ubuntu1.3)…
Selecting previously unselected package python3-setuptools-whl.
Preparing to unpack …/08-python3-setuptools-whl_68.1.2-2ubuntu1.2_all.deb…
Unpacking python3-setuptools-whl (68.1.2-2ubuntu1.2)…
Selecting previously unselected package python3.12-venv.
Preparing to unpack …/09-python3.12-venv_3.12.3-1ubuntu0.17_amd64.deb…
Unpacking python3.12-venv (3.12.3-1ubuntu0.17)…
Selecting previously unselected package python3-venv.
Preparing to unpack …/10-python3-venv_3.12.3-0ubuntu2.1_amd64.deb…
Unpacking python3-venv (3.12.3-0ubuntu2.1)…
Setting up python3-setuptools-whl (68.1.2-2ubuntu1.2)…
Setting up python3-pip-whl (24.0+dfsg-1ubuntu1.3)…
Setting up libpython3.12-minimal:amd64 (3.12.3-1ubuntu0.17)…
Setting up python3.12-minimal (3.12.3-1ubuntu0.17)…
Setting up libpython3.12-stdlib:amd64 (3.12.3-1ubuntu0.17)…
Setting up python3.12 (3.12.3-1ubuntu0.17)…
Setting up libpython3.12t64:amd64 (3.12.3-1ubuntu0.17)…
Setting up python3.12-venv (3.12.3-1ubuntu0.17)…
Setting up libpython3.12-dev:amd64 (3.12.3-1ubuntu0.17)…
Setting up python3-venv (3.12.3-0ubuntu2.1)…
Setting up python3.12-dev (3.12.3-1ubuntu0.17)…
Processing triggers for gnome-menus (3.36.0-1.1ubuntu3)…
Processing triggers for libc-bin (2.39-0ubuntu8.8)…
Processing triggers for systemd (255.4-1ubuntu8.17)…
Processing triggers for man-db (2.12.0-4build2)…
Processing triggers for desktop-file-utils (0.27-2build1)…
trond@MintNUC:~/brewblox$ python3 -m venv --help
usage: venv [-h] [–system-site-packages] [–symlinks | --copies] [–clear]
[–upgrade] [–without-pip] [–prompt PROMPT] [–upgrade-deps]
ENV_DIR [ENV_DIR …]

Creates virtual Python environments in one or more target directories.

positional arguments:
ENV_DIR A directory to create the environment in.

options:
-h, --help show this help message and exit
–system-site-packages
Give the virtual environment access to the system
site-packages dir.
–symlinks Try to use symlinks rather than copies, when symlinks
are not the default for the platform.
–copies Try to use copies rather than symlinks, even when
symlinks are the default for the platform.
–clear Delete the contents of the environment directory if it
already exists, before environment creation.
–upgrade Upgrade the environment directory to use this version
of Python, assuming Python has been upgraded in-place.
–without-pip Skips installing or upgrading pip in the virtual
environment (pip is bootstrapped by default)
–prompt PROMPT Provides an alternative prompt prefix for this
environment.
–upgrade-deps Upgrade core dependencies (pip) to the latest version
in PyPI

Once an environment has been created, you may wish to activate it, e.g. by
sourcing an activate script in its bin directory.
trond@MintNUC:~/brewblox$

OK this is starting to look more and more like a discrepancy due to Linux Mint.

Try running these:

cd ~/brewblox

uv pip install --extra-index-url=https://www.piwheels.org/simple --index-strategy=unsafe-best-match "git+https://github.com/brewblox/brewblox-ctl@edge"

echo "release: edge" > ./brewblox.yml

uv run python3 -m brewblox_ctl install

This is effectively manually running the commands from the install script.

Once completed, check to see the env file was written:

ls -la ~/brewblox/.env

Let me know if there are any issues.

1 Like

Thanks :slight_smile:
A lot of stuff was installed

INFO All done!
trond@MintNUC:~/brewblox$ ls -la ~/brewblox/.env
-rw------- 1 trond trond 358 Sep 11 18:34 /home/trond/brewblox/.env

OK now what is the output of:

cd ~/brewblox && brewblox-ctl up

rond@MintNUC:~/brewblox$ brewblox-ctl up
[+] Running 8/9
:heavy_check_mark: Network brewblox_default Created 0.1s
:heavy_check_mark: Container brewblox-history-1 Started 1.1s
:heavy_check_mark: Container brewblox-eventbus-1 Started 1.2s
:heavy_check_mark: Container brewblox-auth-1 Started 0.6s
:heavy_check_mark: Container brewblox-victoria-1 Started 1.0s
:heavy_check_mark: Container brewblox-reflector-eno1-1 Started 0.8s
:heavy_check_mark: Container brewblox-redis-1 Started 1.2s
:heavy_check_mark: Container brewblox-ui-1 Started 1.3s
⠸ Container brewblox-traefik-1 Starting 1.4s
Error response from daemon: failed to set up container networking: driver failed programming external connectivity on endpoint brewblox-traefik-1 (30a97e3296abc075393239a3c0b07e2d0f9a676ddf0b357723f6b3acade74b11): failed to bind host port for 0.0.0.0:80:172.18.0.5:80/tcp: address already in use
ERROR Failed to start services, error: Command 'docker compose up -d ’ returned non-zero exit status 1.

Changed from port 80 to 81 in docker-compose.shared.yml and now its working. Also added the spark :slight_smile:
Thanks a lot for the help :+1:

Word of caution; brewblox-ctl update will overwrite docker-compose.shared.yml. Instead of modifying it there, do the following to update the config in a way that will persist.

  1. Revert back to the initial config
cd ~/brewblox
git checkout -- docker-compose.shared.yml
  1. Edit brewblox.yml
    nano ~/brewblox/brewblox.yml
  2. Add the following to the end of the file:
ports:
  http: 81
  1. Save the file, then apply the config
    brewblox-ctl config apply
1 Like