ubuntu 20.04裸机安装paperless-ngx

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,企业版 4核16GB
推荐场景:
HTAP混合负载
云原生内存数据库 Tair,内存型 2GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: ubuntu 20.04裸机安装paperless-ngx

说明

在官方文档中该安装方式是在debian/buster上安装测试过而已,所以我在ubuntu上安装其实稳定性还是有待考究,但是需要的包,ubuntu也并不缺少,在安装部署过程中并没有因此遇到什么问题。

安装

  1. 安装依赖项
sudo apt install -y python3 python3-pip python3-dev imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev mime-support libzbar0 poppler-utils

复制

  1. 安装OCRmyPDF依赖项
sudo apt install -y unpaper ghostscript icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr

复制

  1. 安装python依赖项
sudo apt install -y build-essential python3-setuptools python3-wheel

复制

  1. 添加用户
sudo adduser paperless --system --home /opt/paperless --group

复制

  1. 安装redis大于等于6.0.0版本以上,这里我安装的是最新版本sudo apt install lsb-release curl gpg
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

复制

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

复制

sudo apt update 
sudo apt install -y redis

复制

sudo systemctl enable redis-server.service

复制

  1. 安装postgresql,数据库可以选用postgresql、mariadb和sqllite,使用sqlite需要启用json1 extension,所以我还是选择使用postgresql,因为没有版本要求,这里我使用官方仓库提供的postgresql 12版本
sudo apt install postgresql

复制

  1. 创建对应的数据库和用户名和密码,这里我都是设置成paperless
sudo -u postgres psql
postgres-# create database paperless;
postgres-# create user paperless with encrypted password 'paperless';
postgres-# grant all privileges on database paperless to paperless;

复制

  1. 下载最新版本的release archive
curl -O -L https://github.com/paperless-ngx/paperless-ngx/releases/download/v1.10.2/paperless-ngx-v1.10.2.tar.xz

复制

  1. 解压
tar -xf paperless-ngx-v1.10.2.tar.xz

复制

  1. 将解压文件拷贝到/opt/paperless
cp -r paperless-ngx/* /opt/paperless

复制

  1. 修改配置paperless.conf
cd /opt/paperless
vim paperless.conf
    ......
    # Required services
    PAPERLESS_REDIS=redis://localhost:6379
    PAPERLESS_DBENGINE=postgres
    PAPERLESS_DBHOST=localhost
    PAPERLESS_DBPORT=5432
    PAPERLESS_DBNAME=paperless
    PAPERLESS_DBUSER=paperless
    PAPERLESS_DBPASS=paperless
    #PAPERLESS_DBSSLMODE=prefer
    # Paths and folders
    PAPERLESS_CONSUMPTION_DIR=/opt/paperless/data
    #PAPERLESS_DATA_DIR=../data
    #PAPERLESS_TRASH_DIR=
    #PAPERLESS_MEDIA_ROOT=../media
    #PAPERLESS_STATICDIR=../static
    #PAPERLESS_FILENAME_FORMAT=
    #PAPERLESS_FILENAME_FORMAT_REMOVE_NONE=
    # Security and hosting
    #PAPERLESS_SECRET_KEY=change-me
    PAPERLESS_URL=https://0.0.0.0
    ......

复制

  1. 补全目录并赋予权限
mkdir /opt/paperless/data
mkdir /opt/paperless/media
mkdir /opt/paperless/consume
sudo chown paperless:paperless /opt/paperless

复制

  1. 使用pip安装依赖
sudo -Hu paperless pip3 install -r requirements.txt

复制

  1. 执行下述命令
cd /opt/paperless/src
    sudo -Hu paperless python3 manage.py migrate
    sudo -Hu paperless python3 manage.py createsuperuser
    sudo -Hu paperless python3 manage.py runserver
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
11天前
|
Ubuntu Linux
在Linux (Ubuntu 16) 下安装LabVIEW
在Linux (Ubuntu 16) 下安装LabVIEW
29 0
|
7天前
|
存储 Ubuntu Java
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
13 1
|
18天前
|
Ubuntu
在Ubuntu上安装JetBrains Toolbox并解决libfuse.so.2依赖问题
在Ubuntu上安装JetBrains Toolbox并解决libfuse.so.2依赖问题
22 3
|
19天前
|
消息中间件 Ubuntu 数据安全/隐私保护
Ubuntu上安装RabbitMQ
Ubuntu上安装RabbitMQ
18 1
|
19天前
|
Ubuntu Docker 容器
ubuntu安装docker
ubuntu安装docker
184 1
|
26天前
|
Ubuntu PHP Apache
蓝易云 - 如何在Ubuntu 22.04上安装PHP8.1并设置本地开发环境
以上就是在Ubuntu 22.04上安装PHP 8.1并设置本地开发环境的步骤。
37 2
|
4天前
|
Ubuntu C语言
【Ubuntu20.04】安装gcc11 g++11, Ubuntu18.04
以上就是在Ubuntu 20.04和Ubuntu 18.04上安装gcc11和g++11的步骤。
7 0
|
27天前
|
缓存 Ubuntu 应用服务中间件
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
|
10天前
|
Ubuntu 关系型数据库 MySQL
MySQL5.7在Ubuntu安装[单机软件],第一步登录root,sudo su -
MySQL5.7在Ubuntu安装[单机软件],第一步登录root,sudo su -
|
10天前
|
Ubuntu 关系型数据库 MySQL