Compare commits

...

48 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
Borgal
ab7fced15f vpn/DNS angepasst 2024-11-26 23:43:40 +00:00
Borgal
fd74551bc2 paperless/Quellen aktualisiert und IPV6 entfernt 2024-11-26 23:40:47 +00:00
Borgal
a6dfd7c820 kasm/initial hinzugefügt 2024-11-17 21:04:19 +00:00
Borgal
30c22ce093 jellyfin/initial hinzugefügt 2024-11-17 21:03:58 +00:00
Borgal
c85101b221 webdav/Photo entfernt 2024-11-17 21:01:55 +00:00
Borgal
00128f9b55 grafana/chronograph hinzugefügt 2024-11-17 20:54:49 +00:00
Borgal
ce78560129 bitwarden/Auf Alpine Image gewechselt 2024-11-17 20:53:47 +00:00
Borgal
e91cec5420 proxy/auf latest Image gewechselt 2024-11-17 20:52:39 +00:00
Borgal
8b73baa31d vdr/markad deaktiviert zum testen 2024-10-25 18:42:11 +00:00
Borgal
2bd7e71378 proxy/Image auf neueste Version angepasst 2024-10-25 18:41:04 +00:00
Borgal
003a4ccfef immich/Port angepasst 2024-10-25 18:40:05 +00:00
Borgal
3221d41d93 grafana/Netzwerk angepasst 2024-10-25 18:39:15 +00:00
Borgal
97c6848dab paperless/API Timeout hinzugefügt 2024-10-01 21:07:30 +00:00
Borgal
7085b45442 vpn/Passwort auf HASH umgestellt 2024-10-01 21:05:43 +00:00
Borgal
b2b7a0eec0 immich/DB Command hinzugefügt 2024-10-01 21:04:23 +00:00
Borgal
b923f5bb10 watchtower/Uhrzeit angepasst 2024-08-16 08:21:03 +00:00
Borgal
78609fbc13 paperless/Officeunterstützung hinzugefügt 2024-07-23 20:42:14 +00:00
Borgal
9fb4fbc8d3 paperless/README.md aktualisiert 2024-07-18 14:01:37 +00:00
Borgal
df2ed521c9 paperless/Scripts hinzugefügt 2024-07-18 14:00:16 +00:00
Borgal
a92189f5a1 paperless/Barcode und Blankpage entfernen hinzugefügt 2024-07-18 13:55:17 +00:00
Borgal
f2d5f3008d paperless/README.md aktualisiert 2024-07-17 16:35:18 +00:00
Borgal
1ae807cc67 immich/Microservice entfernt, da nicht mehr benötigt 2024-07-06 23:11:50 +00:00
Borgal
cd3fe20478 node-red/user wieder hinzugefügt 2024-07-01 14:46:25 +00:00
Borgal
07d1218d72 unifi/README.md aktualisiert 2024-07-01 14:44:51 +00:00
Borgal
0a7c2633b1 unifi/restart angepasst 2024-06-28 15:41:39 +00:00
Borgal
78f66e8491 node-red/user deaktiviert 2024-06-28 15:40:52 +00:00
Borgal
b34ba31747 mealie/restart angepasst 2024-06-28 15:40:00 +00:00
Borgal
07a7e94edf paperless/healthcheck aktiviert 2024-06-28 15:38:48 +00:00
Borgal
80dcec9d92 Merge branch 'master' of http://git.borgal.de/Borgal/docker 2024-06-27 15:43:30 +00:00
Borgal
475420360d README.md aktualisiert 2024-06-27 15:42:36 +00:00
Borgal
4c22177292 vpn/auf neue Quelle geändert 2024-06-27 15:07:49 +00:00
Borgal
728b2dbc8d README.md aktualisiert 2024-06-27 14:43:24 +00:00
Borgal
5721b4514f paperless/healthcheck deaktiviert (Performance Test) 2024-06-27 14:29:39 +00:00
Borgal
0b822f745e unifi/healthcheck deaktiviert (Performance Test) 2024-06-27 14:28:58 +00:00
Borgal
cd79daf119 owncloud/healthcheck deaktiviert (Performance Test) 2024-06-27 14:28:09 +00:00
Borgal
e6d07e9963 immich/Docker Volume für Redit definiert 2024-06-27 14:26:56 +00:00
34 changed files with 475 additions and 192 deletions

View File

@@ -1,14 +1,17 @@
## Docker-Compose Files Borgals HomeLab <H1>Docker-Compose Files Borgals HomeLab</H1>
<p></p>
<p></p>
<img src="https://tcude.net/content/images/size/w2000/2022/01/MainImage-2.jpeg" alt="Docker-Compose" width="400" />
<p></p>
<p></p>
<H2>Environment Variablen</H2>
### Environment Variablen - **Benutzernamen** und **Passwörter**, sowie weitere Variablen sind in einer .env Datei ausgelagert
- die **.env.sample** muss jeweils in **.env** umbenannt werden und die Variablen darin auf deine Bedürfnisse angepasst werden
- Benutzernamen und Passwörter, sowie weitere Variablen sind in einer .env Datei ausgelagert
- die .env.sample muss jeweils in .env umbenannt werden und die Variablen darin auf deine Bedürfnisse angepasst werden
---- ----
### Reverse Proxy <H2>Reverse Proxy</H2>
- als Reverse Proxy setze ich den Nginx Proxy Manager ein, daher sind keine Labels für Träfik vorhanden
- als **Reverse Proxy** setze ich den Nginx Proxy Manager ein, daher sind keine Labels für Träfik vorhanden

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,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:

View File

@@ -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

View File

@@ -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

View File

@@ -1,8 +0,0 @@
#MySQL Datenbank
MYSQL_USER=changeMe
MYSQL_PASSWORD=changeMe
MYSQL_ROOT_PASSWORD=changeMe
NFS_SERVER=192.168.0.xxx # oder hostname oder Domain
PFAD_1=/Pfad/zum/Ordner/www
PFAD_2=/Pfad/zum/Ordner/energie

View File

@@ -1,10 +0,0 @@
<h2>Filerun</H2>
<p></p>
<p></p>
<img src="https://filerun.com/images/long-logo.png?v=2022" alt="Filerun" width="200" />
<p></p>
<p></p>
<b>Filerun</b> ist eine selbst gehostete Cloud-Alternative. Synchronisieren, teilen und bearbeiten Sie Dateien ganz einfach von Ihrem eigenen Server aus, während Sie Ihre Daten unter Ihrer Kontrolle behalten.
<p></p>
<a href="https://filerun.com/" target="_blank">Filerun</a>
<p></p>

View File

@@ -1,43 +0,0 @@
services:
db:
image: mariadb:10.1
container_name: filerun_db
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: filerun
restart: unless-stopped
volumes:
- ./db:/var/lib/mysql
filerun:
image: filerun/filerun
container_name: filerun_app
environment:
FR_DB_HOST: db
FR_DB_PORT: 3306
FR_DB_NAME: filerun
FR_DB_USER: ${MYSQL_USER}
FR_DB_PASS: ${MYSQL_PASSWORD}
depends_on:
- db
links:
- db:db
ports:
- "8013:80"
restart: unless-stopped
volumes:
- ./html:/var/www/html
- ./user-files:/user-files
- Dokumente:/user-files/Dokumente
volumes:
Dokumente:
name: Dokumente
driver: local
driver_opts:
type: nfs4
o: addr=${NFS_SERVER},rw
device: ":${PFAD_Dokumente}"

View File

@@ -5,7 +5,7 @@ services:
environment: environment:
- USER_UID=1000 - USER_UID=1000
- USER_GID=1000 - USER_GID=1000
restart: always restart: unless-stopped
volumes: volumes:
- ./gitea:/data - ./gitea:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro

View File

@@ -1,10 +1,10 @@
services: services:
influxdb: influxdb:
#image: influxdb
image: influxdb:1.6.4 image: influxdb:1.6.4
container_name: influxdb container_name: influxdb
ports: ports:
- 8096:8086 - 8096:8086
#- 8098:8088
volumes: volumes:
- ./influxdb:/var/lib/influxdb - ./influxdb:/var/lib/influxdb
environment: environment:
@@ -14,10 +14,23 @@ services:
- INFLUXDB_REPORTING_DISABLED=true - INFLUXDB_REPORTING_DISABLED=true
#Determines which level of logs will be emitted. The available levels are error, warn, info, and debug. #Determines which level of logs will be emitted. The available levels are error, warn, info, and debug.
- INFLUXDB_LOGGING_LEVEL=warn - INFLUXDB_LOGGING_LEVEL=warn
#networks:
# - external_network
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
@@ -31,10 +44,4 @@ services:
environment: environment:
- GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME} - GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD} - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
#networks:
# - external_network
restart: unless-stopped restart: unless-stopped
#networks:
# external_network:
# external: true

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 - /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

View File

@@ -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
################################################################################### ###################################################################################

View File

@@ -2,30 +2,13 @@ services:
immich-server: immich-server:
container_name: immich_server container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
command: [ "start.sh", "immich" ]
volumes: volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload - ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
env_file: env_file:
- .env - .env
ports: ports:
- 8015:3001 - 2283:2283
depends_on:
- redis
- database
labels:
- "com.centurylinklabs.watchtower.monitor-only=true"
restart: always
immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
command: [ "start.sh", "microservices" ]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
depends_on: depends_on:
- redis - redis
- database - database
@@ -47,6 +30,8 @@ services:
redis: redis:
container_name: immich_redis container_name: immich_redis
image: redis:6.2-alpine image: redis:6.2-alpine
volumes:
- ./redis:/data
labels: labels:
- "com.centurylinklabs.watchtower.monitor-only=true" - "com.centurylinklabs.watchtower.monitor-only=true"
restart: always restart: always
@@ -60,10 +45,12 @@ services:
POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME} POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes: volumes:
- ./DB-data:/var/lib/postgresql/data - ./DB-data:/var/lib/postgresql/data
labels: labels:
- "com.centurylinklabs.watchtower.monitor-only=true" - "com.centurylinklabs.watchtower.monitor-only=true"
command: ["postgres", "-c", "shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"]
restart: always restart: always
volumes: volumes:

5
jellyfin/.env.sample Normal file
View File

@@ -0,0 +1,5 @@
NFS_SERVER=192.168.0.xxx
PFAD=/Pfad/zu/den/Videos
#
# Auf Rechte achten
#

View 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
View 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

View File

@@ -2,7 +2,7 @@ services:
mealie: mealie:
container_name: mealie container_name: mealie
image: hkotel/mealie:latest image: hkotel/mealie:latest
restart: always restart: unless-stopped
volumes: volumes:
- ./data:/app/data - ./data:/app/data
ports: ports:

View File

@@ -21,11 +21,11 @@ services:
- OWNCLOUD_MYSQL_UTF8MB4=true - OWNCLOUD_MYSQL_UTF8MB4=true
- OWNCLOUD_REDIS_ENABLED=true - OWNCLOUD_REDIS_ENABLED=true
- OWNCLOUD_REDIS_HOST=redis - OWNCLOUD_REDIS_HOST=redis
healthcheck: # healthcheck:
test: ["CMD", "/usr/bin/healthcheck"] # test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s # interval: 30s
timeout: 10s # timeout: 10s
retries: 5 # retries: 5
volumes: volumes:
- ./files:/mnt/data - ./files:/mnt/data

View File

@@ -9,12 +9,152 @@
<p></p> <p></p>
<a href="https://docs.paperless-ngx.com/" target="_blank">Paperless ngx</a> <a href="https://docs.paperless-ngx.com/" target="_blank">Paperless ngx</a>
<p></p> <p></p>
<h3>HowTo</h3> <h2>HowTo</h2>
<hr> <hr>
<p></p> <p></p>
<h2>/etc/fstab Mount zu Scanner Verzeichniss</h2> <h4>/etc/fstab Mount zu Scanner Verzeichniss</h4>
<p></p> <p></p>
<pre>192.168.0.102:/mnt/pool1/scanner /opt/paperless/consume nfs4 auto,mountvers=4.0 0 0</pre> <pre>192.168.0.102:/mnt/pool1/scanner /opt/paperless/consume nfs auto 0 0</pre>
<p></p> <p></p>
<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>
# 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,8 +1,8 @@
# The UID and GID of the user used to run paperless in the container. Set this # The UID and GID of the user used to run paperless in the container. Set this
# to your UID and GID on the host so that you have write access to the # to your UID and GID on the host so that you have write access to the
# consumption directory. # consumption directory.
# USERMAP_UID=1000 USERMAP_UID=1000
# USERMAP_GID=1001 USERMAP_GID=1001
# Additional languages to install for text recognition, separated by a # Additional languages to install for text recognition, separated by a
# whitespace. Note that this is # whitespace. Note that this is
@@ -12,7 +12,7 @@
# default. # default.
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster # See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
# for available languages. # for available languages.
#PAPERLESS_OCR_LANGUAGES=tur ces # PAPERLESS_OCR_LANGUAGES=tur ces
############################################################################### ###############################################################################
# Paperless-specific settings # # Paperless-specific settings #
@@ -24,7 +24,7 @@
# Adjust this key if you plan to make paperless available publicly. It should # Adjust this key if you plan to make paperless available publicly. It should
# be a very long sequence of random characters. You don't need to remember it. # be a very long sequence of random characters. You don't need to remember it.
#PAPERLESS_SECRET_KEY=change-me # PAPERLESS_SECRET_KEY=change-me
# Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC. # Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC.
PAPERLESS_TIME_ZONE=Europe/Berlin PAPERLESS_TIME_ZONE=Europe/Berlin
@@ -32,7 +32,17 @@ PAPERLESS_TIME_ZONE=Europe/Berlin
# The default language to use for OCR. Set this to the language most of your # The default language to use for OCR. Set this to the language most of your
# documents are written in. # documents are written in.
PAPERLESS_OCR_LANGUAGE=deu PAPERLESS_OCR_LANGUAGE=deu
PAPERLESS_OCR_LANGUAGES=deu
# Eigene Einstellungen
#
# PAPERLESS_FILENAME_FORMAT_REMOVE_NONE=True
PAPERLESS_FILENAME_FORMAT={document_type}/{correspondent}/{created_year}/{title} PAPERLESS_FILENAME_FORMAT={document_type}/{correspondent}/{created_year}/{title}
PAPERLESS_CONSUMER_POLLING=30 PAPERLESS_CONSUMER_POLLING=10
PAPERLESS_URL=https://dms.borgal.de PAPERLESS_URL=https://dms.borgal.de
PAPERLESS_PRE_CONSUME_SCRIPT=/usr/src/paperless/scripts/pre-consume.sh
# QR Code Scanner
PAPERLESS_CONSUMER_ENABLE_BARCODES=true
PAPERLESS_CONSUMER_ENABLE_ASN_BARCODE=true
PAPERLESS_CONSUMER_BARCODE_SCANNER=ZXING

View File

@@ -48,28 +48,46 @@ 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
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export - ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume - ./consume:/usr/src/paperless/consume
- ./scripts:/usr/src/paperless/scripts
- media:/usr/src/paperless/media
env_file: docker-compose.env env_file: docker-compose.env
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_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
gotenberg:
image: docker.io/gotenberg/gotenberg:8.7
restart: unless-stopped
# The gotenberg chromium route is used to convert .eml files. We do not
# want to allow external content like tracking pixels or even javascript.
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"
- "--api-timeout=60"
tika:
image: docker.io/apache/tika:latest
restart: unless-stopped
volumes: volumes:
media: media:

View File

@@ -0,0 +1,5 @@
#!/bin/sh
set -x
# Remove blank pages
/usr/src/paperless/scripts/remove-blank-pages.sh

View File

@@ -0,0 +1,49 @@
#!/bin/bash
#set -x -e -o pipefail
set -e -o pipefail
export LC_ALL=C
#IN="$1"
IN="$DOCUMENT_WORKING_PATH"
# Check for PDF format
TYPE=$(file -b "$IN")
if [ "${TYPE%%,*}" != "PDF document" ]; then
>&2 echo "Skipping $IN - non PDF [$TYPE]."
exit 0
fi
# PDF file - proceed
#PAGES=$(pdfinfo "$IN" | grep ^Pages: | tr -dc '0-9')
PAGES=$(pdfinfo "$IN" | awk '/Pages:/ {print $2}')
>&2 echo Total pages $PAGES
# Threshold for HP scanners
# THRESHOLD=1
# Threshold for Lexmar MC2425
THRESHOLD=0.8
non_blank() {
for i in $(seq 1 $PAGES) ; do
PERCENT=$(gs -o - -dFirstPage=${i} -dLastPage=${i} -sDEVICE=ink_cov "${IN}" | grep CMYK | nawk 'BEGIN { sum=0; } {sum += $1 + $2 + $3 + $4;} END { printf "%.5f\n", sum } ')
>&2 echo -n "Color-sum in page $i is $PERCENT: "
if awk "BEGIN { exit !($PERCENT > $THRESHOLD) }"; then
echo $i
>&2 echo "Page added to document"
else
>&2 echo "Page removed from document"
fi
done
}
NON_BLANK=$(non_blank)
if [ -n "$NON_BLANK" ]; then
NON_BLANK=$(echo $NON_BLANK | tr ' ' ",")
qpdf "$IN" --warning-exit-0 --replace-input --pages . $NON_BLANK --
fi

View File

@@ -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:

View File

@@ -10,10 +10,15 @@
<a href="https://github.com/linuxserver/docker-unifi-network-application/" target="_blank">UniFi Network Application</a> <a href="https://github.com/linuxserver/docker-unifi-network-application/" target="_blank">UniFi Network Application</a>
<p></p> <p></p>
<h3>HowTo</h3> <h3>HowTo</h3>
<p></p>
<p><b>* * * A C H T U N G * * *</b></p>
<p>init-mongo.js muss <b>vor dem ersten Start</b> in den Hauptordner kopiert werden. Das Passwort in der Datei muss ebenfalls angepasst werden.</p>
<p></p>
<hr> <hr>
<p></p> <p></p>
<p>Die Ger&auml;te m&uuml;ssen per SSH angepasst werden&nbsp;</p> <p>Falls die AP sich nicht automatisch verbinden, m&uuml;ssen die AP manuell per SSH angepasst werden&nbsp;</p>
<pre>ssh <pre>>ssh
<p></p>
IP des Ger&auml;tes oder Hostname (AP-OG, AP-EG,..) IP des Ger&auml;tes oder Hostname (AP-OG, AP-EG,..)
Username: Borgal Username: Borgal
Passwort: ******* Passwort: *******

View File

@@ -4,13 +4,14 @@ services:
container_name: unifi-db container_name: unifi-db
volumes: volumes:
- ./data:/data/db - ./data:/data/db
- ./data/configdb:/data/configdb
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro - ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
healthcheck: # healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet # test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 10s # interval: 10s
timeout: 10s # timeout: 10s
retries: 5 # retries: 5
start_period: 20s # start_period: 20s
restart: unless-stopped restart: unless-stopped
unifi-network-application: unifi-network-application:
@@ -30,8 +31,8 @@ services:
#- MONGO_TLS= #optional #- MONGO_TLS= #optional
#- MONGO_AUTHSOURCE= #optional #- MONGO_AUTHSOURCE= #optional
depends_on: depends_on:
unifi-db: - unifi-db
condition: service_healthy # condition: service_healthy
volumes: volumes:
- ./config:/config - ./config:/config
ports: ports:

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 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

View File

@@ -8,7 +8,7 @@ services:
- TZ=Europe/Berlin - TZ=Europe/Berlin
- LANG=de_DE.UTF-8 - LANG=de_DE.UTF-8
- LOG2FILE=false - LOG2FILE=false
- PLUGINS=epgsearch live ddci2 svdrpservice streamdev-server femon markad #vnsiserver robotv - PLUGINS=epgsearch live ddci2 svdrpservice streamdev-server femon #markad vnsiserver robotv
volumes: volumes:
- ./system:/vdr/system - ./system:/vdr/system
- ./config:/vdr/config - ./config:/vdr/config

View File

@@ -1,14 +1,20 @@
services: services:
wg-easy: wg-easy:
image: weejewel/wg-easy image: ghcr.io/wg-easy/wg-easy
container_name: wg-easy container_name: wg-easy
environment: environment:
- WG_HOST=${HOST} - WG_HOST=${HOST}
- PASSWORD=${PASSWORD} #
- WG_DEFAULT_DNS=192.168.0.1, fritz.box # Probier mal diese Zeile ohne dem #
- WG_ALLOWED_IPS=10.8.0.0/24, 192.168.0.0/24 #- 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: volumes:
- .:/etc/wireguard - ./wg-easy:/etc/wireguard
ports: ports:
- "51820:51820/udp" - "51820:51820/udp"
- "51821:51821/tcp" - "51821:51821/tcp"
@@ -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

View File

@@ -9,7 +9,8 @@ services:
- 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 15 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

View File

@@ -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

View File

@@ -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