initial commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# Paperless-ngx
|
||||
|
||||
Deploy Paperless-ngx document management system using Docker Compose.
|
||||
|
||||
## Description
|
||||
|
||||
Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive.
|
||||
|
||||
## Variables
|
||||
|
||||
## Required
|
||||
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `paperless_db_password` | `paperless` | PostgreSQL password |
|
||||
| `paperless_consume_path` | `{{ app_dir }}/consume` | Document intake directory |
|
||||
|
||||
### Optional
|
||||
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `paperless_http_port` | `8000` | Web interface port |
|
||||
| `paperless_data_path` | `{{ app_dir }}/data` | Application data storage |
|
||||
| `paperless_media_path` | `{{ app_dir }}/media` | Processed document storage |
|
||||
| `paperless_export_path` | `{{ app_dir }}/export` | Document export directory |
|
||||
| `paperless_pgdata_path` | `{{ app_dir }}/pgdata` | PostgreSQL data storage |
|
||||
| `paperless_redisdata_path` | `{{ app_dir }}/redisdata` | Redis data storage |
|
||||
| `paperless_container_version` | `latest` | Paperless-ngx Docker image tag |
|
||||
| `paperless_db_name` | `paperless` | PostgreSQL database name |
|
||||
| `paperless_db_user` | `paperless` | PostgreSQL username |
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
- role: patrickj.docker_apps.paperless-ngx
|
||||
vars:
|
||||
paperless_http_port: 8080
|
||||
paperless_db_password: "{{ vault_paperless_db_password }}"
|
||||
paperless_consume_path: /path/to/consume
|
||||
```
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
app_name: paperless-ngx
|
||||
|
||||
# Container configuration
|
||||
paperless_container_name: "{{ app_name | default('paperless-ngx') }}"
|
||||
paperless_container_version: latest
|
||||
paperless_restart_policy: "{{ app_restart_policy }}"
|
||||
|
||||
# Network configuration
|
||||
paperless_http_port: 8000
|
||||
|
||||
# Volume paths
|
||||
paperless_data_path: "{{ app_dir }}/data"
|
||||
paperless_media_path: "{{ app_dir }}/media"
|
||||
paperless_export_path: "{{ app_dir }}/export"
|
||||
paperless_consume_path: "{{ app_dir }}/consume"
|
||||
paperless_pgdata_path: "{{ app_dir }}/pgdata"
|
||||
paperless_redisdata_path: "{{ app_dir }}/redisdata"
|
||||
|
||||
# App-specific configuration
|
||||
paperless_db_name: paperless
|
||||
paperless_db_user: paperless
|
||||
paperless_db_password: paperless
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: Patrick Jaroszewski
|
||||
description: Deploy Mealie with Docker Compose
|
||||
license: MIT
|
||||
|
||||
dependencies:
|
||||
- role: patrickj.docker_apps.docker_compose_app
|
||||
vars:
|
||||
app_role_name: paperless-ngx
|
||||
app_subdirectories:
|
||||
- "{{ paperless_data_path }}"
|
||||
- "{{ paperless_media_path }}"
|
||||
- "{{ paperless_export_path}}"
|
||||
- "{{ paperless_consume_path}}"
|
||||
- "{{ paperless_pgdata_path}}"
|
||||
- "{{ paperless_redisdata_path}}"
|
||||
app_backup_subdirectories:
|
||||
- "{{ paperless_data_path }}"
|
||||
- "{{ paperless_media_path }}"
|
||||
- "{{ paperless_export_path}}"
|
||||
- "{{ paperless_pgdata_path}}"
|
||||
- "{{ paperless_redisdata_path}}"
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
services:
|
||||
broker:
|
||||
image: docker.io/library/redis:8
|
||||
restart: {{ paperless_restart_policy }}
|
||||
volumes:
|
||||
- "{{ paperless_redisdata_path }}:/data"
|
||||
db:
|
||||
image: docker.io/library/postgres:18
|
||||
restart: {{ paperless_restart_policy }}
|
||||
volumes:
|
||||
- "{{ paperless_pgdata_path }}:/var/lib/postgresql"
|
||||
environment:
|
||||
POSTGRES_DB: paperless
|
||||
POSTGRES_USER: paperless
|
||||
POSTGRES_PASSWORD: paperless
|
||||
webserver:
|
||||
image: ghcr.io/paperless-ngx/paperless-ngx:{{ paperless_container_version }}
|
||||
restart: {{ paperless_restart_policy }}
|
||||
depends_on:
|
||||
- db
|
||||
- broker
|
||||
- gotenberg
|
||||
- tika
|
||||
ports:
|
||||
- "{{ paperless_http_port }}:8000"
|
||||
volumes:
|
||||
- "{{ paperless_data_path }}:/usr/src/paperless/data"
|
||||
- "{{ paperless_media_path }}:/usr/src/paperless/media"
|
||||
- "{{ paperless_export_path }}:/usr/src/paperless/export"
|
||||
- "{{ paperless_consume_path }}:/usr/src/paperless/consume"
|
||||
environment:
|
||||
COMPOSE_PROJECT_NAME: {{ app_name }}
|
||||
PAPERLESS_REDIS: redis://broker:6379
|
||||
PAPERLESS_DBHOST: db
|
||||
PAPERLESS_TIKA_ENABLED: 1
|
||||
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
|
||||
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
|
||||
gotenberg:
|
||||
image: docker.io/gotenberg/gotenberg:8.25
|
||||
restart: {{ paperless_restart_policy }}
|
||||
# The gotenberg chromium route is used to convert .eml files. We do not
|
||||
# want to allow external content like tracking pixels or even javascript.
|
||||
command:
|
||||
- "gotenberg"
|
||||
- "--chromium-disable-javascript=true"
|
||||
- "--chromium-allow-list=file:///tmp/.*"
|
||||
tika:
|
||||
image: docker.io/apache/tika:latest
|
||||
restart: {{ paperless_restart_policy }}
|
||||
Reference in New Issue
Block a user