Release / verify (push) Canceled after 0s
CI / checks (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CI / backend (push) Canceled after 0s
Release / test (push) Canceled after 0s
Release / publish (backend) (push) Canceled after 0s
Release / publish (frontend) (push) Canceled after 0s
Release / publish (proxy) (push) Canceled after 0s
Release / publish (updater) (push) Canceled after 0s
Erste Schritte nach der Installation. Ende-zu-Ende gegen einen isolierten Stack getestet, siehe Handbuch „Einrichtungsassistent und Passwort-Reset“: - **Einrichtungsassistent** (`/setup`, System › Einrichtung): vier Schritte mit Erklärungen — Willkommen und Sprache, Konto (eigenes Passwort, Zwei-Faktor-Anmeldung), erste Firewall verbinden (inklusive Anleitung für den API-Key in OPNsense, Zertifikat festsetzen, Verbindungsstatus) und eine Übersicht, was als Nächstes sinnvoll ist. Auf einer frischen Installation ohne Hosts öffnet er sich nach der ersten Anmeldung von selbst; „Assistent überspringen“ merkt sich das pro Benutzer, erneut öffnen geht jederzeit über System › Einrichtung oder die Einstellungen. Nur für Admins. Neue Spalte `user_preferences.setup_done` (Migration `0005`). - **`opnexus password [NAME]`** setzt ein neues Zufallspasswort für den Admin und zeigt es an (`--yes` ohne Rückfrage; Rückfrage nur, wenn sich schon jemand angemeldet hat). Ersetzt das Suchen im Backend-Log nach dem beim ersten Start erzeugten Passwort und taugt zugleich für ein vergessenes Admin-Passwort. Alle Sitzungen des Kontos enden. Dahinter steht `python -m app.reset_password`. Die Meldung beim ersten Start verweist darauf.
57 lines
2.4 KiB
Bash
Executable File
57 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# Baut das Release-Bundle (dist/opnexus-<version>.tar.gz), mit dem man OPNexus
|
||
# ohne Repo-Checkout betreibt: docker-compose.yml (nur Images, Registry und
|
||
# Version als Standard eingebacken), .env.example, das opnexus-Update-Skript
|
||
# und eine Kurzanleitung.
|
||
#
|
||
# scripts/make_release_bundle.sh 1.10.0 git.opnexus.dev/opnexus
|
||
#
|
||
# Das Ergebnis wird manuell an die Release-Seite angehängt (die CI lädt es
|
||
# bewusst nicht hoch: GitHub und Forgejo haben dafür unterschiedliche APIs).
|
||
set -euo pipefail
|
||
cd "$(dirname "$0")/.."
|
||
|
||
version="${1:?Usage: $0 VERSION IMAGE_REPO}"
|
||
repo="${2:?Usage: $0 VERSION IMAGE_REPO}"
|
||
name="opnexus-$version"
|
||
out="dist/$name"
|
||
|
||
rm -rf "$out" "dist/$name.tar.gz"
|
||
mkdir -p "$out"
|
||
|
||
# Standardwerte in der Compose-Datei durch die Release-Werte ersetzen.
|
||
sed -e "s|\${OPNEXUS_IMAGE_REPO:-local}|\${OPNEXUS_IMAGE_REPO:-$repo}|g" \
|
||
-e "s|\${OPNEXUS_VERSION:-latest}|\${OPNEXUS_VERSION:-$version}|g" \
|
||
docker-compose.yml > "$out/docker-compose.yml"
|
||
grep -q "OPNEXUS_IMAGE_REPO:-$repo" "$out/docker-compose.yml" || { echo "Compose-Defaults nicht ersetzt" >&2; exit 1; }
|
||
! grep -qE '^\s+build:' "$out/docker-compose.yml" || { echo "build: im Release-Compose" >&2; exit 1; }
|
||
|
||
# .env.example mit gesetzter Registry und Version (der Updater liest .env).
|
||
sed -e "s|^# OPNEXUS_IMAGE_REPO=.*|OPNEXUS_IMAGE_REPO=$repo|" \
|
||
-e "s|^# OPNEXUS_VERSION=.*|OPNEXUS_VERSION=$version|" \
|
||
.env.example > "$out/.env.example"
|
||
|
||
cp scripts/opnexus "$out/opnexus"
|
||
cp LICENSE "$out/"
|
||
cat > "$out/INSTALL.txt" <<TXT
|
||
OPNexus $version
|
||
|
||
1. cp .env.example .env und POSTGRES_PASSWORD (und was sonst nötig ist) eintragen
|
||
2. docker compose pull && docker compose up -d --no-build
|
||
3. Anmelden: ./opnexus password (zeigt das Admin-Passwort, wenn ADMIN_PASSWORD leer war)
|
||
dann im Browser öffnen — der Einrichtungsassistent führt durch den Rest
|
||
4. Updates: ./opnexus update (neueste Version der in .env gewählten Spur)
|
||
./opnexus update 1.10.1 (feste Version)
|
||
Zurück: ./opnexus rollback
|
||
Sichern: ./opnexus backup
|
||
|
||
Optional: Updates per Klick im Webinterface (Einstellungen › "OPNexus aktualisieren"):
|
||
in .env COMPOSE_PROFILES=updater und UPDATE_CHECK_URL setzen, dann
|
||
docker compose up -d --no-build (Hinweise zur Sicherheit: Handbuch)
|
||
|
||
Vollständige Anleitung: README.md im Repository, Abschnitt "Release-Images & CI".
|
||
TXT
|
||
|
||
tar -C dist -czf "dist/$name.tar.gz" "$name"
|
||
echo "dist/$name.tar.gz"
|