add paperless-ngx docker stack
This commit is contained in:
parent
b59026cb13
commit
a341d0dd30
7 changed files with 156 additions and 14 deletions
|
@ -0,0 +1,113 @@
|
|||
# vi: ft=yaml
|
||||
# Docker Compose file for running paperless from the Docker Hub.
|
||||
# This file contains everything paperless needs to run.
|
||||
# Paperless supports amd64, arm and arm64 hardware.
|
||||
#
|
||||
# All compose files of paperless configure paperless in the following way:
|
||||
#
|
||||
# - Paperless is (re)started on system boot, if it was running before shutdown.
|
||||
# - Docker volumes for storing data are managed by Docker.
|
||||
# - Folders for importing and exporting files are created in the same directory
|
||||
# as this file and mounted to the correct folders inside the container.
|
||||
# - Paperless listens on port 8000.
|
||||
#
|
||||
# In addition to that, this Docker Compose file adds the following optional
|
||||
# configurations:
|
||||
#
|
||||
# - Instead of SQLite (default), PostgreSQL is used as the database server.
|
||||
#
|
||||
# To install and update paperless with this file, do the following:
|
||||
#
|
||||
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
|
||||
# and '.env' into a folder.
|
||||
# - Run 'docker compose pull'.
|
||||
# - Run 'docker compose run --rm webserver createsuperuser' to create a user.
|
||||
# - Run 'docker compose up -d'.
|
||||
#
|
||||
# For more extensive installation and update instructions, refer to the
|
||||
# documentation.
|
||||
|
||||
version: "3.7"
|
||||
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
paperless-ngx:
|
||||
|
||||
volumes:
|
||||
data:
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=lewis.dmz,nolock,soft,rw"
|
||||
device: ":/mnt/data/nfs/paperless-ngx/data"
|
||||
redisdata:
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=lewis.dmz,nolock,soft,rw"
|
||||
device: ":/mnt/data/nfs/paperless-ngx/redisdata"
|
||||
nextcloud:
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=lewis.dmz,nolock,soft,rw"
|
||||
device: ":/mnt/data/nfs/nextcloud/data"
|
||||
|
||||
services:
|
||||
broker:
|
||||
image: docker.io/library/redis:7
|
||||
volumes:
|
||||
- type: volume
|
||||
source: redisdata
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
networks:
|
||||
- paperless-ngx
|
||||
|
||||
webserver:
|
||||
image: ghcr.io/paperless-ngx/paperless-ngx:2.3
|
||||
depends_on:
|
||||
- broker
|
||||
volumes:
|
||||
- type: volume
|
||||
source: data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
# TODO: what does this directory even do?
|
||||
# - ./export:/usr/src/paperless/export
|
||||
- type: volume
|
||||
source: nextcloud
|
||||
target: /nextcloud
|
||||
volume:
|
||||
nocopy: true
|
||||
environment:
|
||||
PAPERLESS_REDIS: redis://broker:6379
|
||||
PAPERLESS_DBENGINE: postgresql
|
||||
PAPERLESS_DBHOST: lewis.dmz
|
||||
PAPERLESS_DBNAME: paperless
|
||||
PAPERLESS_DBUSER: paperless
|
||||
PAPERLESS_DBPASS: "{{ paperless_db_password }}"
|
||||
PAPERLESS_CONSUMPTION_DIR: /nextcloud/data/pim/files/paperless-ngx/consumption/
|
||||
PAPERLESS_DATA_DIR: /data/
|
||||
PAPERLESS_MEDIA_ROOT: /data/
|
||||
PAPERLESS_CONSUMER_POLLING: 10
|
||||
PAPERLESS_OCR_LANGUAGES: nld eng
|
||||
PAPERLESS_URL: https://paperless.kun.is
|
||||
PAPERLESS_TIME_ZONE: Europe/Amsterdam
|
||||
PAPERLESS_OCR_LANGUAGE: nld
|
||||
PAPERLESS_SECRET_KEY: "{{ paperless_secret_key }}"
|
||||
USERMAP_UID: "33"
|
||||
USERMAP_GID: "33"
|
||||
deploy:
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.paperless-ngx.entrypoints=websecure
|
||||
- traefik.http.routers.paperless-ngx.rule=Host(`paperless.kun.is`)
|
||||
- traefik.http.routers.paperless-ngx.tls=true
|
||||
- traefik.http.routers.paperless-ngx.tls.certresolver=letsencrypt
|
||||
- traefik.http.routers.paperless-ngx.service=paperless-ngx
|
||||
- traefik.http.services.paperless-ngx.loadbalancer.server.port=8000
|
||||
- traefik.docker.network=traefik
|
||||
networks:
|
||||
- traefik
|
||||
- paperless-ngx
|
Reference in a new issue