=====================================================
Ollama Proxy Fortress Installer & Runner
=====================================================
[INFO] Performing initial system checks...
[SUCCESS] Python 3, pip, and venv are available.
[INFO] Setup state is 0/3. Starting or resuming installation...
=====================================================
--- [Step 1/3] Creating Python Virtual Environment ---
=====================================================
[SUCCESS] Virtual environment created.
=====================================================
--- [Step 2/3] Installing Python Dependencies ---
=====================================================
Collecting bcrypt==4.1.3 (from -r requirements.txt (line 1))
Downloading bcrypt-4.1.3-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (9.5 kB)
Collecting fastapi==0.111.0 (from -r requirements.txt (line 2))
Downloading fastapi-0.111.0-py3-none-any.whl.metadata (25 kB)
Collecting gunicorn==23.0.0 (from -r requirements.txt (line 3))
Downloading gunicorn-23.0.0-py3-none-any.whl.metadata (4.4 kB)
Collecting httpx==0.27.0 (from -r requirements.txt (line 4))
Downloading httpx-0.27.0-py3-none-any.whl.metadata (7.2 kB)
Collecting itsdangerous==2.2.0 (from -r requirements.txt (line 5))
Downloading itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
Collecting Jinja2==3.1.4 (from -r requirements.txt (line 6))
Downloading jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting pydantic==2.7.4 (from -r requirements.txt (line 7))
Downloading pydantic-2.7.4-py3-none-any.whl.metadata (109 kB)
Collecting pydantic-settings==2.3.4 (from -r requirements.txt (line 8))
Downloading pydantic_settings-2.3.4-py3-none-any.whl.metadata (3.3 kB)
Collecting python-json-logger==2.0.7 (from -r requirements.txt (line 9))
Downloading python_json_logger-2.0.7-py3-none-any.whl.metadata (6.5 kB)
Collecting python-multipart==0.0.18 (from -r requirements.txt (line 10))
Downloading python_multipart-0.0.18-py3-none-any.whl.metadata (1.8 kB)
Collecting redis==5.0.7 (from -r requirements.txt (line 11))
Downloading redis-5.0.7-py3-none-any.whl.metadata (9.3 kB)
Collecting SQLAlchemy==2.0.31 (from -r requirements.txt (line 12))
Downloading SQLAlchemy-2.0.31-py3-none-any.whl.metadata (9.6 kB)
Collecting uvicorn==0.30.1 (from -r requirements.txt (line 13))
Downloading uvicorn-0.30.1-py3-none-any.whl.metadata (6.3 kB)
Collecting aiosqlite==0.20.0 (from -r requirements.txt (line 14))
Downloading aiosqlite-0.20.0-py3-none-any.whl.metadata (4.3 kB)
Collecting passlib==1.7.4 (from passlib[bcrypt]==1.7.4->-r requirements.txt (line 15))
Downloading passlib-1.7.4-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting starlette<0.38.0,>=0.37.2 (from fastapi==0.111.0->-r requirements.txt (line 2))
Downloading starlette-0.37.2-py3-none-any.whl.metadata (5.9 kB)
Collecting typing-extensions>=4.8.0 (from fastapi==0.111.0->-r requirements.txt (line 2))
Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
Collecting fastapi-cli>=0.0.2 (from fastapi==0.111.0->-r requirements.txt (line 2))
Downloading fastapi_cli-0.0.10-py3-none-any.whl.metadata (6.3 kB)
Collecting ujson!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,>=4.0.1 (from fastapi==0.111.0->-r requirements.txt (line 2))
Downloading ujson-5.11.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (9.4 kB)
Collecting orjson>=3.2.1 (from fastapi==0.111.0->-r requirements.txt (line 2))
Downloading orjson-3.11.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (41 kB)
Collecting email_validator>=2.0.0 (from fastapi==0.111.0->-r requirements.txt (line 2))
Downloading email_validator-2.3.0-py3-none-any.whl.metadata (26 kB)
Collecting annotated-types>=0.4.0 (from pydantic==2.7.4->-r requirements.txt (line 7))
Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.18.4 (from pydantic==2.7.4->-r requirements.txt (line 7))
Downloading pydantic_core-2.18.4.tar.gz (385 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting packaging (from gunicorn==23.0.0->-r requirements.txt (line 3))
Downloading packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting anyio (from httpx==0.27.0->-r requirements.txt (line 4))
Downloading anyio-4.10.0-py3-none-any.whl.metadata (4.0 kB)
Collecting certifi (from httpx==0.27.0->-r requirements.txt (line 4))
Downloading certifi-2025.8.3-py3-none-any.whl.metadata (2.4 kB)
Collecting httpcore==1.* (from httpx==0.27.0->-r requirements.txt (line 4))
Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)
Collecting idna (from httpx==0.27.0->-r requirements.txt (line 4))
Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting sniffio (from httpx==0.27.0->-r requirements.txt (line 4))
Downloading sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
Collecting MarkupSafe>=2.0 (from Jinja2==3.1.4->-r requirements.txt (line 6))
Downloading MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
Collecting python-dotenv>=0.21.0 (from pydantic-settings==2.3.4->-r requirements.txt (line 8))
Downloading python_dotenv-1.1.1-py3-none-any.whl.metadata (24 kB)
Collecting click>=7.0 (from uvicorn==0.30.1->-r requirements.txt (line 13))
Downloading click-8.2.1-py3-none-any.whl.metadata (2.5 kB)
Collecting h11>=0.8 (from uvicorn==0.30.1->-r requirements.txt (line 13))
Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)
Collecting dnspython>=2.0.0 (from email_validator>=2.0.0->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading dnspython-2.7.0-py3-none-any.whl.metadata (5.8 kB)
Collecting typer>=0.15.1 (from fastapi-cli>=0.0.2->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading typer-0.17.4-py3-none-any.whl.metadata (15 kB)
Collecting rich-toolkit>=0.14.8 (from fastapi-cli>=0.0.2->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading rich_toolkit-0.15.1-py3-none-any.whl.metadata (1.0 kB)
Collecting rich>=13.7.1 (from rich-toolkit>=0.14.8->fastapi-cli>=0.0.2->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading rich-14.1.0-py3-none-any.whl.metadata (18 kB)
Collecting markdown-it-py>=2.2.0 (from rich>=13.7.1->rich-toolkit>=0.14.8->fastapi-cli>=0.0.2->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading markdown_it_py-4.0.0-py3-none-any.whl.metadata (7.3 kB)
Collecting pygments<3.0.0,>=2.13.0 (from rich>=13.7.1->rich-toolkit>=0.14.8->fastapi-cli>=0.0.2->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading pygments-2.19.2-py3-none-any.whl.metadata (2.5 kB)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=13.7.1->rich-toolkit>=0.14.8->fastapi-cli>=0.0.2->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Collecting shellingham>=1.3.0 (from typer>=0.15.1->fastapi-cli>=0.0.2->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)
Collecting httptools>=0.5.0 (from uvicorn[standard]>=0.12.0->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.6 kB)
Collecting pyyaml>=5.1 (from uvicorn[standard]>=0.12.0->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting uvloop!=0.15.0,!=0.15.1,>=0.14.0 (from uvicorn[standard]>=0.12.0->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)
Collecting watchfiles>=0.13 (from uvicorn[standard]>=0.12.0->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading watchfiles-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)
Collecting websockets>=10.4 (from uvicorn[standard]>=0.12.0->fastapi==0.111.0->-r requirements.txt (line 2))
Downloading websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)
Downloading bcrypt-4.1.3-cp39-abi3-manylinux_2_28_x86_64.whl (283 kB)
Downloading fastapi-0.111.0-py3-none-any.whl (91 kB)
Downloading pydantic-2.7.4-py3-none-any.whl (409 kB)
Downloading gunicorn-23.0.0-py3-none-any.whl (85 kB)
Downloading httpx-0.27.0-py3-none-any.whl (75 kB)
Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Downloading jinja2-3.1.4-py3-none-any.whl (133 kB)
Downloading pydantic_settings-2.3.4-py3-none-any.whl (22 kB)
Downloading python_json_logger-2.0.7-py3-none-any.whl (8.1 kB)
Downloading python_multipart-0.0.18-py3-none-any.whl (24 kB)
Downloading redis-5.0.7-py3-none-any.whl (252 kB)
Downloading SQLAlchemy-2.0.31-py3-none-any.whl (1.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 11.6 MB/s 0:00:00
Downloading uvicorn-0.30.1-py3-none-any.whl (62 kB)
Downloading aiosqlite-0.20.0-py3-none-any.whl (15 kB)
Downloading passlib-1.7.4-py2.py3-none-any.whl (525 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 525.6/525.6 kB 12.1 MB/s 0:00:00
Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)
Downloading starlette-0.37.2-py3-none-any.whl (71 kB)
Downloading anyio-4.10.0-py3-none-any.whl (107 kB)
Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
Downloading click-8.2.1-py3-none-any.whl (102 kB)
Downloading email_validator-2.3.0-py3-none-any.whl (35 kB)
Downloading dnspython-2.7.0-py3-none-any.whl (313 kB)
Downloading fastapi_cli-0.0.10-py3-none-any.whl (10 kB)
Downloading h11-0.16.0-py3-none-any.whl (37 kB)
Downloading idna-3.10-py3-none-any.whl (70 kB)
Downloading MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB)
Downloading orjson-3.11.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (132 kB)
Downloading python_dotenv-1.1.1-py3-none-any.whl (20 kB)
Downloading rich_toolkit-0.15.1-py3-none-any.whl (29 kB)
Downloading rich-14.1.0-py3-none-any.whl (243 kB)
Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 11.8 MB/s 0:00:00
Downloading markdown_it_py-4.0.0-py3-none-any.whl (87 kB)
Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)
Downloading typer-0.17.4-py3-none-any.whl (46 kB)
Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)
Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
Downloading ujson-5.11.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (57 kB)
Downloading httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (473 kB)
Downloading PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (759 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 759.5/759.5 kB 12.0 MB/s 0:00:00
Downloading uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.7/4.7 MB 11.5 MB/s 0:00:00
Downloading watchfiles-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (451 kB)
Downloading websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (182 kB)
Downloading certifi-2025.8.3-py3-none-any.whl (161 kB)
Downloading packaging-25.0-py3-none-any.whl (66 kB)
Building wheels for collected packages: pydantic-core
Building wheel for pydantic-core (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pydantic-core (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [75 lines of output]
Running `maturin pep517 build-wheel -i /home/rafaeldominiquini/PKGs/ollama_proxy_server-8.0.0/venv/bin/python3 --compatibility off`
📦 Including license file `LICENSE`
🍹 Building a mixed python/rust project
🔗 Found pyo3 bindings
🐍 Found CPython 3.13 at /home/rafaeldominiquini/PKGs/ollama_proxy_server-8.0.0/venv/bin/python3
📡 Using build options features, bindings from pyproject.toml
Compiling target-lexicon v0.12.9
Compiling autocfg v1.1.0
Compiling python3-dll-a v0.2.9
Compiling proc-macro2 v1.0.76
Compiling unicode-ident v1.0.10
Compiling once_cell v1.18.0
Compiling libc v0.2.147
Compiling heck v0.4.1
Compiling rustversion v1.0.13
Compiling version_check v0.9.4
Compiling cfg-if v1.0.0
Compiling parking_lot_core v0.9.8
Compiling radium v0.7.0
Compiling num-traits v0.2.16
Compiling num-integer v0.1.45
Compiling lock_api v0.4.10
Compiling num-bigint v0.4.4
Compiling memoffset v0.9.0
Compiling quote v1.0.35
Compiling static_assertions v1.1.0
Compiling portable-atomic v1.6.0
Compiling pyo3-build-config v0.21.2
Compiling scopeguard v1.1.0
Compiling syn v2.0.48
Compiling tinyvec_macros v0.1.1
Compiling smallvec v1.13.2
Compiling tinyvec v1.6.0
Compiling lexical-util v0.8.5
Compiling ahash v0.8.10
Compiling tap v1.0.1
Compiling serde v1.0.203
Compiling memchr v2.6.3
Compiling wyz v0.5.1
Compiling parking_lot v0.12.1
Compiling unicode-normalization v0.1.22
Compiling lexical-parse-integer v0.8.6
Compiling aho-corasick v1.0.2
Compiling getrandom v0.2.10
Compiling unindent v0.2.3
Compiling unicode-bidi v0.3.13
Compiling percent-encoding v2.3.1
Compiling equivalent v1.0.1
Compiling regex-syntax v0.8.2
Compiling pyo3-ffi v0.21.2
Compiling pyo3 v0.21.2
Compiling jiter v0.4.1
Compiling zerocopy v0.7.32
Compiling indoc v2.0.4
error: failed to run custom build command for `pyo3-ffi v0.21.2`
Caused by:
process didn't exit successfully: `/tmp/pip-install-9uzroh4b/pydantic-core_305dc9b493d3422a963811fd5178d5c6/target/release/build/pyo3-ffi-83439aba5a26bf61/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=PYO3_CROSS
cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR
cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION
cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION
cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG
cargo:rerun-if-env-changed=PYO3_USE_ABI3_FORWARD_COMPATIBILITY
--- stderr
error: the configured Python interpreter version (3.13) is newer than PyO3's maximum supported version (3.12)
= help: please check if an updated version of PyO3 is available. Current version: 0.21.2
= help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
warning: build failed, waiting for other jobs to finish...
💥 maturin failed
Caused by: Failed to build a native library through cargo
Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_BUILD_EXTENSION_MODULE="1" PYO3_ENVIRONMENT_SIGNATURE="cpython-3.13-64bit" PYO3_PYTHON="/home/rafaeldominiquini/PKGs/ollama_proxy_server-8.0.0/venv/bin/python3" PYTHON_SYS_EXECUTABLE="/home/rafaeldominiquini/PKGs/ollama_proxy_server-8.0.0/venv/bin/python3" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-9uzroh4b/pydantic-core_305dc9b493d3422a963811fd5178d5c6/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/home/rafaeldominiquini/PKGs/ollama_proxy_server-8.0.0/venv/bin/python3', '--compatibility', 'off'] returned non-zero exit status 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pydantic-core
Failed to build pydantic-core
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> pydantic-core
I was trying this project, but I was unable to make i run:
I download the project (git clone $REPO), and run "./run.sh"
Output:
I also tried to download the source code on the releases page for the version 8.0.0 (https://github.com/ParisNeo/ollama_proxy_server/archive/refs/tags/v8.0.0.tar.gz) , but the same problem appears!
My OS: EndeavourOS
Thanks