Portainer: zweite Instanz anlegen

Ich nöchte gerne eine zweite, zusätzliche Instanz für paperless anlegen.

Momentan archiviere ich steuerrelevante Belege für die Praxis in paperless. In einem anderen Posting wurde angeraten die Belege getrennt zu archivieren, damit bei einer Steuerprüfung niemand auf etwas anderes als Belege zugriff erhält.

ChatGPT hat mir jetzt eine Anleitung erstellt wie man das hinkriegen kann.

(übrigens 3x probiert, 3x verschiedene Anleitungen)

Dazu soll ich den Text aus dem jetzigen Portainer-Stack kopieren und dann alle Bezeichnungen updaten (gegenüber dem Original) und die Ports abändern.

Dabei sind aber ports in tika gar icht genannt.

Gibt es da eine einheitlichere Anleitung?

Den upgedateten Stack konnte ich nicht deployen, da noch eine Fehlermeldung kam.

Gestern abend wolte ich die Arbeit beenden und heute weitermachen.

Da beschwere sich Portainer, dass mein stack noch ungesicherte Änerungen enthalte.

Ich finde aber keine Möglichkeit die “work under progress” zu speichern und später weiter zu bearbeiten.

Übersehe ich da was?

Hi,

Jedes mal wenn ich höre dass sich jemand auf den KI quatsch verlässt, klappt die Installation nicht.

Du Legst im Docker-Verzeichnis einen weiteren Paperless Ordner an.
Die Ordner für die Datenbank usw können gleich heissen wie in der ersten Installaion.

Du kopierst dir einfach den Inhalt vom bestehenden Stack und bearbeitest ihn in einem Editor, nicht direkt in Portainer.
Die Pfade bzw Volumes änderst du auf die neue Ordnerstruktur, die Containernamen müssen anderst heissen, der Port für den Webserver musst du ändern.

Wenn das alles angepasst wurde kannste den neuen Stack anlegen, kopierst den Inhalt vom Editor in den Stack und startest ihn.

Dies ist mein stack des Original-Containers,

Was muss mit Gitenberg passeren? Und mit tika?

db? Muss das auf ein anderes Verzeichnuis verweisen?

Und die volumes des webservers: Die müssen doch sicherlich auf andere verzeichnisse in usr/src/… veweisen, oder ?

services:
  gotenberg:
    image: docker.io/gotenberg/gotenberg:7.8
    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/.*"
    ports:
      - 3000:3000

  tika:
    image: ghcr.io/paperless-ngx/tika:latest
    restart: unless-stopped
    ports:
      - 9998:9998
  broker:
    image: redis
    container_name: Paperless-belege-REDIS
    restart: always
    volumes:
      - /volume1/docker/paperlessngx-belege/redis:/data

  db:
    image: postgres:16
    container_name: Paperless-belege-DB
    restart: always
    volumes:
      - /volume1/docker/paperlessngx-belege/db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: GEHEIM

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    container_name: Paperless-belege
    restart: always
    depends_on:
      - db
      - broker
    ports:
      - 8888:8000
    volumes:
      - /docker/paperlessngx-belege/data:/usr/src/paperless/data
      - /docker/paperlessngx-belege/media:/usr/src/paperless/media
      - /docker/paperlessngx-belege/export:/usr/src/paperless/export
      - /docker/paperlessngx-belege/consume:/usr/src/paperless/consume
      - /opt/scripts:/opt/scripts
      - /opt/scripts/init.d:/custom-cont-init.d:ro 
      - /mnt/medistar_docs:/mnt/medistar_docs
      - /dev/log:/dev/log
      
    #environment:
    env_file:
      stack.env
      
      

Sorry, der eigentliche STACK-Text fehlte

Also, gotenberg und tika sind ja optional. Könntest du weglassen.
Du köntest auch die gotenberg und tika deiner ersten Installation bei deiner zweiten Installation mit nutzen. Wenn nicht auf jeden Fall die Ports ändern. Also statt

ports:
      - 3000:3000
ports:
      - 3010:3000

und dann den Port in der Config zu paperless anpassen. Bei tika entsprechend.

Für redis gilt im prinzip das selbe. Bei redis brauchst du übrigens kein Mountpath für das Volume angeben. Da reicht ein Named Volume.

Für die Datenbank musst du ein anderen Mountpath angeben:

volumes:
      - /volume1/docker/paperlessngx-Instanz2/db:/var/lib/postgresql/data

Gleiches gilt für den Webserver. Auch hier die Pfade ändern. Und Zusätzlich Port, z.B.

 ports:
      - 8842:8000

Woher hast du diese Volumes für den Webserver?

volumes:
      - /opt/scripts:/opt/scripts
      - /opt/scripts/init.d:/custom-cont-init.d:ro 
      - /mnt/medistar_docs:/mnt/medistar_docs
      - /dev/log:/dev/log

Das erscheint mir nicht sinnvoll, im Gegenteil eher kontraproduktiv.

Im übrigen ist hier die Installation eigentlich ganz gut beschrieben.