-
Notifications
You must be signed in to change notification settings - Fork 1
Installation Bare Metal
chodeus edited this page Apr 20, 2026
·
3 revisions
Pick this only if you need to modify CHUB's code or Docker isn't available on your host. Most users should stick with Docker.
- Python 3.8 or newer
- Node.js 20 or newer
- Git
- A writable directory for config, database, and logs
git clone https://github.com/chodeus/chub.git
cd chub
# Backend
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# Frontend (compiled into static files served by the backend)
cd frontend
npm install
npm run build
cd ..
# Point CHUB at a config directory and run it
export CONFIG_DIR="$(pwd)/config"
python3 main.pyOpen http://localhost:8000 and follow First Run.
Run the frontend's Vite dev server in a second terminal:
cd frontend && npm run dev
# now open http://localhost:5174 — /api calls proxy to :8000The backend still serves at :8000; Vite proxies all /api/* traffic to it so the two run side by side.
A simple unit file keeps CHUB up on reboot. Create /etc/systemd/system/chub.service:
[Unit]
Description=CHUB — Chodeus' Media Script Hub
After=network.target
[Service]
Type=simple
User=chub
Group=chub
WorkingDirectory=/opt/chub
Environment=CONFIG_DIR=/opt/chub/config
ExecStart=/opt/chub/.venv/bin/python3 /opt/chub/main.py
Restart=on-failure
[Install]
WantedBy=multi-user.targetThen:
sudo systemctl daemon-reload
sudo systemctl enable --now chub
sudo systemctl status chubSee Installation for the (recommended) Docker paths.