Files
OPNexus/.env.example
T
Julian Boldt f5dbe8a41a
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
Release v1.21.0
- **Management-Tunnel** (System › Management-Tunnel): Firewalls hinter NAT/CGNAT verwalten. Ein optionaler WireGuard-Hub auf dem
  OPNexus-Server (Compose-Profil `overlay`, Container `wg-hub` aus dem Backend-Image mit `NET_ADMIN`) nimmt die Firewalls entgegen, die sich
  nach außen einwählen; OPNexus erreicht deren API über einen kleinen CONNECT-Proxy des Hubs, der nur ins Tunnel-Netz verbindet. Je Firewall
  eine Tunnel-Adresse und ein eigener Pre-Shared Key, Anleitung mit kopierbaren Werten, Live-Status (Handshake, Datenmenge). Der Hub nimmt
  keine neuen Verbindungen aus dem Tunnel an. Ende-zu-Ende gegen eine echte OPNsense 26.7 geprüft (Handshake, API, Zertifikat festsetzen).
  Neue Tabellen `overlay_settings`, `overlay_peers` (Migration `0015`); das Backend-Image enthält jetzt `wireguard-tools`, `iproute2`, `iptables`.
2026-10-20 01:21:45 +02:00

101 lines
5.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
POSTGRES_PASSWORD=change-me
# Datenbank- und Benutzername (Standard: opnexus). Gelten nur beim ersten Start
# eines leeren Volumes. Eine bestehende Installation trägt hier ihre bisherigen
# Namen ein, sonst findet das Backend die Datenbank nicht (Handbuch, "Datenbank-Namen").
# POSTGRES_DB=opnexus
# POSTGRES_USER=opnexus
# Optional — if left unset, a random admin password is generated on first
# startup and printed once to `docker compose logs backend`.
ADMIN_USERNAME=admin
ADMIN_PASSWORD=
# Required for any deployment reachable under a hostname other than
# localhost/127.0.0.1 — the exact origin (scheme://host[:port], no
# trailing slash) the frontend is actually served from, e.g.
# "https://opnexus.example.com" or "http://192.168.1.50:3100" (include
# the port unless a reverse proxy fronts this on the default 80/443).
# Without this, the backend only accepts credentialed requests from
# localhost on the default frontend port.
# Several origins (IP and name) may be listed comma-separated:
# FRONTEND_ORIGIN=https://10.0.0.5,https://opnexus.lan
# Behind the bundled TLS proxy requests are same-origin, so this only matters
# for cross-origin API clients.
FRONTEND_ORIGIN=
# Addresses OPNexus is reached by through the TLS proxy (Caddy), comma-
# separated: the server's IP and/or names. No DNS needed - the proxy issues
# certificates from its own CA (import /opnexus-ca.crt once in your browser).
# OPNEXUS_SITES=10.0.0.5, opnexus.lan
OPNEXUS_SITES=localhost
# The primary address from the list above (normally the IP): used when a
# client connects by bare IP and sends no server name.
OPNEXUS_DEFAULT_SNI=localhost
# Interface the proxy listens on (0.0.0.0 = whole network).
PROXY_BIND_ADDRESS=0.0.0.0
# Host interface the backend/frontend ports are published on. Defaults
# to 127.0.0.1 (this host only) if unset. Set to 0.0.0.0 for access from
# other machines without a reverse proxy (see the handbook, "Zugriff aus dem Netz und TLS"
# for the safer TLS-proxy alternative), or to one specific interface IP.
BIND_ADDRESS=
# Host-Ports von Backend und Frontend (nur nötig, wenn 8100/3100 schon belegt
# sind, z. B. bei einer zweiten Instanz auf demselben Rechner; Standard 8100/3100).
# BACKEND_PORT=8100
# FRONTEND_PORT=3100
# Set to true once this is running behind TLS (see the handbook,
# "Zugriff aus dem Netz und TLS") — otherwise the session cookie is sent
# unencrypted and browsers won't even attach a Secure cookie without
# HTTPS in the first place.
COOKIE_SECURE=false
# Set to true ONLY when running behind a reverse proxy you trust to
# always set/overwrite X-Forwarded-For itself (every example in the handbook's
# "Zugriff aus dem Netz und TLS" does). Used to attribute failed logins to the real
# client IP for the login lockout instead of the proxy's own IP. Leave
# false (default) if the app is reachable directly with no proxy in
# front — otherwise any client could spoof this header to dodge the
# per-IP lockout entirely.
TRUST_PROXY_HEADERS=false
# ── Release-Images (statt lokalem Build) ──────────────────────────────
# Registry + Namespace, unter dem die OPNexus-Images liegen; daraus werden
# <repo>/opnexus-backend, <repo>/opnexus-frontend, <repo>/opnexus-proxy. Leer lassen = lokal bauen
# mit `docker compose up -d --build`.
# OPNEXUS_IMAGE_REPO=git.opnexus.dev/opnexus
# Version fest pinnen (z. B. 1.9.0), statt automatisch "latest" zu folgen.
# OPNEXUS_VERSION=1.9.0
# ── Hinweis auf neue Versionen (optional) ─────────────────────────────
# Release-Feed (GitHub/Forgejo "releases/latest"). Leer = aus: dann macht
# OPNexus keine ausgehende Anfrage. Gesendet wird nur ein GET mit
# User-Agent "OPNexus/<Version>". Admins sehen bei einer neueren Version einen
# Hinweis; aktualisiert wird nie automatisch, sondern mit `opnexus update` oder
# (optional, siehe unten) per Klick im Webinterface.
# UPDATE_CHECK_URL=https://updates.opnexus.dev/latest.json
# UPDATE_CHECK_INTERVAL_HOURS=12
# ── Updates aus dem Webinterface (optional, braucht Release-Images) ───
# Startet den Updater-Container, mit dem Admins unter Einstellungen › „OPNexus
# aktualisieren“ ein Update auslösen können. Er ist der einzige Container mit
# Docker-Socket-Zugriff (= root-gleiche Rechte auf diesem Host) und standardmäßig
# AUS. Benötigt außerdem UPDATE_CHECK_URL (oben). Siehe Handbuch, "Updates per Klick".
# COMPOSE_PROFILES=updater
# ── Transportsicherheit (nur ändern, wenn nötig) ──────────────────────
# Firewall-API-Zugangsdaten gehen per HTTP-Basic-Auth raus, deshalb sind
# http://-Adressen für Firewalls abgelehnt (beim Anlegen UND bei jeder
# Anfrage). Nur für isolierte Labor-Setups auf "true" setzen.
# ALLOW_INSECURE_FIREWALL_URLS=false
# SMTP über SSL/STARTTLS prüft Zertifikat UND Hostname. Mailserver mit
# privater CA: CA-PEM in den Backend-Container einbinden und hier angeben.
# SMTP_CA_FILE=/data/smtp-ca.pem
# SMTP-Anmeldung ohne Verschlüsselung (Sicherheit "none") bleibt gesperrt.
# ALLOW_INSECURE_SMTP_AUTH=false
# Management-Tunnel (WireGuard-Hub für Firewalls hinter NAT), optional.
# Zum Aktivieren (Handbuch „Firewalls hinter NAT“): COMPOSE_PROFILES=overlay
# und den UDP-Port aus dem Internet erreichbar machen.
#OVERLAY_PORT=51820