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:
|
||||
traefik_front_network:
|
||||
external: true
|
||||
back_network_:
|
||||
back_network_paperless:
|
||||
driver: bridge
|
||||
attachable: true
|
||||
|
||||
#### SERVICES
|
||||
services:
|
||||
### hello_world
|
||||
hello_world:
|
||||
container_name: gitea-app
|
||||
hostname: gitea-app
|
||||
image: hello-world
|
||||
environment:
|
||||
restart: always
|
||||
networks:
|
||||
# - back_network_gitea
|
||||
- traefik_front_network
|
||||
###
|
||||
broker:
|
||||
container_name: paperless-broker
|
||||
hostname: paperless-broker
|
||||
image: docker.io/library/redis:7
|
||||
restart: unless-stopped
|
||||
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:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=traefik_front_network"
|
||||
# HTTP
|
||||
- "traefik.http.routers.hello-world-http.rule=Host(`hello-world.tips-of-mine.com`)"
|
||||
- "traefik.http.routers.hello-world-http.entrypoints=http"
|
||||
- "traefik.http.routers.hello-world-http.priority=49"
|
||||
- "traefik.http.routers.paperless-http.rule=Host(`paperless.tips-of-mine.com`)"
|
||||
- "traefik.http.routers.paperless-http.entrypoints=http"
|
||||
# HTTPS
|
||||
- "traefik.http.routers.hello-world-https.rule=Host(`hello-world.tips-of-mine.com`)"
|
||||
- "traefik.http.routers.hello-world-https.entrypoints=https"
|
||||
- "traefik.http.routers.hello-world-https.tls=true"
|
||||
- "traefik.http.routers.hello-world-https.priority=50"
|
||||
- "traefik.http.routers.gitea.service=gitea-https-service"
|
||||
- "traefik.http.routers.paperless-https.rule=Host(`paperless.tips-of-mine.com`)"
|
||||
- "traefik.http.routers.paperless-https.entrypoints=https"
|
||||
- "traefik.http.routers.paperless-https.service=paperless-service"
|
||||
- "traefik.http.routers.paperless-https.tls=true"
|
||||
# Middleware
|
||||
# Service
|
||||
# - "traefik.http.services.gitea-https-service.loadbalancer.server.port=3000"
|
||||
# - "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"
|
||||
# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.timeout=10"
|
||||
# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.interval=30"
|
||||
- "traefik.http.services.paperless-service.loadbalancer.server.port=8000"
|
||||
|
||||
###
|
||||
gotenberg:
|
||||
container_name: paperless-gotenberg
|
||||
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