Your Runtime: jayho80.homelinked.tech
You do not need sudo for most Python Runtime development.
Many online tutorials use sudo because they assume you own the whole VPS or cloud server.
In our HSIMC Runtime system, your role is different.
Traditional VPS tutorial: You control the whole server ↓ sudo install sudo nginx sudo systemctl sudo certbot HSIMC Student Runtime: You control your own Runtime workspace ↓ Python SQLite JSONL HTML Evidence Exports Admin publishes trusted URLs
This is an AI-era Runtime model.
You are not expected to manage the entire server. You are expected to create capability, evidence, working code, and URL-level outputs inside your own Runtime.
Your main working directory is:
/opt/workspaces/jayho80
Your website directory is:
/var/www/jayho80
You can work inside these directories.
Use:
cd /opt/workspaces/jayho80 source venv/bin/activate
Then you can run Python and install Python packages without sudo.
Example:
cd /opt/workspaces/jayho80 source venv/bin/activate pip install flask requests pandas openpyxl mkdir -p app exports sqlite jsonl logs
No sudo is required for this.
Create a simple Python test:
cd /opt/workspaces/jayho80
source venv/bin/activate
cat > app/hello.py <<'PY'
print("Hello from Jay Runtime")
print("AI-to-Code → Code-to-URL → URL-to-Evidence")
PY
python app/hello.py
If it prints the message, your Python Runtime is working.
Create a local SQLite database:
cd /opt/workspaces/jayho80
python3 - <<'PY'
import sqlite3
from pathlib import Path
db_path = Path("sqlite/jay_runtime.db")
db_path.parent.mkdir(parents=True, exist_ok=True)
conn = sqlite3.connect(db_path)
conn.execute("""
CREATE TABLE IF NOT EXISTS evidence (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
status TEXT,
created_at TEXT DEFAULT CURRENT_TIMESTAMP
)
""")
conn.execute("INSERT INTO evidence (title, status) VALUES (?, ?)", ("Jay Runtime SQLite Test", "ok"))
conn.commit()
for row in conn.execute("SELECT id, title, status, created_at FROM evidence"):
print(row)
conn.close()
PY
This also does not require sudo.
Write one JSONL evidence record:
cd /opt/workspaces/jayho80
python3 - <<'PY'
import json, datetime
from pathlib import Path
p = Path("jsonl/events.jsonl")
p.parent.mkdir(parents=True, exist_ok=True)
record = {
"event": "runtime_test",
"student": "jayho80",
"status": "ok",
"message": "Python Runtime works without sudo",
"ts": datetime.datetime.utcnow().isoformat() + "Z"
}
with p.open("a", encoding="utf-8") as f:
f.write(json.dumps(record, ensure_ascii=False) + "\n")
print("written:", p)
PY
Create your page inside exports:
cd /opt/workspaces/jayho80 cat > exports/demo.html <<'HTML' <h1>Jay Runtime Demo</h1> <p>This page was created inside Jay's Runtime without sudo.</p> <pre> AI-to-Code ↓ Code-to-URL ↓ URL-to-Evidence ↓ Evidence-to-Offer </pre> <p>This is the correct AI-era Runtime workflow.</p> HTML
Then tell Admin:
Please publish: /opt/workspaces/jayho80/exports/demo.html to: https://jayho80.homelinked.tech/demo/
Admin will publish it using the trusted publishing tool.
The following actions require Admin:
This protects the main HSIMC Runtime server and other students' Runtime spaces.
Most online tutorials assume:
one student one VPS one root admin one website
Our Runtime system is different:
many students one trusted Runtime node separate workspaces separate evidence separate URLs Admin-controlled publication shared safety boundary
Therefore, copying a normal VPS tutorial directly may be wrong.
The goal is not to become a root server administrator first.
The goal is to become an AI-assisted URL-level Capability Builder.
Observe a real problem ↓ Use AI to generate code ↓ Run Python inside your Runtime ↓ Create SQLite / JSONL evidence ↓ Generate an HTML page ↓ Submit exports to Admin ↓ Admin publishes trusted URL ↓ URL becomes Evidence / Offer / Capability Link
This is the correct workflow for Capability Commerce.
If you already have Python code on your local computer or from an old server, migrate it into this structure:
Old Python code → /opt/workspaces/jayho80/app Old HTML pages → /opt/workspaces/jayho80/exports Old SQLite databases → /opt/workspaces/jayho80/sqlite Old logs → /opt/workspaces/jayho80/logs or /opt/workspaces/jayho80/jsonl Old documents → /opt/workspaces/jayho80/docs Old evidence → /opt/workspaces/jayho80/evidence
Then activate your Python environment:
cd /opt/workspaces/jayho80 source venv/bin/activate pip install -r requirements.txt
If there is no requirements.txt, install only what your project needs.
Student owns capability creation. Admin owns trusted publication.
中文:
学生拥有能力创造。 管理员拥有可信发布。
This is not a limitation. It is the structure that makes a multi-student Runtime safe, trustworthy and scalable.
Do not ask first:
How do I get sudo?
Ask first:
Can I build this inside my Runtime workspace? Can I run it with Python venv? Can I output HTML / SQLite / JSONL? Can I prepare an Evidence URL? Can Admin publish the trusted URL?
Most student Runtime work does not need sudo.
Use AI to write code. Use your Runtime to test. Use Evidence to prove. Use URL to exchange capability.
这份中文说明解释 Jay 的 Python Runtime 权限边界、迁移方式,以及为什么大多数学生 Runtime 工作不需要 sudo。