initial commit

This commit is contained in:
hiperman
2026-01-30 15:07:31 -05:00
commit 7844cc4416
83 changed files with 3802 additions and 0 deletions
+40
View File
@@ -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
```
+23
View File
@@ -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
+23
View File
@@ -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 }}