Apply new releases in minutes — your data, settings, AI models, and node identity are always preserved.
BizNode separates two things that must never be confused: code and data. Updates only replace code. Your data never moves.
update.ps1 — a script included in every BizNode release that knows exactly which files are code and which are yours. It will never overwrite your database, settings, or identity.
Think of your BizNode folder like a restaurant: the kitchen equipment can be upgraded without touching the recipe book and customer orders.
CREATE TABLE IF NOT EXISTS. You do not need to run any SQL commands manually.
The table below shows every item in your BizNode folder and what happens to it during an update.
| File / Folder | During update | Contains |
|---|---|---|
| .env | PRESERVED | Your API keys, bot token, business settings |
| memory/biznode.db | PRESERVED | Your customers, leads, conversations, knowledge base |
| memory/qdrant/ | PRESERVED | Your vector store — semantic memory of your business |
| memory/ollama/ | PRESERVED | Your downloaded AI models (several GB — no re-download needed) |
| identity/ | PRESERVED | Your node's Ed25519 identity keys for the 1BZ network |
| logs/ | PRESERVED | All historical log files |
| backups/ | PRESERVED | Your encrypted backup archives |
| .trial / .registration | PRESERVED | Your trial state and registration record |
| agent/ automation/ core/ | UPDATED | AI agent logic, task scheduler, LangGraph graphs |
| services/ tools/ graphs/ | UPDATED | Business services, tool integrations, workflow engine |
| docker/ ui/ | UPDATED | Bot runtime, dashboard server and frontend |
| scripts/ memory/*.py | UPDATED | Utility scripts, database access code |
| launcher.py run_dashboard.py | UPDATED | Startup entry points |
| docker-compose.yml | UPDATED | Container definitions (only if services changed) |
| requirements.txt | UPDATED | Python dependency list (run pip install -r after, if instructed) |
Get it from the downloads page:
https://biznode.1bz.biz/download/BizNode.zip
Check What's New for release notes on this version.
Right-click the ZIP → Extract All. Choose a location that is NOT your existing BizNode folder. For example:
C:\Users\YourName\BizNode_update
This is the update source. Your live node stays untouched in a separate folder (e.g. C:\Users\YourName\BizNode).
In File Explorer, navigate into the extracted BizNode_update folder. Then:
Right-click inside the folder → "Open in Terminal" (or "Open PowerShell window here")
On older Windows: hold Shift + right-click for the PowerShell option.
Replace the path with your actual BizNode install folder:
.\update.ps1 -NodePath "C:\Users\YourName\BizNode"
The script will show each file as it is copied, then display a summary. Your data files will not appear in the output — they are simply skipped.
-Restart to update and restart your bot and dashboard in a single command:
.\update.ps1 -NodePath "C:\Users\YourName\BizNode" -Restart
If you did not use -Restart, restart manually from your node folder:
cd "C:\Users\YourName\BizNode" docker compose restart bot dashboard
For a full restart (e.g. after docker-compose.yml changes):
docker compose down docker compose up -d
Once the update is confirmed working, delete the BizNode_update folder — it is no longer needed.
The update.ps1 script accepts the following parameters:
.env and docker-compose.yml).
.\update.ps1 -NodePath "C:\Users\YourName\BizNode"
docker compose restart bot dashboard in your node folder. Convenient for applying the update in one step.
.\update.ps1 -NodePath "C:\Users\YourName\BizNode" -Restart
pip install -r requirements.txt after syncing files. Only needed when the release notes say "new dependencies added". Safe to run any time — it will only install what is missing or outdated.
.\update.ps1 -NodePath "C:\Users\YourName\BizNode" -NewDeps
.\update.ps1 -NodePath "C:\Users\YourName\BizNode" -NewDeps -Restart
After restarting, confirm the update applied correctly:
Open your dashboard at http://localhost:7777. The version number in the footer or Setup section should match the release you installed.
Open a terminal in your BizNode folder and run:
docker compose ps
All services (bot, dashboard, qdrant, ollama) should show running state. If any show Restarting, check the logs for that service.
# Bot logs (last 50 lines) docker compose logs --tail=50 bot # Dashboard logs docker compose logs --tail=50 dashboard
Look for a clean startup sequence with no ImportError or SyntaxError messages.
python status.py
This checks all services (Ollama, Qdrant, dashboard, bot) and reports their health. All should show OK.
Open Telegram and send /start to your bot. A response confirms the bot container is up and the update is working end-to-end.
Windows blocks unsigned scripts by default. Run this once in an elevated (Administrator) PowerShell, then retry:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Exit codes 8 and above from robocopy indicate a real failure (e.g. file in use, access denied). The most common cause is a Docker container holding a lock on a Python file. Stop the containers first:
cd "C:\Users\YourName\BizNode" docker compose stop bot dashboard
Then run update.ps1 again, then docker compose start bot dashboard.
Check the bot logs:
docker compose logs --tail=80 bot
Common causes:
update.ps1 -NewDepsdocker compose build bot && docker compose up -d botdocker compose logs --tail=80 dashboard
If you see ImportError, a new dependency is likely required:
docker compose build dashboard docker compose up -d dashboard
This means a new column was added to an existing table in this release. The release notes will include an ALTER TABLE migration command to run once:
# Example — run this in your node folder
python -c "
import sqlite3, os
db = sqlite3.connect('memory/biznode.db')
db.execute('ALTER TABLE tablename ADD COLUMN newcol TEXT DEFAULT NULL')
db.commit(); db.close()
print('Migration done')
"
Exact commands for each migration are always listed in the release notes.
.env, biznode.db, identity/, or model data regardless of which path you run it on. The worst case is that code files from this release were written to the wrong folder — no data was harmed.
Re-run update.ps1 from the previous BizNode release ZIP, pointing it at your node folder. Code files are simply overwritten again with the older version. Database and settings are not touched by either operation.
memory/biznode.db is explicitly protected and never touched by update.ps1. Your leads, conversations, workflow states, and knowledge base are all stored in that file and remain exactly as they are..env file is preserved. However, if the release adds new settings, you may want to add them manually. New settings are always documented in the release notes with their default values.memory/ollama/ which is never modified during an update. A model download (which can be several gigabytes) only happens on first install or if you choose a different model in your settings.-Restart to apply changes immediately, or restart manually after the update finishes. During the few seconds of restart, the bot will be briefly unavailable.update.ps1 -NodePath "..." the same way — it copies code files regardless of how you run BizNode. Then restart your Python processes manually (python launcher.py). Use -NewDeps if the release includes new packages.docker-compose.yml. Double-check that -NodePath points to your actual BizNode install folder (the one containing .env and docker-compose.yml), not to the extracted update folder.Download the latest release and follow the steps above. Takes about 2 minutes.