# Installation ## Docker Die einfachste Art, Widerhall einzusetzen, ist Docker zu verwenden. Wenn du Docker schon am Laufen hast musst du nur noch folgendes tun: 1. [Dockerfile](../Dockerfile) herunterladen 2. Image erstellen: `docker build -t widerhall /path-to-dockerfile/` 3. Container starten: ```bash docker run \ --name widerhall \ -d widerhall ``` Danach solltest du zu http:/// navigieren können. ### Konfiguration, Daten-Persistenz Um Daten über Computer/Docker-Neustarts hinaus zu erhalten, muss ein _Volume_ in den Container eingebunden werden: ```bash docker run \ --name widerhall \ -v /some/directory:/data -d widerhall ``` _Widerhall_ wird alle zu speichernden Daten in `/data`, also dem eingebundenen Speicher, ablegen. * `widerhall.sqlite3` – dies ist die Haupt-Datenbank-Datei. Passen Sie gut darauf auf! * `widerhall.config.json` – dies ist die Haupt-Konfigurations-Datei. Dort können Sie die vorgegebenen Einstellungen überschreiben. * `archive` – Hier werden gespeicherte Emails abgelegt. Diese Dateien/Verzeichnisse werden beim ersten Start (oder wenn Sie zwischenzeitlich gelöscht wurden) angelegt. Die Konfiguration ist wie folgt aufgebaut: ```json { "port":80, "base_url":"https://widerhall.srsoftware.de", "locations":{ "database":"/data/widerhall.sqlite3", "configuration":"/data/widerhall.config.json", "archive":"/data/archive", "base":"/Widerhall" } } ``` * Die `base_url` sollte so angepasst werden, dass sie Ihren Server-Einstellungen entspricht. * Falls Sie die Datenbankdatei an einem anderen Ort speichern wollen, ändern Sie den `database`-Eintrag. * Wenn Sie die `configuration`-Einstellung überschreiben, wird _Widerhall_ seine Konfiguration ersetzen mit der Datei, die an der angegebenen Stelle gefunden wird. * Falls das Mail-Archiv an einem anderen Ort gespeichert werden soll, kann der `archive`-Eintrag angepasst werden. * `base` sollte auf das Installations-Verzeichnis von _Widerhall_ zeigen. Standardmäßig ist das _/Widerhall_. ### SSL termination _Widerhall_ versucht alles einfach zu halten. Der eingebaute Webserver hat keine Ahnung von SSL. Wenn Sie die Website sicher betreiben wollen, lassen Sie _Widerhall_ hintereinem **reverse proxy**, wie z.B. [nginx_proxy] laufen. ## Maven _Widerhall_ ist ein Java-Project, welches mit Apache Maven gebaut werden kann. Fall Sie eine aktuelle Java-Installation (Java 17+) und Maven auf Ihrem System haben, sollten Sie _Widerhall_ wie folgt compilieren können: 1. Holen Sie sich den Programm-Code: `git clone https://git.srsoftware.de/StephanRichter/Widerhall.git` 2. Wechseln Sie ins heruntergeladene Verzeichnis: `cd Widerhall` 3. Erzeugen Sie das ausführbare JAR-Archiv: `mvn clean test compile assembly:single` 4. Starten Sie das JAR: `java -jar target/*.jar` # Übersetzungen Die Übersetzungen von _Widerhall_ werden als Branches des Quellcodes gepflegt: * _main_-Branch: english * _lang_de_-Branch: deutsch Einfach die Sprache Ihrer Wahl auschecken. [nginx_proxy]: https://github.com/nginx-proxy/nginx-proxy