added paperlessngx to stack
This commit is contained in:
parent
221b00f1c4
commit
84d4f44a70
2
dns.yml
2
dns.yml
@ -21,6 +21,8 @@
|
||||
ip: "152.53.36.98"
|
||||
- name: "books"
|
||||
ip: "152.53.36.98"
|
||||
- name: "paper"
|
||||
ip: "152.53.36.98"
|
||||
|
||||
tasks:
|
||||
- name: Add A records for subdomains
|
||||
|
@ -2,6 +2,10 @@ auth.thesatelliteoflove.com {
|
||||
reverse_proxy authentik-server-1:9000
|
||||
}
|
||||
|
||||
paper.thesatelliteoflove.com {
|
||||
reverse_proxy paperlessngx-webserver-1:8000
|
||||
}
|
||||
|
||||
pin.thesatelliteoflove.com {
|
||||
reverse_proxy pinry-pinry-1:80
|
||||
}
|
||||
|
@ -116,4 +116,8 @@
|
||||
|
||||
- name: Install calibre
|
||||
import_tasks: calibre.yml
|
||||
tags: calibre
|
||||
tags: calibre
|
||||
|
||||
- name: Install paperlessngx
|
||||
import_tasks: paperlessngx.yml
|
||||
tags: paperlessngx
|
26
roles/docker/tasks/paperlessngx.yml
Normal file
26
roles/docker/tasks/paperlessngx.yml
Normal file
@ -0,0 +1,26 @@
|
||||
- name: make paperlessngx directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/paperlessngx
|
||||
|
||||
- name: Template out the compose file
|
||||
ansible.builtin.template:
|
||||
src: paperlessngx-compose.yml.j2
|
||||
dest: /opt/stacks/paperlessngx/compose.yml
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: Template out the .env file
|
||||
ansible.builtin.template:
|
||||
src: paperlessngx.env.j2
|
||||
dest: /opt/stacks/paperlessngx/docker-compose.env
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: deploy paperlessngx stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/paperlessngx
|
||||
files:
|
||||
- compose.yml
|
50
roles/docker/templates/paperlessngx-compose.yml.j2
Normal file
50
roles/docker/templates/paperlessngx-compose.yml.j2
Normal file
@ -0,0 +1,50 @@
|
||||
services:
|
||||
broker:
|
||||
image: docker.io/library/redis:7
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- redisdata:/data
|
||||
|
||||
webserver:
|
||||
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- broker
|
||||
- gotenberg
|
||||
- tika
|
||||
volumes:
|
||||
- data:/usr/src/paperless/data
|
||||
- media:/usr/src/paperless/media
|
||||
- ./export:/usr/src/paperless/export
|
||||
- ./consume:/usr/src/paperless/consume
|
||||
env_file: docker-compose.env
|
||||
environment:
|
||||
PAPERLESS_REDIS: redis://broker:6379
|
||||
PAPERLESS_TIKA_ENABLED: 1
|
||||
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
|
||||
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
|
||||
|
||||
gotenberg:
|
||||
image: docker.io/gotenberg/gotenberg:8.7
|
||||
restart: unless-stopped
|
||||
|
||||
# The gotenberg chromium route is used to convert .eml files. We do not
|
||||
# want to allow external content like tracking pixels or even javascript.
|
||||
command:
|
||||
- "gotenberg"
|
||||
- "--chromium-disable-javascript=true"
|
||||
- "--chromium-allow-list=file:///tmp/.*"
|
||||
|
||||
tika:
|
||||
image: docker.io/apache/tika:latest
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
data:
|
||||
media:
|
||||
redisdata:
|
||||
|
||||
networks:
|
||||
default:
|
||||
external: true
|
||||
name: lava
|
42
roles/docker/templates/paperlessngx.env.j2
Normal file
42
roles/docker/templates/paperlessngx.env.j2
Normal file
@ -0,0 +1,42 @@
|
||||
# The UID and GID of the user used to run paperless in the container. Set this
|
||||
# to your UID and GID on the host so that you have write access to the
|
||||
# consumption directory.
|
||||
#USERMAP_UID=1000
|
||||
#USERMAP_GID=1000
|
||||
|
||||
# Additional languages to install for text recognition, separated by a
|
||||
# whitespace. Note that this is
|
||||
# different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the
|
||||
# language used for OCR.
|
||||
# The container installs English, German, Italian, Spanish and French by
|
||||
# default.
|
||||
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
|
||||
# for available languages.
|
||||
#PAPERLESS_OCR_LANGUAGES=tur ces
|
||||
|
||||
###############################################################################
|
||||
# Paperless-specific settings #
|
||||
###############################################################################
|
||||
|
||||
# All settings defined in the paperless.conf.example can be used here. The
|
||||
# Docker setup does not use the configuration file.
|
||||
# A few commonly adjusted settings are provided below.
|
||||
|
||||
# This is required if you will be exposing Paperless-ngx on a public domain
|
||||
# (if doing so please consider security measures such as reverse proxy)
|
||||
PAPERLESS_URL=https://paper.thesatelliteoflove.com
|
||||
|
||||
# Adjust this key if you plan to make paperless available publicly. It should
|
||||
# be a very long sequence of random characters. You don't need to remember it.
|
||||
PAPERLESS_SECRET_KEY={{ paperlessngx_secret }}
|
||||
|
||||
# Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC.
|
||||
PAPERLESS_TIME_ZONE=America/Denver
|
||||
|
||||
# The default language to use for OCR. Set this to the language most of your
|
||||
# documents are written in.
|
||||
#PAPERLESS_OCR_LANGUAGE=eng
|
||||
|
||||
# Set if accessing paperless via a domain subpath e.g. https://domain.com/PATHPREFIX and using a reverse-proxy like traefik or nginx
|
||||
#PAPERLESS_FORCE_SCRIPT_NAME=/PATHPREFIX
|
||||
#PAPERLESS_STATIC_URL=/PATHPREFIX/static/ # trailing slash required
|
Loading…
Reference in New Issue
Block a user