diff --git a/paperless/docker-compose.yml b/paperless/docker-compose.yml index 6322ba2..6d98e43 100644 --- a/paperless/docker-compose.yml +++ b/paperless/docker-compose.yml @@ -1,17 +1,69 @@ ---- -version: "2.1" +# 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.4" services: - paperless-ng: - image: lscr.io/linuxserver/paperless-ng - container_name: paperless-ng - environment: - - PUID=1000 - - PGID=1000 - - TZ=Europe/Berlin - - REDIS_URL= #optionaler Punkt + broker: + image: redis:6.0 + container_name: paperless_redis + restart: unless-stopped + + db: + image: postgres:13 + container_name: paperless_db + restart: unless-stopped volumes: - - ./config:/config - - ./data:/data + - ./db:/var/lib/postgresql/data + environment: + POSTGRES_DB: paperless + POSTGRES_USER: paperless + POSTGRES_PASSWORD: paperless + + webserver: + image: jonaswinkler/paperless-ng:latest + container_name: paperless_app + restart: unless-stopped + depends_on: + - db + - broker ports: - 8009:8000 - restart: unless-stopped \ No newline at end of file + 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 + env_file: docker-compose.env + environment: + PAPERLESS_REDIS: redis://broker:6379 + PAPERLESS_DBHOST: db \ No newline at end of file