This commit is contained in:
parent
07fa0d4ab6
commit
f29cc11301
61
docker-compose.env
Normal file
61
docker-compose.env
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# 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=eng+fra
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 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://paperless.tips-of-mine.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=change-me
|
||||||
|
|
||||||
|
# Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC.
|
||||||
|
PAPERLESS_TIME_ZONE=Europe/Paris
|
||||||
|
|
||||||
|
# The default language to use for OCR. Set this to the language most of your
|
||||||
|
# documents are written in.
|
||||||
|
PAPERLESS_OCR_LANGUAGE=eng+fra
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#
|
||||||
|
PAPERLESS_EMAIL_HOST=paperless-msmtpd
|
||||||
|
PAPERLESS_EMAIL_PORT=2500
|
||||||
|
PAPERLESS_EMAIL_HOST_USER=.
|
||||||
|
PAPERLESS_EMAIL_FROM=hostinfo@tips-of-mine.fr
|
||||||
|
PAPERLESS_EMAIL_HOST_PASSWORD=.
|
||||||
|
PAPERLESS_EMAIL_USE_TLS=false
|
||||||
|
PAPERLESS_EMAIL_USE_SSL=false
|
||||||
|
|
||||||
|
PAPERLESS_CONSUMPTION_DIR=/usr/src/paperless/consume
|
||||||
|
PAPERLESS_CONSUMER_RECURSIVE=1
|
||||||
|
PAPERLESS_CONSUMER_POLLING=1
|
||||||
|
PAPERLESS_CONSUMER_POLLING=10
|
||||||
|
PAPERLESS_CONSUMER_DELETE_DUPLICATES=true
|
||||||
|
PAPERLESS_CONSUMER_RECURSIVE=true
|
||||||
|
|
||||||
|
PAPERLESS_TASK_WORKERS=4
|
||||||
|
PAPERLESS_THREADS_PER_WORKER=2
|
@ -2,41 +2,128 @@
|
|||||||
networks:
|
networks:
|
||||||
traefik_front_network:
|
traefik_front_network:
|
||||||
external: true
|
external: true
|
||||||
back_network_:
|
back_network_paperless:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
attachable: true
|
attachable: true
|
||||||
|
|
||||||
#### SERVICES
|
#### SERVICES
|
||||||
services:
|
services:
|
||||||
### hello_world
|
###
|
||||||
hello_world:
|
broker:
|
||||||
container_name: gitea-app
|
container_name: paperless-broker
|
||||||
hostname: gitea-app
|
hostname: paperless-broker
|
||||||
image: hello-world
|
image: docker.io/library/redis:7
|
||||||
environment:
|
restart: unless-stopped
|
||||||
restart: always
|
|
||||||
networks:
|
|
||||||
# - back_network_gitea
|
|
||||||
- traefik_front_network
|
|
||||||
volumes:
|
volumes:
|
||||||
|
- ./redisdata:/data
|
||||||
|
networks:
|
||||||
|
- back_network_paperless
|
||||||
|
|
||||||
|
### postgres
|
||||||
|
db:
|
||||||
|
container_name: paperless-postgres
|
||||||
|
hostname: paperless-postgres
|
||||||
|
image: docker.io/library/postgres:16
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./pgdata:/var/lib/postgresql/data
|
||||||
|
networks:
|
||||||
|
- back_network_paperless
|
||||||
|
environment:
|
||||||
|
PGDATA: /var/lib/postgresql/data/paperless
|
||||||
|
POSTGRES_DB: paperless
|
||||||
|
POSTGRES_USER: paperless
|
||||||
|
POSTGRES_PASSWORD: paperless
|
||||||
|
|
||||||
|
### paperless-ngx
|
||||||
|
webserver:
|
||||||
|
container_name: paperless-app
|
||||||
|
hostname: paperless-app
|
||||||
|
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
- 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
|
||||||
|
networks:
|
||||||
|
- back_network_paperless
|
||||||
|
- traefik_front_network
|
||||||
|
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
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.docker.network=traefik_front_network"
|
- "traefik.docker.network=traefik_front_network"
|
||||||
# HTTP
|
# HTTP
|
||||||
- "traefik.http.routers.hello-world-http.rule=Host(`hello-world.tips-of-mine.com`)"
|
- "traefik.http.routers.paperless-http.rule=Host(`paperless.tips-of-mine.com`)"
|
||||||
- "traefik.http.routers.hello-world-http.entrypoints=http"
|
- "traefik.http.routers.paperless-http.entrypoints=http"
|
||||||
- "traefik.http.routers.hello-world-http.priority=49"
|
|
||||||
# HTTPS
|
# HTTPS
|
||||||
- "traefik.http.routers.hello-world-https.rule=Host(`hello-world.tips-of-mine.com`)"
|
- "traefik.http.routers.paperless-https.rule=Host(`paperless.tips-of-mine.com`)"
|
||||||
- "traefik.http.routers.hello-world-https.entrypoints=https"
|
- "traefik.http.routers.paperless-https.entrypoints=https"
|
||||||
- "traefik.http.routers.hello-world-https.tls=true"
|
- "traefik.http.routers.paperless-https.service=paperless-service"
|
||||||
- "traefik.http.routers.hello-world-https.priority=50"
|
- "traefik.http.routers.paperless-https.tls=true"
|
||||||
- "traefik.http.routers.gitea.service=gitea-https-service"
|
|
||||||
# Middleware
|
# Middleware
|
||||||
# Service
|
# Service
|
||||||
# - "traefik.http.services.gitea-https-service.loadbalancer.server.port=3000"
|
- "traefik.http.services.paperless-service.loadbalancer.server.port=8000"
|
||||||
# - "traefik.http.services.gitea-https-service.loadbalancer.server.scheme=https"
|
|
||||||
# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.hostname=gitea.traefik.me"
|
###
|
||||||
# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.method=foobar"
|
gotenberg:
|
||||||
# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.timeout=10"
|
container_name: paperless-gotenberg
|
||||||
# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.interval=30"
|
hostname: paperless-gotenberg
|
||||||
|
image: docker.io/gotenberg/gotenberg:8.7
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- back_network_paperless
|
||||||
|
# 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:
|
||||||
|
container_name: paperless-tika
|
||||||
|
hostname: paperless-tika
|
||||||
|
image: docker.io/apache/tika:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- back_network_paperless
|
||||||
|
|
||||||
|
###
|
||||||
|
msmtpd:
|
||||||
|
container_name: paperless-msmtpd
|
||||||
|
hostname: paperless-msmtpd
|
||||||
|
image: crazymax/msmtpd:latest
|
||||||
|
networks:
|
||||||
|
- back_network_paperless
|
||||||
|
environment:
|
||||||
|
- "TZ=Europe/Paris"
|
||||||
|
- "PUID=1500"
|
||||||
|
- "PGID=1500"
|
||||||
|
- "SMTP_HOST=10.0.4.52"
|
||||||
|
- "SMTP_PORT=587"
|
||||||
|
- "SMTP_TLS=on"
|
||||||
|
- "SMTP_STARTTLS=on"
|
||||||
|
- "SMTP_TLS_CHECKCERT=off"
|
||||||
|
- "SMTP_AUTH=on"
|
||||||
|
- "SMTP_USER=hostinfo@tips-of-mine.fr"
|
||||||
|
- "SMTP_PASSWORD=P@ssw0rd!12345+"
|
||||||
|
- "SMTP_DOMAIN=localhost"
|
||||||
|
- "SMTP_FROM=hostinfo@tips-of-mine.fr"
|
||||||
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "echo EHLO localhost"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
2
export.sh
Normal file
2
export.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
docker compose exec -T webserver document_exporter ../export
|
Loading…
x
Reference in New Issue
Block a user