/ppngx

Podman + Paperless NGX

Primary LanguageShellMIT LicenseMIT

ppngx: Podman + Paperless-ngx

This is a Fork to install Paperless-ngx with Rootless Podman inside a Podman Pod.

It will launch Redis, Tika, Gotenberg, and Paperless-ngx inside a self-contained pod.

This setup is using SQLite as backend (since I see no reason to move to postgresql...)

Fork

Rather than executing start.sh, use Kubernetes.yml to describe pod setup.

Setup

  1. Ensure podman packages are installed
  2. podman play kube ./paperless.yaml setup according to kube config
  3. Wait a bit and make sure http://localhost:8000 is loading paperless.
  4. Add a superuser to paperless-ngx with:
$ podman exec -it paperless-paperless-webserver python manage.py createsuperuser

Didn't support other part of the config yet (SFTP / postgres) since I am just discoverint Paperless-ngx.

Systemd Config

Startup can be automated through Systemd + Podman Quadlet Requirement: Podman 4.4 (it include Quadlet)

from Deploying a multi-container application using Podman and Quadlet

# The place where we will store the definition
$ mkdir -p $HOME/.config/containers/systemd/

paperless.kube stored in $HOME/.config/containers/systemd/

[Install]
WantedBy=default.target

[Kube]
# Point to the yaml file in the same directory
Yaml=/mnt/paperless/paperless.yaml
# Publish the envoy proxy data port => this has to match otherwise service won't start
PublishPort=8000:8000
# to start pod
$ systemctl --user daemon-reload
$ systemctl --user start paperless.service

see MIT License applying to start.sh