Repository navigation
Conversation
Self-hosted Obico server (AI failure detection & remote monitoring for OctoPrint/Klipper) as bare-metal install: daphne web, celery worker+beat, redis, and the CPU (ONNX) ml_api, deployed from the upstream release branch. Feature request: community-scripts/ProxmoxVE#1581
Bambuddy's Obico integration calls the ML API directly on :3333 (/hc/ must answer 'ok', /p/?img= for detection), so bind it to 0.0.0.0 — ML_API_TOKEN gates everything but the health check. Note it in the JSON metadata.
Try this script
COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/a55uka/DevScripts/feat/obico \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/a55uka/DevScripts/feat/obico/ct/obico.sh)"
Against a core branch as wellAdd Useful flags while testing
|
|
✅ Requirements check passed. Thanks for fixing the description — the |
|
sadly, no tarball release exists for obico, but nothing is built as it is just python,. |
|
/test |
|
/test |
Proxmox script test@michelroegl-brunner @a55uka ✅ 2/2 passed at
ARM64 (information only, not counted): 1/1 passed. 📄 ct/obico.sh (pve) — install log (21204 lines)🔄 ct/obico.sh (pve) — update log (22 lines)📄 ct/obico.sh (incus) — install log (13262 lines)🔄 ct/obico.sh (incus) — update log (17 lines)📄 ct/obico.sh (arm64) — install log (13215 lines)🔄 ct/obico.sh (arm64) — update log (17 lines)Full logs: workflow run (artifacts |
| # No CLEAN_INSTALL: db.sqlite3, media, static_build, .venv and .env are | ||
| # gitignored in the upstream repo and survive reset --hard + clean -fd. |
| msg_info "Updating Python Environments" | ||
| cd /opt/obico/backend | ||
| $STD uv pip install -p .venv/bin/python -r requirements.txt | ||
| $STD uv pip install -p .venv/bin/python importlib_metadata==8.2.0 |
There was a problem hiding this comment.
following what the obico install does
There was a problem hiding this comment.
that requires manual work on each update, can you extract them dynamically from their files somehow?
| # CPU inference stack, mirroring ml_api/Containerfile.cpu (onnxruntime 1.16.3 has no cp312 wheels) | ||
| $STD uv pip install -p .venv/bin/python -r requirements.txt onnxruntime==1.31.0 opencv-python-headless==4.12.0.88 |
There was a problem hiding this comment.
same here, comments, pinned things
| "updateable": true, | ||
| "privileged": false, | ||
| "interface_port": 3334, | ||
| "documentation": "https://www.obico.io/docs/server-guides/", |






✍️ Description
Adds a bare-metal install for the Obico self-hosted server - requested in community-scripts/ProxmoxVE#1581).
I have been running this with Bambuddy and the Obico integration all working for the past couple weeks!
🔗 Related PR / Issue
Link: community-scripts/ProxmoxVE#1581
✅ Prerequisites (X in brackets)
🏗️ arm64 Support (X in brackets)
var_arm64is left unset.🖥️ Tested on (X in brackets)
🛠️ Type of Change (X in brackets)
🔍 Code & Security Review (X in brackets)
CODE-AUDIT.md&CONTRIBUTING.mdguidelinesAppName.sh,AppName-install.sh,AppName.json)fetch_and_deploy_gh_branch(upstream publishes no releases/tags)📋 Additional Information (optional)
0.0.0.0:3333because external clients (Bambuddy's Obico integration) call it directly; a generatedML_API_TOKENin/opt/obico/.envgates every endpoint but the health check.root@example.com/supersecret) comes from an upstream migration; it is documented in the JSON notes with a change-it warning.migrate,collectstatic, andmanage.py site --add "$LOCAL_IP:3334"(the documented post-install step), then waits on/hc/before reporting success.📦 Application Requirements (for new scripts)
releasebranch promoted through 2026-10releasebranch with built frontend bundles checked in, which is whyfetch_and_deploy_gh_branch/check_for_gh_branchare used.🌐 Source
backend/Dockerfile.base,docker-compose.yml,ml_api/Containerfile.cpu,ml_api/scripts/fetch_verified.sh,backend/config/settings.py,dotenv.example)🤖 AI Assistance (X in brackets)
AGENTS.mdand.github/agents/pve-script-creator.agent.mdas guidance.Please describe to which degree, if any, an LLM was used in creating this pull request. Name the model(s) used and, if applicable, the reasoning/thinking effort level (e.g. "Claude Sonnet 4.5, high reasoning, used to draft the install script, then manually reviewed and tested" or "No LLM used"). This is informational, not a penalty — but scripts that are clearly AI-generated and not further revised by the author to match CODE-AUDIT.md / CONTRIBUTING.md may be closed without review.