#!/bin/bash # Rendera Linux Installer set -e # ------------------------------------------------------------ # 0. Ensure python3-venv is installed (required) # ------------------------------------------------------------ if ! python3 -m venv --help &>/dev/null; then echo ">> Installing python3-venv (required)..." sudo apt update && sudo apt install -y python3-venv fi INSTALL_DIR="${HOME}/.local/share/rendera" BIN_DIR="${HOME}/.local/bin" mkdir -p "${INSTALL_DIR}" "${BIN_DIR}" # ------------------------------------------------------------ # 1. Download the latest worker package # ------------------------------------------------------------ echo ">> Downloading Rendera..." curl -L -o /tmp/rendera-linux.tar.gz "https://reen.live/api/worker/download/linux-package" # ------------------------------------------------------------ # 2. Extract to ~/.local/share/rendera # ------------------------------------------------------------ echo ">> Extracting to ${INSTALL_DIR}..." tar -xzf /tmp/rendera-linux.tar.gz -C "${INSTALL_DIR}" --strip-components=1 rm /tmp/rendera-linux.tar.gz # ------------------------------------------------------------ # 3. Make Blender executable # ------------------------------------------------------------ chmod +x "${INSTALL_DIR}/blender/blender" # ------------------------------------------------------------ # 4. Create virtual environment and install dependencies # ------------------------------------------------------------ python3 -m venv "${INSTALL_DIR}/venv" source "${INSTALL_DIR}/venv/bin/activate" pip install -q websocket-client requests psutil deactivate # ------------------------------------------------------------ # 5. Create 'reen' command # ------------------------------------------------------------ cat > "${BIN_DIR}/reen" << 'EOF' #!/bin/bash RENDERA_HOME="${HOME}/.local/share/rendera" source "${RENDERA_HOME}/venv/bin/activate" python "${RENDERA_HOME}/worker_node.py" "$@" EOF chmod +x "${BIN_DIR}/reen" # ------------------------------------------------------------ # 6. Ensure ~/.local/bin is in PATH # ------------------------------------------------------------ if [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then echo 'PATH="$HOME/.local/bin:$PATH"' >> "${HOME}/.bashrc" echo 'PATH="$HOME/.local/bin:$PATH"' >> "${HOME}/.profile" export PATH="$HOME/.local/bin:$PATH" echo ">> Added ~/.local/bin to PATH. Restart your terminal or run 'source ~/.bashrc'." fi echo ">> Installation complete! Use 'reen' to start the worker."