Die Basis: Docker, Docker Compose und Portainer
Zu erst müssen wir Docker, Docker Compose und Portainer installieren.
Hier geht’s zur Anleitung: https://www.proxserver.de/portainer-installieren
Linux Aktualisieren und Curl installieren
apt update && apt upgrade -y && apt install curl -y
Docker installieren
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
Docker-Compose installieren
curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Portainer installieren
docker run -d -p 18510:8000 -p 19510:9000 --name portainer --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce:latest
Portainer öffnen und einrichten
http://<deineIP>:19510
Anschließend unter Stacksa
Folgende .yml einbinden und anpassen
version: "3.4"
services:
broker:
image: docker.io/library/redis:7
container_name: broker
restart: unless-stopped
volumes:
- /data/paperless/redis/_data:/data
db:
image: docker.io/library/postgres:13
container_name: db
restart: unless-stopped
volumes:
- /data/paperless/postgresql/_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: webserver
restart: unless-stopped
depends_on:
- db
- broker
- gotenberg
- tika
ports:
- 8001:8000
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
environment:
PAPERLESS_ADMIN_USER: paperless
PAPERLESS_ADMIN_PASSWORD: DeinAdminPassword
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_OCR_LANGUAGE: deu
PAPERLESS_TIME_ZONE: Europe/Berlin
USERMAP_UID: 1000
USERMAP_GID: 100
gotenberg:
image: docker.io/gotenberg/gotenberg:latest
container_name: gotenberg
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-routes=true"
- "--chromium-allow-list=file:///tmp/.*"
tika:
image: ghcr.io/paperless-ngx/tika:latest
container_name: tika
restart: unless-stopped
In der .yml Datei müssen folgenden Parameter angepasst werden
- PAPERLESS_SECRET_KEY: deinSecretkey
- PAPERLESS_ADMIN_USER: deinUsername
- PAPERLESS_ADMIN_PASSWORD: deinPasswort
Anschließend den Stack starten
Samba installieren und eine einfache SMB Freigabe einrichten
Meine Paperless Installation wird von Außen ausschließlich über VPN erreichbar sein deshalb reich mir die einfache Guest Freigabe.
sudo apt update && sudo apt upgrade -y && sudo apt install samba -y
Die Bereits angelegte Datei umbenennen und eine neue Datei leere anlegen.
cd /etc/samba
mv smb.conf smb.bak
nano smb.conf
[global]
map to guest = Bad User
workgroup = workgroup
[data]
path = /data
read only = no
guest ok = yes
sudo systemctl restart smbd
Jetzt ist der Data Ordner unter der Windows Netzwerkübersicht zu erreichen.
Paperless öffnen und einrichten
http://<deineIP>:19510