Installation on an ultra.cc seedbox
Ultra.cc does not allow sudo, so we can't use the system packages. The bot also needs a Python with sqlite3, which it uses as a cache for screenshots and tracker searches: the Python that pyenv builds on ultra.cc doesn't have it, because the sqlite3 development files are missing.
The simplest way is uv: it installs without sudo, downloads a ready-made Python that already includes sqlite3 and installs the bot in its own environment. Nothing to compile.
1. Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Load the new PATH in the current session (or log out and back in over SSH):
source $HOME/.local/bin/env
2. Install the bot
uv tool install --python 3.12 ittup
uv downloads Python 3.12 by itself (the bot requires Python 3.10 minimum; 3.12 is recommended — newer versions are still too recent for some libraries). The ittup command ends up in ~/.local/bin.
3. Test the bot
ittup
The red messages warn you that the bot is not configured yet: continue with the minimal configuration.
Upgrade
uv tool upgrade ittup
Alternative: pyenv and sqlite3 compiled by hand
If you'd rather use the pyenv preinstalled on ultra.cc, you first have to compile sqlite3 in your home, otherwise Python is built without it and the bot stops with this Python was built without sqlite3.
Manual steps
Download, compile and install sqlite3 in ~/sqlite:
cd ~
wget https://sqlite.org/2026/sqlite-autoconf-3510300.tar.gz
tar xvf sqlite-autoconf-3510300.tar.gz
cd sqlite-autoconf-3510300
./configure --prefix=$HOME/sqlite
make
make install
Set the environment variables for this session only:
export PATH=$HOME/sqlite/bin:$PATH
export LDFLAGS="-L$HOME/sqlite/lib"
export CPPFLAGS="-I$HOME/sqlite/include"
export PKG_CONFIG_PATH="$HOME/sqlite/lib/pkgconfig"
export PYTHON_CONFIGURE_OPTS="--enable-loadable-sqlite-extensions"
export LD_LIBRARY_PATH=$HOME/sqlite/lib:$LD_LIBRARY_PATH
Install Python 3.12, set it as the default and install the bot:
pyenv install -f 3.12.0
pyenv global 3.12.0
pip install ittup
If pyenv is missing, install it with curl -fsSL https://pyenv.run | bash (instructions on the pyenv GitHub page).