Installation und Inbetriebnahme.

ewws läuft auf Ihrer eigenen Infrastruktur, ohne Cloud-Zwang. Diese Anleitung führt in drei Schritten von der Datenbank über den Server bis zu den nativen Clients und nennt die konkreten Befehle.

Wie ewws aufgebaut ist

Drei Komponenten, eine klare Reihenfolge.

ewws besteht aus einer PostgreSQL-Datenbank, dem ewws-Server und den nativen Clients. Die Reihenfolge der Installation ist verbindlich: zuerst die Datenbank, dann der Server, dann die Clients. Alle drei können auf einem einzigen Gerät liegen oder auf getrennten Systemen.

1. PostgreSQL

Die Datenbank ist die Quelle der Wahrheit. Sie läuft lokal, auf einem dedizierten Server oder bei einem gemanagten Anbieter. Pro Mandant ein eigenes Schema.

2. ewws-Server

Der Server verbindet sich mit PostgreSQL und stellt die Programmierschnittstelle bereit, über die sich alle Clients anmelden. Er läuft als Systemdienst und bringt eine Web-Oberfläche für Einrichtung und Betrieb mit.

3. Clients (macOS, Windows, iPhone)

Die nativen Apps verbinden sich mit dem Server über dessen Adresse. Sie brauchen keine Datenbank-Treiber und keine eigene Laufzeitumgebung.

Schritt 1

PostgreSQL bereitstellen.

ewws setzt PostgreSQL 16 oder neuer voraus. Die Datenbank ist intern abzusichern und vor dem produktiven Start mit einem nachgewiesenen Restore-Drill zu sichern.

Drei Betriebsarten

Lokal auf demselben Gerät, auf einem dedizierten Server im internen Netz, oder bei einem gemanagten Anbieter mit TLS (sslmode=require). Reine Test- oder Gratis-Angebote ohne Betriebszusage sind nicht produktionstauglich.

Mandant entspricht Schema

Jeder Mandant ist ein eigenes PostgreSQL-Schema in derselben ewws-Datenbank. Eine Einzelfirma nutzt public, ein Treuhandbüro pro Kunde ein eigenes Schema (zum Beispiel kunde_mueller). Der Mandantencode beim Login ist genau dieser Schema-Name.

Datenbank und Rolle anlegen

Als PostgreSQL-Superuser eine Datenbank ewws und eine Login-Rolle ewws_app anlegen. Für Treuhand- oder Mehr-Mandanten-Betrieb zusätzlich eine ewws_admin-Rolle für Migrationen und neue Schemas.

CREATE ROLE ewws_app LOGIN PASSWORD '<starkes-passwort>';
CREATE DATABASE ewws OWNER ewws_app
    ENCODING 'UTF8' TEMPLATE template0;

Zugriff absichern

In pg_hba.conf nur die konkreten internen Netze mit scram-sha-256 zulassen, niemals global. Passwörter pro Rolle stark und getrennt. Tägliches Backup und ein getesteter Restore sind Pflicht vor dem produktiven Start.

host  ewws  ewws_app  10.20.30.0/24  scram-sha-256
Schritt 2

ewws-Server installieren.

Der Server wird als nativer Systemdienst installiert und verbindet sich mit der Datenbank. Er bringt seine eigene Laufzeitumgebung mit, eine separate Java-Installation ist nicht nötig.

Installer pro Betriebssystem

macOS: signiertes Paket (.pkg), das einen Systemdienst und einen eigenen Dienst-Account einrichtet. Linux: .deb mit systemd-Dienst. Windows: .msi-Dienst. Der Server hört auf Port 8080.

sudo installer -pkg ewws-server-<version>.pkg -target /

Im Browser einrichten, kein Hand-Editieren

Beim ersten Start öffnet der Server eine geführte Einrichtungsseite im Browser (/setup). Datenbank-Verbindung, erster Mandant und Administrator werden eingegeben, geprüft und gespeichert, ganz ohne Konfigurationsdateien von Hand. Für automatisierte Rollouts lassen sich dieselben Werte vorab als Umgebungsvariablen setzen (EWWS_DB_URL, EWWS_DB_USER, EWWS_DB_PASSWORD; für gemanagte Datenbanken sslmode=require in der URL).

EWWS_DB_URL=jdbc:postgresql://db-01.internal:5432/ewws
EWWS_DB_USER=ewws_app
EWWS_DB_PASSWORD=<secret>
EWWS_DB_SCHEMA=public

Start und Migration

Nach der Einrichtung im Browser legt der Server das Datenbankschema automatisch an und ist sofort betriebsbereit. Danach läuft er als Dienst und startet nach einem Neustart von selbst wieder.

Health-Check

Ein Aufruf des Health-Endpunkts bestätigt, dass Server und Datenbank zusammenspielen. Antwortet er mit Status 200, ist der Server bereit für die Clients.

curl -sSf http://localhost:8080/api/v1/health
Schritt 3

Clients installieren.

Die native App wird auf jedem Arbeitsplatz installiert und beim ersten Start mit Server-Adresse, Mandant und Zugangsdaten verbunden. Die Server-Adresse wird nur bei Bedarf eingeblendet, im Normalfall ist sie vorbelegt.

macOS

Notarisierte App für macOS. Aus dem Download öffnen, in den Programme-Ordner legen, starten. Verfügbar und produktiv im Einsatz.

iOS (iPhone, iPad)

Native App für iPhone und iPad. Sie verbindet sich über HTTPS mit dem Server, für den Zugriff von unterwegs in der Regel über den HTTPS-Edge. Verfügbar auf Anfrage.

Windows

Native Windows-App, ausgeliefert als MSIX-Paket. Verfügbar auf Anfrage.

Und Linux?

Linux ist eine Server-Plattform, kein Desktop-Client: Der ewws-Server läuft nativ auf Linux (.deb/Docker), die Arbeitsplätze nutzen die Mac-, Windows- oder iOS-App.

Erste Anmeldung

Inbetriebnahme und erster Login.

Sobald PostgreSQL, Server und Client stehen, melden Sie sich mit dem Admin-Benutzer an und richten Mandant, Benutzer und Rollen ein.

Server-Adresse

Im Login die Adresse des Servers eintragen, bei lokalem Betrieb zum Beispiel http://localhost:8080/api/v1. Der Verbindungstest bestätigt die Erreichbarkeit.

Mandant und Anmeldung

Den Mandantencode (das PostgreSQL-Schema), den Admin-Benutzer und das Passwort eingeben. Das erste Passwort wird beim Erst-Login gesetzt.

Benutzer, Rollen, MFA

Im Produkt Benutzer und Rollen anlegen, MFA und Wiederherstellungscodes aktivieren. Erst danach den produktiven Betrieb freigeben.

Betrieb

Den Server selbst betreiben, wie die Grossen.

ewws bringt eine vollständige Operations-Konsole mit, erreichbar im Browser unter /admin. Sie behalten den Server im Griff, ohne Spezialwissen, und Ihre Daten bleiben bei Ihnen.

Operations-Konsole

Server-Zustand auf einen Blick: Status, Laufzeit, Speicher, Mandanten, Server-Administratoren, Lizenz, installierte Versionen und Logs. Neustart per Knopfdruck. Angemeldet wird mit einem Administrator-Konto, abgesichert wie die Programmierschnittstelle.

open http://localhost:8080/admin

Wiederherstellung

Klemmt die Datenbank, bleibt die Wiederherstellungsebene unter /recovery erreichbar, datenbank-unabhängig über ein Host-Token. Verbindung korrigieren und neu starten, ohne Kommandozeile.

open http://localhost:8080/recovery
Wenn etwas klemmt

Hilfe und nächste Schritte.

Bei Fragen zur Installation hilft die FAQ weiter, oder Sie schreiben direkt an den Support. Server nicht erreichbar ist meist ein Netz-, Dienst- oder Zertifikatsthema, selten ein Defekt.

Häufige Fragen

Dreissig der häufigsten Fragen zu Editionen, Mac, iOS, Migration, Treuhand, Datenhoheit und Cloud sind dort beantwortet.

FAQ öffnen

Zwei verbindliche Wege, kein Hotline-Labyrinth.

Wir bevorzugen schriftliche Kanäle, weil sie nachvollziehbar bleiben und einen sauberen Audit-Spur erzeugen. Für Notfälle innerhalb der Geschäftszeiten genügt der E-Mail-Eingang.

Support