QNAP: Running Paperless using Container Station

Paperless is one of the most advanced self-hosted document manage with a number of host apps on iOS as well as Android. If you use Adobe Scan, or similar apps to scan your documents and store the scanned files on premises using this self-hosted solution. If you add a couple of more services, you can have support for multiple more document types such as Excel and word as well. We will discuss the full features and pros in a different article. Following a sample yaml code for you to host paperless on your own hardware.

version: "3.8"

name: paperless

services:
  gotenberg:
    container_name: paperless-gotenberg
    image: gotenberg/gotenberg:8.7
    restart: unless-stopped
    command:
      - "gotenberg"
      - "--chromium-disable-javascript=true"
      - "--chromium-allow-list=file:///tmp/.*"
    networks:
      - paperless

  tika:
    container_name: paperless-tika
    image: apache/tika:latest
    restart: unless-stopped
    networks:
      - paperless
      
  broker:
    container_name: paperless-broker
    image: redis:7-alpine
    restart: unless-stopped 
    volumes:
      - redisdata:/data
    networks:
      - paperless

  db:
    container_name: paperless-db
    image: postgres:15-alpine
    restart: unless-stopped
    volumes:
      - pgdata:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless                                                
    networks:
      - paperless

  webserver:
    container_name: paperless-server
    image: paperlessngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - db
      - broker
      - gotenberg
      - tika
    ports:
      - "8000:8000"
    volumes:
      - data:/usr/src/paperless/data
      - media:/usr/src/paperless/media
      - /share/CACHEDEV1_DATA/Multimedia/Documents/export:/usr/src/paperless/export
      - /share/CACHEDEV1_DATA/Multimedia/Documents/consume:/usr/src/paperless/consume
    environment:
      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_ADMIN_USER: admin
      PAPERLESS_ADMIN_PASSWORD: <default admin password here>
      PAPERLESS_SECRET_KEY: <random hex code>
      PAPERLESS_TIME_ZONE: America/Los_Angeles
      PAPERLESS_OCR_LANGUAGE: eng
    networks:
      - paperless

volumes:
    redisdata:
    pgdata:
    data:
    media:
    
networks:
    paperless: 
        name: paperlessnet
        driver: bridge

The paperless app for iOS and Android are pretty good for scanning and browsing documents.

Leave a Comment