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 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
ΡΠΌ. ΡΠ°ΠΊΠΆΠ΅:
- π³Β ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Docker ΠΈΠ»ΠΈ Kubernetes
- π³ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ docker.io Π½Π° Ubuntu
- π³Β ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ docker, Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ
- π³Β ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²Π΅ΡΡΠΈΡ Docker ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
![]()
