5.0 KiB
Installation på Debian 13 amd64
All rights reserved - Thomas / TuxiNet
Platform
- Debian 13 amd64
systemd- OLA /
olad - Node.js 20
pnpm10.28.2- Standardport for TuxDMX:
8000/tcp
1. Forbered serveren
sudo apt-get update
sudo apt-get install -y git curl
git clone <privat-repo-url> tuxdmx
cd tuxdmx
Hvis du deployer fra et ZIP-arkiv, saa udpak arkivet og skift til den mappe, foer du fortsaetter.
2. Kildeplacering
- Installeren finder repositoryet ud fra scriptets egen placering.
- Det virker baade ved Git-clone og ved SFTP-kopieret projektmappe.
sudomaa ikke flytte source root til/root, fordi scriptet ikke bruger$HOMEsom kilde.
3. Installer TuxDMX
Interaktiv installation:
sudo ./scripts/install-linux.sh
Ikke-interaktiv installation:
sudo ./scripts/install-linux.sh --non-interactive --force
Hvis du allerede har en gyldig frontend/dist, kan du eksplicit springe frontend-build over:
sudo ./scripts/install-linux.sh --non-interactive --force --skip-frontend-build
Dette flag virker kun, hvis frontend/dist/index.html allerede findes.
Scriptet:
- validerer Debian 13 amd64,
- installerer Python 3,
python3-venv, SQLite, OLA, OLA Python-binding, Node.js 20-værktøjskæde ogolad, - laaser frontend-tooling til
pnpm10.28.2, - bygger frontenden selv med
pnpm install --frozen-lockfileogpnpm build, - opretter systembrugeren
tuxdmx, - opretter
/opt/tuxdmx,/var/lib/tuxdmx,/var/log/tuxdmxog/etc/tuxdmx, - bruger staging i
/opt/tuxdmx.new, - normaliserer filrettigheder efter kopiering, ogsaa efter SFTP-upload,
- opretter virtualenv med
--system-site-packages, - installerer
requirements.lock, koererpip checkog kontrollerergreenlet,sqlalchemyogola, - koerer alle Alembic migrations som brugeren
tuxdmx, - installerer og aktiverer
tuxdmx.service, - health-checker
http://127.0.0.1:8000/api/v1/health, - viser automatisk
systemctl statusogjournalctl, hvis service-start fejler.
Eksisterende database og konfiguration bevares, fordi de ligger i /var/lib/tuxdmx og /etc/tuxdmx.
4. Permanente stier
- Appkode:
/opt/tuxdmx - Frontend build:
/opt/tuxdmx/frontend/dist - Database og runtime-data:
/var/lib/tuxdmx - Backups:
/var/lib/tuxdmx/backups - Diagnostics:
/var/lib/tuxdmx/diagnostics - Uploads:
/var/lib/tuxdmx/uploads - Fixture-cache:
/var/lib/tuxdmx/fixtures - Logs:
/var/log/tuxdmx - Environment:
/etc/tuxdmx/tuxdmx.env
5. Kontroller drift
systemctl status tuxdmx.service
systemctl status olad
curl -fsS http://127.0.0.1:8000/api/v1/health
curl -fsS http://127.0.0.1:8000/
Web UI:
http://<server-ip>:8000/
6. Update
sudo ./scripts/update-linux.sh
Med eksisterende frontend/dist:
sudo ./scripts/update-linux.sh --skip-frontend-build
Update-scriptet:
- tager backup af app, data og konfiguration,
- bygger ny frontend eller genbruger eksisterende
dist, - kopierer ny kode og
frontend/dist, - geninstallerer Python-afhaengigheder,
- koerer migrationer,
- geninstallerer
tuxdmx.service, - genstarter
oladogtuxdmx.service, - ruller tilbage ved fejl.
7. Uninstall
sudo ./scripts/uninstall-linux.sh
sudo ./scripts/uninstall-linux.sh --purge-app
sudo ./scripts/uninstall-linux.sh --purge-app --purge-data
8. Logs og health checks
journalctl -u tuxdmx.service -f
journalctl -u olad -f
systemctl status tuxdmx.service --no-pager --full
curl -fsS http://127.0.0.1:8000/api/v1/health
- Health fejler:
journalctl -u tuxdmx.service -n 200 --no-pager - OLA-binding mangler: kontroller at
python3-olaellerola-pythonfindes i Debian-repositoriet - OLA-runtime fejler:
journalctl -u olad -n 200 - DB-fejl:
sqlite3 /var/lib/tuxdmx/tuxdmx.db "PRAGMA integrity_check;" - Frontend-build fejler: kontroller
node --version,pnpm --versionogpackage.jsonpackageManager-feltet - Importfejl
No module named 'app': kontrollér at/opt/tuxdmx/backend/app/main.pyfindes - Permission-fejl efter SFTP: installeren normaliserer rettigheder til
root:tuxdmx, 0755 paa mapper og 0644 paa kode/dist-filer
9. Root causes rettet i denne leverance
greenletmanglede i Python-lockfile, selv om SQLAlchemy async-laget kraever det- frontend-build var manuel i stedet for en del af installeren
- pnpm-version var ikke fastlaast og kunne glide til en inkompatibel udgave
- backend-layoutet i
/opt/tuxdmxblev ikke verificeret eksplicit - relative runtime-stier gav
PermissionErrorog uforudsigelig working directory-adfaerd - SFTP-overfoerte rettigheder blev kopieret ukritisk
- systemd health-check viste ikke automatisk de egentlige servicefejl
10. Hardwarestatus
Installationsscriptet er lavet til Debian 13 amd64. USB-DMX og OLA-output er verificeret af systemejeren på den fysiske target-host, men Codex har ikke selv udført fysisk hardwaretest i denne workspace-session. Brug HARDWARE-VALIDATION.md til gentest, ændringsvalidering og nye installationer.