feat(paperless): move consume and export to own volume
This commit is contained in:
@@ -77,23 +77,27 @@ exception : il n'est pas dans `env_file`, il vient de SOPS via
|
||||
|
||||
## `consume` et `export`
|
||||
|
||||
Deux bind mounts **relatifs à ce dossier**, donc situés dans le dépôt :
|
||||
|
||||
| Montage | Rôle |
|
||||
| Volume | Rôle |
|
||||
|---|---|
|
||||
| `./consume` | tout fichier déposé ici est ingéré puis supprimé |
|
||||
| `./export` | destination de `document_exporter` |
|
||||
| `consume` | tout fichier déposé ici est ingéré puis supprimé |
|
||||
| `export` | destination de `document_exporter` |
|
||||
|
||||
Ce sont des données, pas de la configuration : le `.gitignore` local les
|
||||
exclut du dépôt. Ne pas retirer ces règles, ce sont des documents personnels.
|
||||
Ce sont des volumes Docker et non des dossiers de ce dépôt : les données
|
||||
restent hors de l'arbre versionné, et un déplacement du dépôt ne les emmène
|
||||
pas. Ils naissent avec l'UID/GID du chemin correspondant dans l'image (1000),
|
||||
donc sans `chown` à faire.
|
||||
|
||||
Ces dossiers doivent appartenir à l'UID/GID déclaré dans `env_file`
|
||||
(`USERMAP_UID` / `USERMAP_GID`, 1000) : Docker les crée en `root` s'ils
|
||||
n'existent pas, et Paperless ne peut alors plus supprimer les fichiers qu'il a
|
||||
consommés.
|
||||
Déposer un fichier à ingérer passe par l'UI, ou :
|
||||
|
||||
```bash
|
||||
mkdir -p consume export && chown 1000:1000 consume export
|
||||
docker cp fichier.pdf paperlessopytexorg-webserver-1:/usr/src/paperless/consume/
|
||||
```
|
||||
|
||||
Générer une archive lisible sans Paperless :
|
||||
|
||||
```bash
|
||||
sops exec-env secrets.env.yaml \
|
||||
'docker compose exec webserver document_exporter ../export'
|
||||
```
|
||||
|
||||
## Volumes
|
||||
@@ -104,6 +108,8 @@ mkdir -p consume export && chown 1000:1000 consume export
|
||||
| `paperless-media` | **les documents originaux et leurs archives PDF** | label `backup.enable=true` + `MANUAL_VOLUMES` |
|
||||
| `paperless-pg-data` | base PostgreSQL | dump SQL (`backup.type=postgres` sur le conteneur `db`) |
|
||||
| `paperlessopytexorg_valkeydata` | file de tâches Celery (Valkey) | non sauvegardé, volontairement — reconstruit |
|
||||
| `paperlessopytexorg_export` | archive `document_exporter`, lisible sans Paperless | label `backup.enable=true` sur le volume |
|
||||
| `paperlessopytexorg_consume` | sas d'ingestion | non sauvegardé, volontairement — transitoire |
|
||||
|
||||
Les trois premiers portent un `name:` explicite, sans préfixe de projet.
|
||||
|
||||
|
||||
@@ -59,10 +59,8 @@ services:
|
||||
volumes:
|
||||
- data:/usr/src/paperless/data
|
||||
- media:/usr/src/paperless/media
|
||||
# Bind mounts relatifs au dossier de la stack : leur chemin sur l'hôte
|
||||
# change avec le déplacement du dépôt. Voir README.md.
|
||||
- ./export:/usr/src/paperless/export
|
||||
- ./consume:/usr/src/paperless/consume
|
||||
- export:/usr/src/paperless/export
|
||||
- consume:/usr/src/paperless/consume
|
||||
networks:
|
||||
- default
|
||||
- traefik-proxy
|
||||
@@ -115,6 +113,13 @@ volumes:
|
||||
# zéro plutôt que de convertir. L'ancien `paperlessopytexorg_redisdata`
|
||||
# subsiste, inutilisé : c'est le chemin de retour vers `redis:7`.
|
||||
valkeydata:
|
||||
# Volumes neufs : le label s'applique donc, contrairement aux quatre
|
||||
# au-dessus. `consume` n'en porte pas — un fichier n'y séjourne que le temps
|
||||
# d'être ingéré, après quoi il est dans `media`.
|
||||
export:
|
||||
labels:
|
||||
backup.enable: true
|
||||
consume:
|
||||
|
||||
networks:
|
||||
traefik-proxy:
|
||||
|
||||
Reference in New Issue
Block a user