Compare commits
20 Commits
8b73baa31d
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
747a35e172 | ||
| abdf5f660a | |||
|
|
9dde4b5a25 | ||
|
|
1a004a8490 | ||
|
|
72f4eb56f9 | ||
|
|
f412d0889c | ||
|
|
4f0d9f10a4 | ||
|
|
e830b0983b | ||
|
|
f552e62ada | ||
|
|
bff16494fa | ||
|
|
96fb419f7d | ||
|
|
70896a9c83 | ||
|
|
ab7fced15f | ||
|
|
fd74551bc2 | ||
|
|
a6dfd7c820 | ||
|
|
30c22ce093 | ||
|
|
c85101b221 | ||
|
|
00128f9b55 | ||
|
|
ce78560129 | ||
|
|
e91cec5420 |
8
bitwarden/.env.sample
Normal file
8
bitwarden/.env.sample
Normal 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'
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
services:
|
services:
|
||||||
bitwarden:
|
bitwarden:
|
||||||
image: vaultwarden/server:latest
|
image: vaultwarden/server:latest-alpine
|
||||||
container_name: bitwarden
|
container_name: bitwarden
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Berlin
|
- TZ=Europe/Berlin
|
||||||
|
# - ADMIN_TOKEN=${ADMIN_TOKEN} # Wird die Admin-Page nicht gebraucht, bitte auskommentieren
|
||||||
volumes:
|
volumes:
|
||||||
- /opt/bitwarden/bwdata/:/data/
|
- /opt/bitwarden/bwdata/:/data/
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
|
PASS=ChangeMe
|
||||||
NFS_SERVER=192.168.0.xxx # oder hostname oder Domain
|
NFS_SERVER=192.168.0.xxx # oder hostname oder Domain
|
||||||
PFAD=/Pfad/zum/Ordner
|
PFAD=/Pfad/zum/Ordner
|
||||||
@@ -6,7 +6,7 @@ services:
|
|||||||
- PUID=0
|
- PUID=0
|
||||||
- PGID=0
|
- PGID=0
|
||||||
- TZ=Europe/Berlin
|
- TZ=Europe/Berlin
|
||||||
- CLI_ARGS= #optional
|
- DUPLICATI__WEBSERVICE_PASSWORD=${PASS}
|
||||||
volumes:
|
volumes:
|
||||||
- ./config:/config
|
- ./config:/config
|
||||||
- backup:/backups
|
- backup:/backups
|
||||||
|
|||||||
@@ -16,6 +16,21 @@ services:
|
|||||||
- INFLUXDB_LOGGING_LEVEL=warn
|
- INFLUXDB_LOGGING_LEVEL=warn
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
chronograf:
|
||||||
|
image: chronograf:1.6
|
||||||
|
container_name: chronograf
|
||||||
|
volumes:
|
||||||
|
- ./chronograf_data:/var/lib/chronograf
|
||||||
|
ports:
|
||||||
|
- 8088:8888
|
||||||
|
depends_on:
|
||||||
|
- influxdb
|
||||||
|
environment:
|
||||||
|
- INFLUXDB_URL=http://influxdb:8086
|
||||||
|
- INFLUXDB_USERNAME=${INFLUXDB_USERNAME}
|
||||||
|
- INFLUXDB_PASSWORD=${INFLUXDB_PASSWORD}
|
||||||
|
restart: always
|
||||||
|
|
||||||
grafana:
|
grafana:
|
||||||
image: grafana/grafana:latest
|
image: grafana/grafana:latest
|
||||||
container_name: grafana
|
container_name: grafana
|
||||||
|
|||||||
16
homeassistant/config/automations.yaml
Normal file
16
homeassistant/config/automations.yaml
Normal 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
|
||||||
37
homeassistant/config/configuration.yaml
Normal file
37
homeassistant/config/configuration.yaml
Normal 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
|
||||||
@@ -7,11 +7,15 @@ services:
|
|||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /dev/serial/by-id:/dev/serial/by-id
|
- /dev/serial/by-id:/dev/serial/by-id
|
||||||
devices:
|
devices:
|
||||||
- /dev/ttyACM0:/dev/ttyACM0
|
# - /dev/ttyACM0:/dev/ttyACM0
|
||||||
|
- /dev/ttyUSB0:/dev/ttyUSB0
|
||||||
ports:
|
ports:
|
||||||
- 8123:8123
|
- 8123:8123
|
||||||
privileged: true
|
privileged: true
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Berlin
|
- TZ=Europe/Berlin
|
||||||
|
labels:
|
||||||
|
- com.centurylinklabs.watchtower.enable=true
|
||||||
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
network_mode: host
|
network_mode: host
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ IMMICH_VERSION=release
|
|||||||
# Connection secrets for postgres and typesense. You should change these to random passwords
|
# Connection secrets for postgres and typesense. You should change these to random passwords
|
||||||
TYPESENSE_API_KEY=some-random-text
|
TYPESENSE_API_KEY=some-random-text
|
||||||
DB_PASSWORD=ChangeMe
|
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
|
# The values below this line do not need to be changed
|
||||||
###################################################################################
|
###################################################################################
|
||||||
|
|||||||
5
jellyfin/.env.sample
Normal file
5
jellyfin/.env.sample
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
NFS_SERVER=192.168.0.xxx
|
||||||
|
PFAD=/Pfad/zu/den/Videos
|
||||||
|
#
|
||||||
|
# Auf Rechte achten
|
||||||
|
#
|
||||||
28
jellyfin/docker-compose.yml
Normal file
28
jellyfin/docker-compose.yml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
services:
|
||||||
|
jellyfin:
|
||||||
|
image: lscr.io/linuxserver/jellyfin:latest
|
||||||
|
container_name: jellyfin
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1001
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
#- JELLYFIN_PublishedServerUrl=http://192.168.0.5 #optional
|
||||||
|
volumes:
|
||||||
|
- ./config:/config
|
||||||
|
#- /path/to/tvseries:/data/tvshows
|
||||||
|
- video:/data/movies
|
||||||
|
ports:
|
||||||
|
- 8097:8096
|
||||||
|
#- 8920:8920 #optional
|
||||||
|
#- 7359:7359/udp #optional
|
||||||
|
#- 1900:1900/udp #optional
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
video:
|
||||||
|
name: video
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: nfs4
|
||||||
|
o: addr=${NFS_SERVER},rw
|
||||||
|
device: ":${PFAD}"
|
||||||
22
kasm/docker-compose.yml
Normal file
22
kasm/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
services:
|
||||||
|
kasm:
|
||||||
|
image: lscr.io/linuxserver/kasm:latest
|
||||||
|
container_name: kasm
|
||||||
|
privileged: true
|
||||||
|
security_opt:
|
||||||
|
- apparmor:rootlesskit #optional
|
||||||
|
environment:
|
||||||
|
- KASM_PORT=8443
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
- PGID=1000
|
||||||
|
- PUID=1001
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- ./data:/opt
|
||||||
|
- ./profiles:/profiles
|
||||||
|
- ./dev/input:/dev/input
|
||||||
|
- ./run/udev/data:/run/udev/data
|
||||||
|
ports:
|
||||||
|
- 3001:3000
|
||||||
|
- 8443:8443
|
||||||
|
restart: unless-stopped
|
||||||
@@ -19,3 +19,142 @@
|
|||||||
<h5>gegebenfalls noch die NFS Tools installieren</h5>
|
<h5>gegebenfalls noch die NFS Tools installieren</h5>
|
||||||
<pre>apt install nfs-common</pre>
|
<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!
|
||||||
@@ -48,19 +48,16 @@ services:
|
|||||||
- "com.centurylinklabs.watchtower.monitor-only=true"
|
- "com.centurylinklabs.watchtower.monitor-only=true"
|
||||||
|
|
||||||
webserver:
|
webserver:
|
||||||
image: ghcr.io/paperless-ngx/paperless-ngx
|
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
||||||
container_name: paperless_app
|
container_name: paperless_app
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
- broker
|
- broker
|
||||||
|
- gotenberg
|
||||||
|
- tika
|
||||||
ports:
|
ports:
|
||||||
- 8009:8000
|
- 8009:8000/tcp
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:8000"]
|
|
||||||
interval: 30s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 5
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/usr/src/paperless/data
|
- ./data:/usr/src/paperless/data
|
||||||
- ./export:/usr/src/paperless/export
|
- ./export:/usr/src/paperless/export
|
||||||
@@ -71,12 +68,13 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
PAPERLESS_REDIS: redis://broker:6379
|
PAPERLESS_REDIS: redis://broker:6379
|
||||||
PAPERLESS_DBHOST: db
|
PAPERLESS_DBHOST: db
|
||||||
|
PAPERLESS_BIND_ADDR: 0.0.0.0
|
||||||
PAPERLESS_TIKA_ENABLED: 1
|
PAPERLESS_TIKA_ENABLED: 1
|
||||||
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
|
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
|
||||||
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
|
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
|
||||||
|
|
||||||
gotenberg:
|
gotenberg:
|
||||||
image: docker.io/gotenberg/gotenberg:7.10
|
image: docker.io/gotenberg/gotenberg:8.7
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
# The gotenberg chromium route is used to convert .eml files. We do not
|
# The gotenberg chromium route is used to convert .eml files. We do not
|
||||||
@@ -88,7 +86,7 @@ services:
|
|||||||
- "--api-timeout=60"
|
- "--api-timeout=60"
|
||||||
|
|
||||||
tika:
|
tika:
|
||||||
image: ghcr.io/paperless-ngx/tika:latest
|
image: docker.io/apache/tika:latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: 'jc21/nginx-proxy-manager:latest'
|
image: 'jc21/nginx-proxy-manager:latest'
|
||||||
#image: 'jc21/nginx-proxy-manager:2.10.4'
|
|
||||||
container_name: reverse-proxy
|
container_name: reverse-proxy
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -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
|
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
|
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:::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
|
||||||
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
|
|
||||||
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
|
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
|
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
|
||||||
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
|
|
||||||
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
|
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
|
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
|
||||||
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
|
|
||||||
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
|
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
|
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
|
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
|
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
|
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
|
||||||
|
|||||||
@@ -4,9 +4,15 @@ services:
|
|||||||
container_name: wg-easy
|
container_name: wg-easy
|
||||||
environment:
|
environment:
|
||||||
- WG_HOST=${HOST}
|
- WG_HOST=${HOST}
|
||||||
- WG_DEFAULT_DNS=192.168.0.1, fritz.box
|
#
|
||||||
- WG_ALLOWED_IPS=10.8.0.0/24, 192.168.0.0/24
|
# 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}
|
- PASSWORD_HASH=${HASH}
|
||||||
|
- UI_TRAFFIC_STATS=true
|
||||||
|
- UI_CHART_TYPE=3
|
||||||
volumes:
|
volumes:
|
||||||
- ./wg-easy:/etc/wireguard
|
- ./wg-easy:/etc/wireguard
|
||||||
ports:
|
ports:
|
||||||
@@ -19,3 +25,6 @@ services:
|
|||||||
sysctls:
|
sysctls:
|
||||||
- net.ipv4.ip_forward=1
|
- net.ipv4.ip_forward=1
|
||||||
- net.ipv4.conf.all.src_valid_mark=1
|
- net.ipv4.conf.all.src_valid_mark=1
|
||||||
|
labels:
|
||||||
|
- com.centurylinklabs.watchtower.enable=true
|
||||||
|
|
||||||
|
|||||||
@@ -7,9 +7,10 @@ services:
|
|||||||
- WATCHTOWER_NOTIFICATIONS=gotify
|
- WATCHTOWER_NOTIFICATIONS=gotify
|
||||||
- WATCHTOWER_NOTIFICATION_GOTIFY_URL=https://gotify.borgal.de
|
- WATCHTOWER_NOTIFICATION_GOTIFY_URL=https://gotify.borgal.de
|
||||||
- WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN=AlsHK7YQ17in5Ns
|
- 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_CLEANUP=true
|
||||||
- WATCHTOWER_SCHEDULE=0 00 19 * * *
|
- WATCHTOWER_SCHEDULE=0 0 19 * * *
|
||||||
|
#- WATCHTOWER_MONITOR_ONLY=true
|
||||||
- WATCHTOWER_INCLUDE_RESTARTING=true
|
- WATCHTOWER_INCLUDE_RESTARTING=true
|
||||||
- WATCHTOWER_ROLLING_RESTART=true
|
- WATCHTOWER_ROLLING_RESTART=true
|
||||||
- WATCHTOWER_INCLUDE_STOPPED=true
|
- WATCHTOWER_INCLUDE_STOPPED=true
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
webserver:
|
webserver:
|
||||||
build: .
|
image: php:8.3-apache
|
||||||
container_name: webserver-app
|
container_name: webserver-app
|
||||||
ports:
|
ports:
|
||||||
- "8180:80"
|
- "8180:80"
|
||||||
@@ -10,33 +10,47 @@ services:
|
|||||||
- www:/var/www/html
|
- www:/var/www/html
|
||||||
- energie:/var/www/html/knx/archiv
|
- energie:/var/www/html/knx/archiv
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
links:
|
depends_on:
|
||||||
- database
|
- database
|
||||||
|
# Befehl, um mysqli und rewrite zu aktivieren
|
||||||
|
command: |
|
||||||
|
sh -c "
|
||||||
|
docker-php-ext-install mysqli pdo pdo_mysql &&
|
||||||
|
a2enmod rewrite &&
|
||||||
|
apache2-foreground
|
||||||
|
"
|
||||||
labels:
|
labels:
|
||||||
com.centurylinklabs.watchtower.enable: "false"
|
com.centurylinklabs.watchtower.enable: 'false'
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
database:
|
database:
|
||||||
image: mariadb:latest
|
image: mariadb:10.11
|
||||||
container_name: webserver_db
|
container_name: webserver_db
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_USER=${MYSQL_USER}
|
- MYSQL_USER=${MYSQL_USER}
|
||||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
|
- MYSQL_DATABASE=${MYSQL_DATABASE:-appdb}
|
||||||
- TZ=Europe/Berlin
|
- TZ=Europe/Berlin
|
||||||
volumes:
|
volumes:
|
||||||
- ./dbdata:/var/lib/mysql
|
- ./dbdata:/var/lib/mysql
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
phpmyadmin:
|
phpmyadmin:
|
||||||
image: phpmyadmin/phpmyadmin
|
image: phpmyadmin/phpmyadmin:latest
|
||||||
container_name: web_phpmyadmin
|
container_name: web_phpmyadmin
|
||||||
links:
|
depends_on:
|
||||||
- database:db
|
- database
|
||||||
ports:
|
ports:
|
||||||
- 8087:80
|
- "8087:80"
|
||||||
environment:
|
environment:
|
||||||
|
- PMA_HOST=database
|
||||||
|
- PMA_PORT=3306
|
||||||
|
- PMA_USER=${MYSQL_USER}
|
||||||
|
- PMA_PASSWORD=${MYSQL_PASSWORD}
|
||||||
|
- PMA_ARBITRARY=0
|
||||||
- TZ=Europe/Berlin
|
- TZ=Europe/Berlin
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|||||||
@@ -6,9 +6,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "8014:80"
|
- "8014:80"
|
||||||
volumes:
|
volumes:
|
||||||
# data
|
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
#- Photos:/data/Photos
|
|
||||||
- Backup:/data/Backup
|
- Backup:/data/Backup
|
||||||
# user and password
|
# user and password
|
||||||
- ./user/htpasswd:/opt/nginx/conf/htpasswd:ro
|
- ./user/htpasswd:/opt/nginx/conf/htpasswd:ro
|
||||||
|
|||||||
Reference in New Issue
Block a user