Compare commits

..

12 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
Borgal
e830b0983b watchtower/Test für Monitor only zurückgenomme, da ohne Funktion 2025-01-14 10:10:58 +00:00
Borgal
f552e62ada vpn/Default DNS auf Adgurd IP angepasst 2025-01-14 10:09:19 +00:00
Borgal
bff16494fa homeassistant/USB Device Adresse angepasst 2025-01-14 10:07:51 +00:00
Borgal
96fb419f7d duplicati/Webservice Passwort hinzugefügt 2025-01-14 10:07:03 +00:00
Borgal
70896a9c83 bitwarden/Admin_Token hinzugefügt um Adminpage zu öffnen - benötigt für eMail 2025-01-14 10:03:32 +00:00
13 changed files with 256 additions and 52 deletions

8
bitwarden/.env.sample Normal file
View File

@@ -0,0 +1,8 @@
# Admin-Token für die Anmeldung der Admin-Page
# Anmeldung über https: bitwarden.MyDomain.de/admin
# Hier ist das Passwort anzugeben, womit der Token erzeugt wurde
# Den Token kann man z.B. über docker exec -it bitwarden ./vaultwarden hash erzeugen
# WICHTIG - Wird die Admin Page nicht benötigt, dann sollte man die Zeile ADMIN_TOKEN in der docker-compose Datei mit einem # auskommentieren
ADMIN_TOKEN='ChangeMe'

View File

@@ -1,10 +1,10 @@
services:
bitwarden:
#image: vaultwarden/server:latest
image: vaultwarden/server:latest-alpine
container_name: bitwarden
environment:
- TZ=Europe/Berlin
# - ADMIN_TOKEN=${ADMIN_TOKEN} # Wird die Admin-Page nicht gebraucht, bitte auskommentieren
volumes:
- /opt/bitwarden/bwdata/:/data/
ports:

View File

@@ -1,2 +1,3 @@
PASS=ChangeMe
NFS_SERVER=192.168.0.xxx # oder hostname oder Domain
PFAD=/Pfad/zum/Ordner

View File

@@ -6,7 +6,7 @@ services:
- PUID=0
- PGID=0
- TZ=Europe/Berlin
- CLI_ARGS= #optional
- DUPLICATI__WEBSERVICE_PASSWORD=${PASS}
volumes:
- ./config:/config
- backup:/backups

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

@@ -7,11 +7,15 @@ services:
- /etc/localtime:/etc/localtime:ro
- /dev/serial/by-id:/dev/serial/by-id
devices:
- /dev/ttyACM0:/dev/ttyACM0
# - /dev/ttyACM0:/dev/ttyACM0
- /dev/ttyUSB0:/dev/ttyUSB0
ports:
- 8123:8123
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,10 +4,15 @@ services:
container_name: wg-easy
environment:
- WG_HOST=${HOST}
- WG_DEFAULT_DNS=192.168.0.111, 10.1.6.2, localdomain
#
# 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}
- UI_TRAFFIC_STATS=true
- UI_CHART_TYPE=3
volumes:
- ./wg-easy:/etc/wireguard
ports:
@@ -20,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

@@ -7,9 +7,10 @@ services:
- WATCHTOWER_NOTIFICATIONS=gotify
- WATCHTOWER_NOTIFICATION_GOTIFY_URL=https://gotify.borgal.de
- WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN=AlsHK7YQ17in5Ns
- WATCHTOWER_WARN_ON_HEAD_FAILURE=auto #always, auto, never, stand auf never
- WATCHTOWER_WARN_ON_HEAD_FAILURE=auto #always, auto, never, stand auf never
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 00 19 * * *
- WATCHTOWER_SCHEDULE=0 0 19 * * *
#- WATCHTOWER_MONITOR_ONLY=true
- WATCHTOWER_INCLUDE_RESTARTING=true
- WATCHTOWER_ROLLING_RESTART=true
- WATCHTOWER_INCLUDE_STOPPED=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}"