Hier zeige ich euch, wie ihr die Dokumentenverwaltung paperless-ngx mittels Docker und Traefik auf eurem Server installiert.
Update
15.05.2022 | Erstellung dieser Anleitung. |
Inhaltsverzeichnis
1. Verzeichnis erstellen
Zuerst erstellen wir uns ein passendes Verzeichnis.
mkdir -p /opt/containers/paperless-ngx
2. Docker Compose Datei erstellen
Nun erstellen wir unsere Docker Compose Datei. In dieser Datei sind bereits die passenden Einstellungen für Traefik enthalten. Wenn ihr noch kein Traefik installiert habt, dann könnt ihr dies mit dieser Anleitung tun.
nano /opt/containers/paperless-ngx/docker-compose.yml
Inhalt:
version: "3.4" services: paperless-redis: image: redis:6.0 restart: unless-stopped container_name: paperless-redis volumes: - ./redisdata:/data networks: - default paperless-db: image: postgres:13 restart: unless-stopped container_name: paperless-db volumes: - ./pgdata:/var/lib/postgresql/data environment: POSTGRES_DB: paperless POSTGRES_USER: paperless POSTGRES_PASSWORD: paperless networks: - default paperless-web: image: ghcr.io/paperless-ngx/paperless-ngx:latest restart: unless-stopped container_name: paperless-web depends_on: - paperless-db - paperless-redis ports: - 8000: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 env_file: docker-compose.env environment: PAPERLESS_REDIS: redis://paperless-redis:6379 PAPERLESS_DBHOST: paperless-db labels: - "traefik.enable=true" - "traefik.http.routers.paperless.entrypoints=http" - "traefik.http.routers.paperless.rule=Host(`paperless.euredomain.de`)" - "traefik.http.middlewares.paperless-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.paperless.middlewares=paperless-https-redirect" - "traefik.http.routers.paperless-secure.entrypoints=https" - "traefik.http.routers.paperless-secure.rule=Host(`paperless.euredomain.de`)" - "traefik.http.routers.paperless-secure.tls=true" - "traefik.http.routers.paperless-secure.tls.certresolver=http" - "traefik.http.routers.paperless-secure.service=paperless" - "traefik.http.services.paperless.loadbalancer.server.port=8000" - "traefik.docker.network=proxy" - "traefik.http.routers.paperless-secure.middlewares=secHeaders@file" networks: - proxy - default networks: proxy: external: true
Notwendige Anpassungen:
- Ihr müsst noch den 2x Hostnamen anpassen (paperless.euredomain.de)
- Das Postgress Passwort anpassen (POSTGRES_PASSWORD)
3. env erstellen
Nun erstellen wir noch eine weitere Datei, in welcher wir einige Einstellungen vornehmen können.
Dazu gebt ihr folgendes ein:
nano /opt/containers/paperless-ngx/docker-compose.env
Hier fügt ihr folgendes ein:
# 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 # consumption directory. USERMAP_UID=1000 USERMAP_GID=1000 # Additional languages to install for text recognition, separated by a # whitespace. Note that this is # different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the # language used for OCR. # The container installs English, German, Italian, Spanish and French by # default. # See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster # for available languages. #PAPERLESS_OCR_LANGUAGES=tur ces ############################################################################### # Paperless-specific settings # ############################################################################### # All settings defined in the paperless.conf.example can be used here. The # Docker setup does not use the configuration file. # A few commonly adjusted settings are provided below. # This is required if you will be exposing Paperless-ngx on a public domain # (if doing so please consider security measures such as reverse proxy) PAPERLESS_URL=https://paperless.euredomain.de # 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. PAPERLESS_SECRET_KEY=change-me # Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC. PAPERLESS_TIME_ZONE=Europe/Berlin # The default language to use for OCR. Set this to the language most of your # documents are written in. PAPERLESS_OCR_LANGUAGE=deu
Notwendige Anpassungen:
- Ihr müsst noch den 2x Hostnamen anpassen (paperless.euredomain.de)
- PAPERLESS_OCR_LANGUAGES: Hier könnt ihr noch weitere Sprachen installieren
- PAPERLESS_URL: Gebt hier die selbe URL an wie in der Docker Compose Datei
- PAPERLESS_SECRET_KEY: Hier legt ihr einen sicheren Schlüssel fest
- PAPERLESS_OCR_LANGUAGE: Wählt hier eure Standard-OCR Sprache aus
4. paperless-ngx starten
Nun könnt ihr paperless-ngx starten. Gebt dazu folgendes ein:
docker-compose -f /opt/containers/paperless-ngx/docker-compose.yml up -d
Der erste Start dauert etwas länger, da dann noch alles eingerichtet werden muss.
Wenn ihr dann auf eure Webseite “paperless.euredomain.de” geht, solltet ihr folgendes sehen:
5. Benutzer anlegen
Als nächstes legen wir unseren ersten Benutzer (Super User) an. Dazu gebt ihr folgendes in eurer Konsole ein:
/opt/containers/paperless-ngx docker-compose run --rm paperless-web createsuperuser
Nun seht ihr folgenden Dialog:
6. Login
Nun könnt ihr euch mit dem eben erstellten “Super User” anmelden. Dazu geht ihr auf eure Webseite “paperless.euredomain.de” und logt euch ein.
Anschließend solltet ihr folgendes sehen:
7. Quellen
https://github.com/paperless-ngx/paperless-ngx
https://paperless-ngx.readthedocs.io/en/latest/setup.html#install-paperless-from-docker-hub