# EPIWebview

- **aktuellste stable Version:** 1.10.2  
- **Lizenz:** Creative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0). Einsehbar unter: (LICENSE.MD)
- **Kompatibilität:** Erweiterung für **Epirent** und **CrewBrain**

---

## Übersicht

**EPIWebview** ist eine Web-basierte Erweiterung für die Vermietsoftware **Epirent**, die es ermöglicht Packscheine und Aufgaben übersichtlich darzustellen
Die Anwendung ist speziell für den Einsatz in Lagerprozessen entwickelt.

---

## Hauptfunktionen

- **Check-In / Check-Out Übersicht**: Lagermonitor 
- **Integration mit Epirent API**: Vollständig kompatibel mit bestehenden Epirent-Systemen.
- **Integration mit Crewbrain**: Anzeige einer Aufgabenliste aus CrewBrain

---



## Systemanforderungen

- **Server:** PHP ≥ 8.2, Apache oder Nginx
   - Achtung !!: Für die Return of Invest Funktion oder den Warengruppencheck / Imagechecks sollten in der php.ini die max_execution_time und die maximale Dateigröße deutlich nach oben korrigiert werden. Die ROI Funktion kann gut und gerne 20 Minuten laden!. Foglende PHP Funktionen müssen aktiviert werden: curl, gzcompress, Imagick, gd
- **Client:** Aktueller Browser (Chrome, Edge, Firefox, Safari)  
- **Datenquelle:** Bestehende Epirent-Installation mit aktivierter API sowie optional CrewBrain

---

## Installation

1. Repository klonen oder Dateien ins Webverzeichnis kopieren:
   ```bash
   git clone http://srvgitea01.vtm.zone:3000/epi/EpiWebview
2. Config-Seite unter /dist/editconfig.php aufrufen, notwendige Einstellungen vornehmen -> Speichern. Wichtig! Verzeichnis muss für Webserver beschreibbar sein!
3. Alternativ: example.config.php nach config.php kopieren! (example.config.php darf nicht gelöscht werden!)


---

## Update

1. Repository klonen oder Dateien ins Webverzeichnis kopieren, dabei alte Dateien löschen (bis auf config.php):
   ```bash
   git clone http://srvgitea01.vtm.zone:3000/epi/EpiWebview
2. Einmalig die Config-Seite aufrufen und speichern drücken. Dadurch werden geupdatete Config-Felder übernommen


## Changelog
Verschoben in Releases (Git)
---

# Installation als Docker Containerr
Folgende drei Dateien anlegen:
docker-compose.yml
   ```
   version: "3.8"

services:
  web:
    build: .
    container_name: epiwebview-apache-php
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - /volume1/docker/epiwebview/www:/var/www/html
      - /volume1/docker/epiwebview/php.ini:/usr/local/etc/php/php.ini
```

Dockerfile
```
FROM php:8.2-apache
RUN apt-get update && apt-get install -y \
    git \
    libcurl4-openssl-dev \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    zlib1g-dev \
    libmagickwand-dev \
    unzip \
    && rm -rf /var/lib/apt/lists/*
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install curl gd \
    && pecl install imagick \
    && docker-php-ext-enable imagick
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
WORKDIR /var/www/html
ENTRYPOINT ["/entrypoint.sh"]
```

entrypoint.sh
```
#!/bin/bash
set -e

if [ -z "$(ls -A /var/www/html 2>/dev/null)" ]; then
    echo "Klonen von EpiWebview..."
    git clone https://srvgitea01.vtm.zone/epi/EpiWebview /var/www/html
else
    echo "www-Verzeichnis ist nicht leer, Clone wird übersprungen."
fi

chown -R www-data:www-data /var/www/html

apache2-foreground
```

Container starten:
```
sudo docker compose up -d --build
```

Containerstatus prüfen:
```
sudo docker compose ps
```

Dann die config example in eine config.php kopieren.



## Update des Containers aus dem Git Repo:
```
cd /volume1/docker/epiwebview
sudo docker exec -it epiwebview-apache-php bash
cd /var/www/html
git pull
```