====== Paperless-NGX ====== Installation von Paperless-ngx auf __**Ubuntu**__ wget [[https://smarthomeundmore.de/wp-content/uploads/install_paperless.sh|https://smarthomeundmore.de/wp-content/uploads/install_paperless.sh]] wget [[https://smarthomeundmore.de/wp-content/uploads/backup.sh|https://smarthomeundmore.de/wp-content/uploads/backup.sh]] wget [[https://smarthomeundmore.de/wp-content/uploads/restore.sh|https://smarthomeundmore.de/wp-content/uploads/restore.sh]] chmod +x install_paperless.sh chmod +x backup.sh chmod +x restore.sh ./install_paperless.sh Um eine neue ''docker-compose.yml''-Datei für Paperless-ngx zu laden, stoppen Sie zuerst die laufenden Container mit **''docker compose down'' **, laden die neue ''.yml''-Datei (z.B. von Paperless-ngx GitHub) herunter oder erstellen Sie eine eigene, passen Sie die notwendigen Pfade und Einstellungen an (in einem Texteditor, nicht in einem Word-Dokument) und starten Sie die Dienste dann mit **''docker compose up -d'' **neu, wobei Docker die neuen Einstellungen und ggf. Updates anwendet.\\ __**URL ändern der docker-compose.yml in /home/paperless**__ Edit your ''docker-compose.env or docker-compose.yml'' and add this variable. PAPERLESS_URL=https://paperless.xxxx.com Then force recreate your container (''docker compose up -d –force-recreate'') **PROFTPD** [[https://www.technik22.de/d/833-scan-zu-paperless-ngx|Scan zu Paperless-ngx - Technik22.de]] __Wenn proftpd nicht startet:__ ''sudo nano /etc/proftpd/modules.conf '' Then add this: ''# Needed in 25.04 Onwards Otherwise ProFTPD Fails To Start LoadModule mod_delay.c LoadModule mod_ls.c LoadModule mod_xfer.c'' **Wenn mit root per ftp zugegriffen werden soll:** edit the /etc/ftpusers file and remove the line that says "root" from the file **Verzeichnisrechte** ''chgrp -R ftpuser /verzeichnis \\ chmod -R 770 /verzeichnis\\ //Die Gruppe "ftpuser" bekommt Schreibrechte.// \\ Um unter Linux Benutzer in einer bestimmten Gruppe anzuzeigen, ist der Befehl ''getent group GRUPPENNAME am besten geeignet. Er listet die Gruppe samt aller Mitglieder auf. Alternativ zeigt ''grep GRUPPENNAME /etc/group die Informationen aus der Gruppen-Datei an. Die Gruppen eines bestimmten Benutzers lassen sich mit ''groups BENUTZERNAME abfragen. \\ //**Wenn der Scanner Fehler mit Verbindung meldet, dann Berechtigungen des Scan-Ordners überprüfen und korrigieren wird höchstwahrscheinlich das Problem lösen.** // These values can be added together to create combinations: * **7** (4+2+1) = read, write, and execute * **6** (4+2) = read and write * **5** (4+1) = read and execute * **4** = read only * **3** (2+1) = write and execute * **2** = write only * **1** = execute only * **0** = no permissions For example, the permission ''chmod 755'' sets: * Owner: 7 (read, write, execute) * Group: 5 (read, execute) * Others: 5 (read, execute) This numeric system makes it efficient to specify complex permission sets with a simple three-digit number. ====== NGIX ====== === Configure Nginx as a Reverse Proxy === We'll use Nginx to sit in front of Paperless-ngx. Nginx will handle incoming web requests on standard HTTP (port 80) and HTTPS (port 443), and then forward them to Paperless-ngx's Docker container, which is running on port 8000. This also prepares us for SSL. Install Nginx If Nginx isn't already installed, let's install it: sudo apt install nginx -y Configure Nginx for Paperless-ngx We need to create a new Nginx server block configuration file for our Paperless-ngx instance. sudo nano /etc/nginx/sites-available/paperless.conf Paste the following configuration. **Remember** to replace ''paperless.example.com'' with our domain name. server { listen 80; listen [::]:80; server_name paperless.example.com; # Add our domain name here location / { proxy_pass http://localhost:8000; # Paperless-ngx runs on port 8000 inside the Docker network proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 900s; # Adjust if large documents time out } } Enable the Nginx Configuration Create a symbolic link to enable our new configuration: sudo ln -s /etc/nginx/sites-available/paperless.conf /etc/nginx/sites-enabled/ Test the Nginx configuration for syntax errors: sudo nginx -t If the output says syntax is ok and test is successful, we can restart Nginx: sudo systemctl restart nginx === Step 6: Secure with SSL using Certbot (Let's Encrypt) === Now that Nginx is acting as a reverse proxy, we can easily set up free SSL certificates from Let's Encrypt using Certbot. Install Certbot sudo apt install certbot python3-certbot-nginx -y Obtain and Configure SSL Certificate Run Certbot to obtain the certificate and configure Nginx automatically. **Replace**''paperless.example.com'' with our domain name: sudo certbot --nginx -d paperless.example.com === Step 7: Access the Web Interface === Paperless-ngx should now be accessible. Open our web browser and navigate to: https://paperless.example.com