Hallo Leute,
Letztes Wochenende habe ich mir auf einem Synology 224+ eine Paperless NGX Instanz im Container Manager als Projekt eingerichtet. Dafür nutze ich die YAML von Paperless eigener Webseite mit einigen eigenen Parametern.
Nach weiteren Recherchen wird in Foren oft die Sicherheit von Paperless angesprochen. Dazu einige Fragen:
Meine YAML um einen Eindruck zu geben (Passwörter und Usernames durch XXX ersetzt), Netzwerk und Container als Screenshot.
Unabhängig davon. Empfehlt ihr noch andere Einstellungen zu ändern?
Vielen Dank schonmal!
Letztes Wochenende habe ich mir auf einem Synology 224+ eine Paperless NGX Instanz im Container Manager als Projekt eingerichtet. Dafür nutze ich die YAML von Paperless eigener Webseite mit einigen eigenen Parametern.
Nach weiteren Recherchen wird in Foren oft die Sicherheit von Paperless angesprochen. Dazu einige Fragen:
- Paperless hat ein eigenes Netzwerk eingerichtet. Sind Paperless und die dazugehörigen Container (Redis, Postgres, Tika...) dadurch von anderen Container sicher getrennt. Ist Paperless damit NUR vom lokalen Netzwerk aus zu erreichen?
- Ist es in dieser Konfiguration notwendig die Kommunikation zwischen Redis, Postgres und Paperless mittels SSL zu verschlüsseln? Oder sind die Container entsprechend isoliert?
- Gibt es andere Sicherheitsbedenken?
Meine YAML um einen Eindruck zu geben (Passwörter und Usernames durch XXX ersetzt), Netzwerk und Container als Screenshot.
Code:
# Docker Compose file for running paperless from the docker container registry.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# In addition to that, this Docker Compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
# - Apache Tika and Gotenberg servers are started with paperless and paperless
# is configured to use these services. These provide support for consuming
# Office documents (Word, Excel, Power Point and their LibreOffice counter-
# parts.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker compose pull'.
# - Run 'docker compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
services:
broker:
image: docker.io/library/redis:7
restart: unless-stopped
volumes:
- redisdata:/data
security_opt:
- no-new-privileges:true
environment:
REDIS_ARGS: "--save 60 10"
db:
image: docker.io/library/postgres:16
restart: unless-stopped
volumes:
- pgdata:/var/lib/postgresql/data
security_opt:
- no-new-privileges:true
environment:
POSTGRES_DB: paperless
POSTGRES_USER: xxx
POSTGRES_PASSWORD: xxx
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
- gotenberg
- tika
ports:
- "8010:8000"
security_opt:
- no-new-privileges:true
volumes:
- /volume1/docker/paperless/data:/usr/src/paperless/data
- /volume1/docker/paperless/media:/usr/src/paperless/media
- /volume1/docker/paperless/export:/usr/src/paperless/export
- /volume1/docker/paperless/consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_DBENGINE: postgresql
PAPERLESS_DBPASS: xxx
PAPERLESS_DBNAME: paperless
PAPERLESS_DBUSER: xxx
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_ADMIN_USER: xxx
PAPERLESS_ADMIN_PASSWORD: xxx
PAPERLESS_SECRET_KEY: xxx
# PAPERLESS_EMPTY_TRASH_DIR: /volume1/docker/paperless/media
PAPERLESS_OCR_LANGUAGE: nld+deu
PAPERLESS_OCR_LANGUAGES: nld
PAPERLESS_TASK_WORKERS: 2
PAPERLESS_THREADS_PER_WORKER: 1
USERMAP_UID: xxx
USERMAP_GID: xxx
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/.*"
tika:
image: docker.io/apache/tika:latest
restart: unless-stopped
volumes:
data:
media:
pgdata:
redisdata:
Unabhängig davon. Empfehlt ihr noch andere Einstellungen zu ändern?
Vielen Dank schonmal!