diff --git a/docker/compose/docker-compose.portainer.yml b/docker/compose/docker-compose.portainer.yml new file mode 100644 index 000000000..12988c636 --- /dev/null +++ b/docker/compose/docker-compose.portainer.yml @@ -0,0 +1,94 @@ +# 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 8010. +# +# 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: +# +# - Open portainer Stacks list and click 'Add stack' +# - Paste the contents of this file and assign a name, e.g. 'Paperless' +# - Click 'Deploy the stack' and wait for it to be deployed +# - Open the list of containers, select paperless_webserver_1 +# - Click 'Console' and then 'Connect' to open the command line inside the container +# - Run 'python3 manage.py createsuperuser' to create a user +# - Exit the console +# +# For more extensive installation and update instructions, refer to the +# documentation. + +version: "3.4" +services: + broker: + image: redis:6.0 + restart: unless-stopped + + db: + image: postgres:13 + restart: unless-stopped + volumes: + - pgdata:/var/lib/postgresql/data + environment: + POSTGRES_DB: paperless + POSTGRES_USER: paperless + POSTGRES_PASSWORD: paperless + + webserver: + image: jonaswinkler/paperless-ng:latest + restart: unless-stopped + depends_on: + - db + - broker + ports: + - 8010:8000 + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000"] + interval: 30s + timeout: 10s + retries: 5 + volumes: + - data:/usr/src/paperless/data + - media:/usr/src/paperless/media + - ./export:/usr/src/paperless/export + - ./consume:/usr/src/paperless/consume + environment: + PAPERLESS_REDIS: redis://broker:6379 + PAPERLESS_DBHOST: db +# 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: 100 +# 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 +# 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: America/Los_Angeles +# The default language to use for OCR. Set this to the language most of your +# documents are written in. + #PAPERLESS_OCR_LANGUAGE: eng + +volumes: + data: + media: + pgdata: diff --git a/install-paperless-ng.sh b/install-paperless-ng.sh index 39541dcc3..a31c9203f 100755 --- a/install-paperless-ng.sh +++ b/install-paperless-ng.sh @@ -291,7 +291,7 @@ DEFAULT_LANGUAGES="deu eng fra ita spa" if [[ ! $USERMAP_GID == "1000" ]] ; then echo "USERMAP_GID=$USERMAP_GID" fi - echo "PAPERLESS_ZIME_ZONE=$TIME_ZONE" + echo "PAPERLESS_TIME_ZONE=$TIME_ZONE" echo "PAPERLESS_OCR_LANGUAGE=$OCR_LANGUAGE" echo "PAPERLESS_SECRET_KEY=$SECRET_KEY" if [[ ! " ${DEFAULT_LANGUAGES[@]} " =~ " ${OCR_LANGUAGE} " ]] ; then