Compare commits

...

7 Commits

Author SHA1 Message Date
Borgal
747a35e172 Containerquelle auf php:8.3 geändert 2025-09-18 15:02:45 +00:00
abdf5f660a paperless/README.md aktualisiert 2025-08-20 22:10:16 +00:00
Borgal
9dde4b5a25 Änderung DNS 2025-04-08 20:07:40 +00:00
Borgal
1a004a8490 env File angepasst 2025-04-02 19:31:15 +00:00
Borgal
72f4eb56f9 homeassistant/config angepasst 2025-02-07 09:04:27 +00:00
Borgal
f412d0889c homeassistant/config angepasst 2025-02-07 09:02:47 +00:00
Borgal
4f0d9f10a4 vdr/Searchtime neu eingelesen 2025-01-14 17:59:43 +00:00
8 changed files with 238 additions and 46 deletions

View File

@@ -0,0 +1,16 @@
- id: '1734541261890'
alias: Batteriewarnung X5
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.max_watch_battery_max
below: 29.9
conditions: []
actions:
- action: notify.mobile_app_s20_lars
metadata: {}
data:
message: Batterie X5 unter 30%
title: Warnung
mode: single

View File

@@ -0,0 +1,37 @@
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
# Localhost als erlaubter zugang zulassen
homeassistant:
external_url: "https://ha.borgal.de"
internal_url: "https://docker:8123"
customize:
sensor.bitshake_smartmeterreader_aktuelle_wirkleistung:
unit_of_measurement: "W"
device_class: energy
sensor.bitshake_smartmeterreader_total_in:
unit_of_measurement: "kWh"
device_class: energy
sensor.bitshake_smartmeterreader_total_out:
unit_of_measurement: "kWh"
device_class: energy
http:
use_x_forwarded_for: true
trusted_proxies:
#- 0.0.0.0
- 192.168.0.111 # IP Docker
- 10.1.0.0/16 # IP Range Docker Container

View File

@@ -14,5 +14,8 @@ services:
privileged: true
environment:
- TZ=Europe/Berlin
labels:
- com.centurylinklabs.watchtower.enable=true
restart: unless-stopped
network_mode: host

View File

@@ -9,6 +9,8 @@ IMMICH_VERSION=release
# Connection secrets for postgres and typesense. You should change these to random passwords
TYPESENSE_API_KEY=some-random-text
DB_PASSWORD=ChangeMe
IMMICH_HOST=0.0.0.0
PUBLIC_URL=https://immich.domain.de
# The values below this line do not need to be changed
###################################################################################

View File

@@ -18,4 +18,143 @@
<p></p>
<h5>gegebenfalls noch die NFS Tools installieren</h5>
<pre>apt install nfs-common</pre>
<p></p>
<p></p>
# Update Paperless-ngx mit DB-upgrade !
### Schritt 1: Datenbank sichern und vorbereiten
1. **Stoppen Sie den `webserver`-Dienst**, um zu verhindern, dass die Anwendung während des Backups Daten in die Datenbank schreibt. Der `db`-Dienst muss dabei **laufen**.
```
docker compose stop webserver
```
2. **Überprüfen Sie, ob der `db`-Dienst läuft**.
```
docker compose ps
```
Der Status von `paperless_db` sollte `Up` sein. Wenn er nicht läuft, müssen Sie die Logs mit `docker compose logs db` überprüfen, um das Problem zu beheben, bevor Sie fortfahren.
3. **Führen Sie den Backup-Befehl aus**. Dieser Befehl startet `pg_dump` innerhalb des laufenden `db`-Containers und speichert die Ausgabe in eine Datei auf Ihrem Host.
```
docker compose exec db pg_dump -U paperless -Fc paperless > paperless_db_backup.dump
```
Eine komprimierte Backup-Datei namens `paperless_db_backup.dump` wird im selben Verzeichnis wie Ihre `docker-compose.yml` erstellt.
----------
### Schritt 2: `docker-compose.yml` aktualisieren
1. **Stoppen Sie alle Dienste**, um eine saubere Ausgangsbasis zu schaffen.
```
docker compose down
```
2. **Bearbeiten Sie Ihre `docker-compose.yml`-Datei.**
- Ändern Sie das `image` für den `db`-Dienst von `postgres:13` auf `postgres:17`.
- **Wichtig:** Ändern Sie den `volumes`-Pfad für die neuen Datenbankdaten, um zu verhindern, dass die alten Daten überschrieben werden. PostgreSQL-Versionen sind nicht direkt kompatibel.
YAML
```
# ...
services:
# ...
db:
image: docker.io/library/postgres:17 # Version geändert
container_name: paperless_db
restart: unless-stopped
volumes:
- ./db_v17_data:/var/lib/postgresql/data # WICHTIG: Pfad geändert
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
labels:
- "com.centurylinklabs.watchtower.monitor-only=true"
# ...
```
3. **Starten Sie nur den neuen Datenbank-Container**.
```
docker compose up -d db
```
Dadurch wird ein neuer, leerer PostgreSQL 17-Container erstellt.
4. **Importieren über einen temporären Ordner**.
```
docker compose cp paperless_db_backup.dump db:/tmp/paperless_db_backup.dump
```
Dieser Befehl kopiert Ihre lokale Backup-Datei in das `/tmp`-Verzeichnis des laufenden `db`-Containers.
2. **Stellen Sie das Backup im Container wieder her:**
```
docker compose exec db sh -c "pg_restore -U paperless -d paperless /tmp/paperless_db_backup.dump"
```
Hierbei übergeben Sie den Pfad der Datei direkt an den `pg_restore`-Befehl, anstatt die Eingabe umzuleiten.
### Letzter Schritt: Dienste starten und bereinigen
1. **Starten Sie die Paperless-ngx-Dienste:** Führen Sie den folgenden Befehl aus, um alle Dienste, einschließlich des `webserver`s, zu starten.
Bash
```
docker compose up -d
```
2. **Überprüfen Sie die Funktionalität:** Öffnen Sie die Paperless-ngx-Weboberfläche in Ihrem Browser. Melden Sie sich an und überprüfen Sie, ob Ihre Dokumente korrekt angezeigt werden und die Anwendung wie erwartet funktioniert.
3. **Bereinigen Sie die temporären Dateien:** Wenn alles einwandfrei läuft, können Sie die erstellten Sicherungsdateien löschen.
Bash
```
rm paperless_db_backup.dump
```
Sie können auch das alte Datenbank-Volume löschen, um Speicherplatz freizugeben.
4. **Löschen Sie die alte Datenbank (optional):** Falls Sie das alte Datenbank-Volume nicht mehr benötigen, können Sie es ebenfalls entfernen. **Seien Sie hier vorsichtig, um keine wichtigen Daten zu verlieren.**
Bash
```
docker volume ls # find the old volume name
docker volume rm <old_volume_name>
```
Herzlichen Glückwunsch, Ihre PostgreSQL-Datenbank wurde erfolgreich von Version 13 auf 17 migriert!

View File

@@ -1,39 +1,13 @@
2:Ich bin ein Star:1:2000:0015:1:S19.2E-1-1057-61200:0:0:1:0:0:0:::1:0:0:1::50:99:2:30:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
6:Germany's next Topmodel:1:2000:2200:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
7:Daniela Katzenberger:1:2000:2300:1:S19.2E-1-1057-61205:0:0:1:1:1:0:::0:0:0:0:Daniela Katzenberger:50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
15:Modern Family:1:2200:0000:1:S19.2E-1-1057-61200:0:0:1:1:1:0:::1:1:-16:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
16:Goodbye Deutschland!:1:2000:2230:1:S19.2E-1-1057-61201:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
17:Der Bachelor:1:2000:2200:1:S19.2E-1-1057-61200:0:0:1:1:1:0:::0:1:-8:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
18:Die Bachelorette:1:2000:2200:1:S19.2E-1-1057-61200:0:0:1:1:1:0:::0:1:-8:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
21:The Taste:1:2000:2200:1:S19.2E-1-1017-61300:0:0:1:1:1:0:::0:1:-8:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
26:The Mick:0:::1:S19.2E-1-1017-61301:0:0:1:0:0:0:::1:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
27:Get the F*ck out of my House:1:2000:2200:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::1:1:-16:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
28:Sekretärinnen:0:::1:S19.2E-1-1057-61200:0:0:1:1:1:0:::1:1:-16:1::50:99:2:10:0:0:0::1:0:0:1:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
33:Akte X:1:2000:2300:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::1:0:0:0:1:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
33:Akte X:1:2000:2300:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::1:0:0:0:1:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
34:The Orville:1:2000:2359:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::1:0:0:0:1:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
35:Einstein:1:2000:2300:1:S19.2E-1-1017-61300:0:0:1:1:1:0:::1:1:-4:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
37:Jenny - echt gerecht!:1:2000:2300:1:S19.2E-1-1057-61200:0:0:1:1:1:0:::1:1:-4:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
38:jerks.:1:2000:0000:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::1:1:-4:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
39:The Masked Singer:1:2000:2200:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
40:Das Sommerhaus der Stars:1:2000:2300:1:S19.2E-1-1057-61200:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
41:Promi Big Brother:1:2000:0200:1:S19.2E-1-1017-61300:0:0:1:1:1:0:::1:0:0:1::50:99:2:20:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
42:the voice:1:2000:2200:1:S19.2E-1-1017-61300|S19.2E-1-1017-61301:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
46:bachelor in Paradise:1:2000:2200:1:S19.2E-1-1057-61200:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
41:Promi Big Brother:1:2000:0200:1:S19.2E-1-1017-61300:0:0:1:1:1:0:::0:0:0:1::50:99:2:20:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
51:Promis unter Palmen:1:2000:2200:1:S19.2E-1-1017-61300:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
52:ancient aliens:1:2000:2300:1:S19.2E-1-1017-61305:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::1:0:1:1:1:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
55:Kampf der Realitystars:1:2000:2200:1:S19.2E-1-1057-61205:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
56:Love Island:1:2000:2300:1:S19.2E-1-1057-61205:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
52:ancient aliens:1:2000:2300:1:S19.2E-1-1017-61305:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::1:0:1:1:1:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
57:Das perfekte Dinner:1:1800:2000:1:S19.2E-1-1057-61201:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
58:Temptation Island:0:::1:S19.2E-1-1057-61200:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
59:Ninja Warrior Germany Kids:0:::1:S19.2E-1-1041-11931:0:0:1:1:1:0:::1:1:-32:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
61:Die Geissens:1:2000:2330:1:S19.2E-1-1057-61205:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::1:0:1:1:1:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
62:Are you the one:1:2000:2300:1:S19.2E-1-1057-61200:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::1:0:1:1:1:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
65:5 Senses for Love:1:2000:2359:1:S19.2E-1-1017-61300:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::1:0:1:1:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
66:Beauty & The Nerd:1:2000:2300:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
68:Lego Masters:1:2000:2300:1:S19.2E-1-1057-61200:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
70:Hochzeit auf den ersten Blick:1:2000:2300:1:S19.2E-1-1017-61300:0:0:1:1:1:0:::1:0:0:0:Hochzeit auf den ersten Blick:50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
71:8 Zeugen:1:2000:0000:1:S19.2E-1-1019-10301|S19.2E-1-1041-11931:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
72:Das große Promi-Büßen:1:2000:2300:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
73:Frau Jordan stellt gleich:1:2000:2359:1:S19.2E-1-1017-61301:0:0:1:1:1:0:::1:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
76:Wer stiehlt die Show:1:2000:2300:1:S19.2E-1-1017-61301:0:1:1:1:1:0:::1:0:0:1:Wer stiehlt mir die Show?:50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
78:Deutschland sucht den Superstar:1:2000:2200:1:S19.2E-1-1057-61200:0:0:1:1:1:0:::0:0:0:1::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0
77:Schlag den Star:1:2000:2200:1:S19.2E-1-1017-61301:0:0:1:0:0:0:::1:0:0:1:Schlag den Star:50:99:2:10:0:0:0::1:0:0:1:1:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0

View File

@@ -4,6 +4,10 @@ services:
container_name: wg-easy
environment:
- WG_HOST=${HOST}
#
# Probier mal diese Zeile ohne dem #
#- WG_DEFAULT_DNS=192.168.0.1
#
#- WG_DEFAULT_DNS=192.168.0.111, 10.1.6.2, localdomain
#- WG_ALLOWED_IPS=10.8.0.0/24, 192.168.0.0/24
- PASSWORD_HASH=${HASH}
@@ -21,3 +25,6 @@ services:
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
labels:
- com.centurylinklabs.watchtower.enable=true

View File

@@ -1,42 +1,56 @@
services:
webserver:
build: .
container_name: webserver-app
ports:
image: php:8.3-apache
container_name: webserver-app
ports:
- "8180:80"
environment:
- TZ=Europe/Berlin
volumes:
volumes:
- www:/var/www/html
- energie:/var/www/html/knx/archiv
- /etc/localtime:/etc/localtime:ro
links:
depends_on:
- database
# Befehl, um mysqli und rewrite zu aktivieren
command: |
sh -c "
docker-php-ext-install mysqli pdo pdo_mysql &&
a2enmod rewrite &&
apache2-foreground
"
labels:
com.centurylinklabs.watchtower.enable: "false"
com.centurylinklabs.watchtower.enable: 'false'
restart: unless-stopped
database:
image: mariadb:latest
image: mariadb:10.11
container_name: webserver_db
environment:
environment:
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE:-appdb}
- TZ=Europe/Berlin
volumes:
volumes:
- ./dbdata:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
command: --default-authentication-plugin=mysql_native_password
restart: unless-stopped
phpmyadmin:
image: phpmyadmin/phpmyadmin
image: phpmyadmin/phpmyadmin:latest
container_name: web_phpmyadmin
links:
- database:db
depends_on:
- database
ports:
- 8087:80
- "8087:80"
environment:
- PMA_HOST=database
- PMA_PORT=3306
- PMA_USER=${MYSQL_USER}
- PMA_PASSWORD=${MYSQL_PASSWORD}
- PMA_ARBITRARY=0
- TZ=Europe/Berlin
restart: unless-stopped
@@ -55,4 +69,4 @@ volumes:
driver_opts:
type: nfs4
o: addr=${NFS_SERVER},rw
device: ":${PFAD_2}"
device: ":${PFAD_2}"