cx-nexredirect/docs/INSTALL.md

2.9 KiB

Installation

One-Line (Debian/Ubuntu)

curl -sSL https://raw.githubusercontent.com/CoreXManagement/CoreX-NexRedirect/main/scripts/install.sh | sudo bash

Optional mit MaxMind-Lizenz für Geo-Lookup:

sudo MAXMIND_LICENSE_KEY=xxxxxxxx bash -c \
  "$(curl -sSL https://raw.githubusercontent.com/CoreXManagement/CoreX-NexRedirect/main/scripts/install.sh)"

Das Script:

  1. Prüft Debian/Ubuntu
  2. Installiert Caddy (offizielles Repo), Node.js 20, git
  3. Legt System-User nexredirect an
  4. Cloned Repo nach /opt/corex-nexredirect
  5. npm ci && npm run build
  6. Holt GeoLite2-Country (falls Lizenz gesetzt)
  7. Schreibt systemd-Unit corex-nexredirect.service
  8. Schreibt minimale Caddyfile-Bootstrap-Config
  9. systemctl enable --now caddy corex-nexredirect
  10. Druckt Setup-URL

Manueller Install

Wer das Curl-Pipe-Bash nicht mag:

sudo apt-get install -y caddy nodejs git
sudo useradd --system --home /opt/corex-nexredirect --shell /usr/sbin/nologin nexredirect
sudo mkdir -p /opt/corex-nexredirect /var/lib/corex-nexredirect
sudo git clone https://github.com/CoreXManagement/CoreX-NexRedirect /opt/corex-nexredirect
sudo chown -R nexredirect:nexredirect /opt/corex-nexredirect /var/lib/corex-nexredirect
sudo -u nexredirect bash -c "cd /opt/corex-nexredirect && npm ci && npm run build"
sudo cp /opt/corex-nexredirect/systemd/corex-nexredirect.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now caddy corex-nexredirect

Bootstrap-Caddyfile in /etc/caddy/Caddyfile:

:80 {
  reverse_proxy localhost:3000
}

Verzeichnisse

Pfad Inhalt
/opt/corex-nexredirect Code (git checkout)
/var/lib/corex-nexredirect/nexredirect.db SQLite (alle Daten)
/var/lib/corex-nexredirect/GeoLite2-Country.mmdb Geo-DB (optional)
/etc/caddy/Caddyfile Caddy-Config (auto-generated)
/etc/systemd/system/corex-nexredirect.service systemd-Unit
/etc/sudoers.d/corex-nexredirect Sudo für update.sh

Backup / Restore

Sicherung:

sudo tar -czf nexredirect-backup-$(date +%F).tar.gz \
  /var/lib/corex-nexredirect/nexredirect.db \
  /etc/caddy/Caddyfile

Restore:

sudo systemctl stop corex-nexredirect caddy
sudo tar -xzf nexredirect-backup-XXXX.tar.gz -C /
sudo chown nexredirect:nexredirect /var/lib/corex-nexredirect/nexredirect.db
sudo systemctl start caddy corex-nexredirect

SQLite ist im WAL-Modus — Hot-Backup ohne Stop:

sqlite3 /var/lib/corex-nexredirect/nexredirect.db ".backup /tmp/db.sqlite"

Logs

journalctl -u corex-nexredirect -f
journalctl -u caddy -f

Deinstallation

sudo systemctl disable --now corex-nexredirect
sudo rm /etc/systemd/system/corex-nexredirect.service /etc/sudoers.d/corex-nexredirect
sudo systemctl daemon-reload
sudo userdel nexredirect
sudo rm -rf /opt/corex-nexredirect /var/lib/corex-nexredirect
# Caddy + Caddyfile bei Bedarf separat