--- # Name of the instance (job and service name) instance: paperless paperless: # Version to use version: 2.8.6 # Connect to the postgres service through the mesh consul: connect: upstreams: - destination_name: postgres[[ .consul.suffix ]] local_bind_port: 5432 vault: # Vault policies to add to the containers policies: - '[[ .instance ]][[ .consul.suffix ]]' # Random secrets to generate and store in vault KV rand_secrets: fields: - secret_key # Env var to set in the containers # The ones here will be inherited by all containers env: PAPERLESS_SECRET_KEY: '{{ with secret "[[ .vault.root ]]kv/service/[[ .instance ]]" }}{{ .Data.data.secret_key }}{{ end }}' PAPERLESS_CORS_ALLOWED_HOSTS: '[[ .paperless.webserver.public_url ]]' wait_for: - service: master.postgres[[ .consul.suffix ]] # This is the main task webserver: # The Docker image to use image: '[[ .docker.repo ]]paperless-ngx:[[ .paperless.version ]]-1' # Env vars to set in the container env: {} # Resource allocation resources: cpu: 300 memory: 384 memory_max: 512 # The URL where BounCA will be available to users public_url: https://paperless.example.org # Traefik settings traefik: {} # The consumer will watch a folder (/input, where a volume is mounted) and # import any files found. consumer: # You can disable the consumer if you do not use it, it'll save some resources enabled: true # The Docker image to use image: '[[ .paperless.webserver.image ]]' # Env vars to set in the container env: {} # Resource allocation resources: cpu: 100 memory: 256 # Task scheduler scheduler: # The Docker image to use image: '[[ .paperless.webserver.image ]]' # Env vars to set in the container env: {} # Resource allocation resources: cpu: 100 memory: 200 # The worker doing the document processing task_queue: # The Docker image to use image: '[[ .paperless.webserver.image ]]' # Env vars to set in the container env: {} # Resource allocation resources: cpu: 500 memory: 384 memory_max: 512 # Volumes for data persistance and exchange volumes: # This is the main volume where paperless keeps your documents data: type: csi source: paperless-data # This is a volume paperless will watch (with the consumer task) and # any document found in it will be imported. If the consumer is disabled # you can omit this volumes as it'll not be added to the job input: type: csi source: paperless-input