# 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' # - Upload 'docker-compose.env' by clicking on 'Load variables from .env file' # - Modify the environment variables as needed # - Click 'Deploy the stack' and wait for it to be deployed # # For more extensive installation and update instructions, refer to the # documentation. services: broker: image: docker.io/library/redis:8 restart: unless-stopped volumes: - /volume1/docker/paperless/redisdata:/data networks: - backend-net webserver: image: ghcr.io/paperless-ngx/paperless-ngx:latest restart: unless-stopped depends_on: - broker ports: - "8010:8000" volumes: - /volume1/docker/paperless/data:/usr/src/paperless/data - /volume1/docker/paperless/media:/usr/src/paperless/media - /volume1/docker/paperless/export:/usr/src/paperless/export - /volume1/docker/paperless/consume:/usr/src/paperless/consume environment: PAPERLESS_REDIS: redis://broker:6379 PAPERLESS_DBENGINE: postgres PAPERLESS_DBHOST: postgres PAPERLESS_DBPORT: 5432 PAPERLESS_DBNAME: paperless PAPERLESS_DBUSER: paperless PAPERLESS_DBPASS: kH8rwrUREJmjOBSb9uV0yXXhCRM9pQxdSk0TOZ8yi0oZTaPZ CSRF_TRUSTED_ORIGINS: https://paperless.chengs.uk env_file: - stack.env networks: - frontend-net - backend-net healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8000 || exit 1"] interval: 30s timeout: 5s retries: 5 networks: frontend-net: external: true backend-net: external: true