🐳 Установка систСмы управлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ (Π‘Π£Π”) Docspell Π½Π° Docker

by itisgood

Docspell – это простая, Π½ΠΎ мощная систСма управлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ (Π‘Π£Π”).

Она ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° ΡΡ‚Π°Ρ‚ΡŒ вашим ΠΎΡ€Π³Π°Π½Π°ΠΉΠ·Π΅Ρ€ΠΎΠΌ ΠΈ ΠΏΠΎΠΌΠΎΡ‡ΡŒ быстро ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π° впослСдствии Π½Π°ΠΉΡ‚ΠΈ ΠΈΡ… быстрСС ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅.

Docspell ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для использования Π΄ΠΎΠΌΠ° ΠΈ Π² ΠΌΠ°Π»Ρ‹Ρ… ΠΈ срСдних организациях.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ физичСскиС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ²ΠΈΡ‚Π°Π½Ρ†ΠΈΠΈ, ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹, счСта, счСта-Ρ„Π°ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ Ρ‚.Π΄., ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… PDF, Docspell DMS – ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт.

Docspell ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π΅Π±-панСль управлСния, Π½ΠΎ доступСн Ρ‡Π΅Ρ€Π΅Π· REST ΠΈΠ»ΠΈ HTTP api ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ использован Π² Π²Π°ΡˆΠΈΡ… собствСнных сцСнариях ΠΈ инструмСнтах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ curl.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ страницу возмоТностСй Docspell, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ всС возмоТности этого Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

К числу основных возмоТностСй относятся:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСсколькими Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΊΠ°ΠΊ с Π΅Π΄ΠΈΠ½Ρ‹ΠΌ Ρ†Π΅Π»Ρ‹ΠΌ. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.
  • OCR с использованиСм tesseract
  • Ѐункция полнотСкстового поиска, основанная Π½Π° тСкстовом поискС Apache SOLR ΠΈΠ»ΠΈ PostgreSQL
  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² PDF ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Docspell ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹ Π² PDF-Ρ„Π°ΠΉΠ» послС сканирования.
  • ΠœΠΎΡ‰Π½Ρ‹ΠΉ язык запросов для поиска Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²
  • ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° ΠΎΠ½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ измСняСтся ΠΈ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌ.
  • Π€Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³ΠΎΠ², ΠΏΠ°ΠΏΠΎΠΊ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΠΎΠ»Π΅ΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…
    ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ возмоТности

Π¨Π°Π³ 1 – Установка Π΄Π²ΠΈΠΆΠΊΠ° Docker Container Engine

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ запустим систСму управлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ (Π‘Π£Π”) Docspell Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ Docker .

Для запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Docker Engine Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Π½Π° локальной систСмС.

ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ установку Docker

$ docker --version
Docker version 24.0.5, build ced0996

$ docker compose version
Docker Compose version v2.20.2

Π’Π°ΠΊΠΆΠ΅ рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки git Π½Π° Π²Π°ΡˆΡƒ систСму.

sudo apt install git vim -y

Π¨Π°Π³ 2 – ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ git-источника docspell

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡ‚Π΅ послСдниС исходныС тСксты Docspell

git clone https://github.com/eikek/docspell

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° ΠΏΠ°ΠΏΠΊΡƒ docspell.

Π—Π°Ρ‚Π΅ΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ docker/docker-compose/, которая содСрТит ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» compose, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для запуска Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Docspell.

cd docspell/docker/docker-compose/

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» compose

$ vim docker-compose.yml
...
environment:
      - TZ=Europe/Berlin

МоТно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ нСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET
  • DOCSPELL_SERVER_AUTH_SERVER__SECRET
  • DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE

Π¨Π°Π³ 3 – Запуск Docspell DMS Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ… Docker

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ настройки ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Docspell, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ docker compose up -d
[+] Running 8/8
 βœ” Network docker-compose_default                  Created                                                                                                                                       0.1s
 βœ” Volume "docker-compose_docspell-postgres_data"  Created                                                                                                                                       0.0s
 βœ” Volume "docker-compose_docspell-solr_data"      Created                                                                                                                                       0.0s
 βœ” Container postgres_db                           Started                                                                                                                                       0.7s
 βœ” Container docspell-solr                         Started                                                                                                                                       0.7s
 βœ” Container docspell-joex                         Started                                                                                                                                       1.2s
 βœ” Container docspell-restserver                   Started                                                                                                                                       1.4s
 βœ” Container docspell-consumedir                   Started

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° состояния Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ статус Up для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… 5 ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

$ docker ps
CONTAINER ID   IMAGE                        COMMAND                  CREATED          STATUS                             PORTS                                       NAMES
3112cf002922   docspell/dsc:latest          "dsc -d http://docsp…"   32 seconds ago   Up 30 seconds                                                                  docspell-consumedir
6f678c80f3a3   docspell/joex:latest         "/opt/joex-entrypoin…"   32 seconds ago   Up 31 seconds (health: starting)   0.0.0.0:7878->7878/tcp, :::7878->7878/tcp   docspell-joex
07d5d911ffc2   docspell/restserver:latest   "/opt/docspell-rests…"   32 seconds ago   Up 30 seconds (health: starting)   0.0.0.0:7880->7880/tcp, :::7880->7880/tcp   docspell-restserver
c701229cb9af   solr:9                       "docker-entrypoint.s…"   32 seconds ago   Up 31 seconds (health: starting)   8983/tcp                                    docspell-solr
7112a6d48b16   postgres:15.4                "docker-entrypoint.s…"   32 seconds ago   Up 31 seconds                      5432/tcp                                    postgres_db

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ запуска ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅.

docker logs <container>

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ compose.


NAME                  IMAGE                        COMMAND                  SERVICE             CREATED             STATUS                  PORTS
docspell-consumedir   docspell/dsc:latest          "dsc -d http://docsp…"   consumedir          13 hours ago        Up 13 hours
docspell-joex         docspell/joex:latest         "/opt/joex-entrypoin…"   joex                13 hours ago        Up 13 hours (healthy)   0.0.0.0:7878->7878/tcp, :::7878->7878/tcp
docspell-restserver   docspell/restserver:latest   "/opt/docspell-rests…"   restserver          13 hours ago        Up 13 hours (healthy)   0.0.0.0:7880->7880/tcp, :::7880->7880/tcp
docspell-solr         solr:9                       "docker-entrypoint.s…"   solr                13 hours ago        Up 13 hours (healthy)   8983/tcp
postgres_db           postgres:15.4                "docker-entrypoint.s…"   db                  13 hours ago        Up 13 hours             5432/tcp

Π¨Π°Π³ 4 – Доступ ΠΊ Π²Π΅Π±-консоли Docspell DMS

Доступ ΠΊ Π²Π΅Π±-консоли Docspell ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎ адрСсу http://serverip_or_domain:7880.

Π”Π°Π»Π΅Π΅ создайтС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½Π°ΠΆΠ°Π² Π½Π° Sign up

Π¨Π°Π³ 5 – Настройка прокси-сСрвСра Nginx для Docspell

Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ нашСго сСрвиса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SSL-сСртификата Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Nginx.

Но сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ nginx.

### Debian based systems ###
sudo apt install nginx

### RHEL based systems ###
sudo yum install nginx

ЗапуститС ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ слуТбу nginx для запуска ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ систСмы.

sudo systemctl enable --now nginx

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ docspell.conf

sudo vim /etc/nginx/conf.d/docspell.conf

Если Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ SSL, Ρ‚ΠΎ Π½ΠΈΠΆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ FQDN.

server {
    listen 80 ;
    server_name edms.example.net ;
    location / {
        proxy_pass http://127.0.0.1:7880;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header X-Forwarded-Host   $host;
    }
}

ИспользованиС Let’s Encrypt / любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ SSL

Для использования SSL ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Nginx, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² Π² Π½Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ бСзопасности.

server {
    listen 80 ;
    server_name edms.example.net ;
    location / {
        return 301 https://$host$request_uri;
    }
}
server {
    listen 443 ssl http2 ;
    server_name edms.example.net ;
    ssl_certificate /etc/letsencrypt/live/edms.example.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/edms.example.net/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/edms.example.net/fullchain.pem;
    location / {
        proxy_pass http://127.0.0.1:7880;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header X-Forwarded-Host   $host;
        proxy_set_header X-Forwarded-Port   443;
        proxy_set_header X-Forwarded-Proto  https;
    }
}

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΌΠ΅Π½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² server_name, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ FQDN ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ DNS-запись.

Π’ тСстовых цСлях ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» /etc/hosts для сопоставлСния IP-адрСса с Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π²Π°ΠΌ понравится Docspell Π² качСствС систСмы управлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.

см. Ρ‚Π°ΠΊΠΆΠ΅:

 

Loading

You may also like

Leave a Comment