=== docker ps
{"Command":"\"/usr/local/bin/entrypoint.sh\"","CreatedAt":"2026-10-22 14:03:48 +0000 UTC","HealthStatus":"none","ID":"963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe","Image":"paperless-local:3.3.3","Labels":"case.study=local,com.docker.compose.config-hash=302a2c2046e532b2807d2928ee8e56c33ab22ae153954abdcaac794a5d031926,com.docker.compose.container-number=1,com.docker.compose.depends_on=broker:service_started:false,db:service_started:false,com.docker.compose.image=sha256:7a9fe416f02c03ffd800fd187164171282d2ef75bc2c5a14f3867dca19a7e0f1,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/opt/pngx/compose.yaml,com.docker.compose.project.working_dir=/opt/pngx,com.docker.compose.project=pngx,com.docker.compose.service=webserver,com.docker.compose.version=5.6.1,org.opencontainers.image.description=Paperless-ngx — the GPL-3.0 open-source document management system (Django).,org.opencontainers.image.licenses=GPL-3.0-only,org.opencontainers.image.revision=31caf01ae54db185fd29190a9ab73105a4b1ee90,org.opencontainers.image.source=https://github.com/paperless-ngx/paperless-ngx,org.opencontainers.image.title=Paperless-ngx,org.opencontainers.image.vendor=paperless-ngx,org.opencontainers.image.version=v3.3.3-CE-ubuntu24.04-r1","LocalVolumes":"2","Mounts":"pngx_data,pngx_media","Names":"pngx-webserver-1","Networks":"pngx_default","Platform":{"architecture":"amd64","os":"linux"},"Ports":"0.0.0.0:8000-\u003e8000/tcp, [::]:8000-\u003e8000/tcp","RunningFor":"About a minute ago","Size":"53.2kB (virtual 3.62GB)","State":"running","Status":"Up About a minute"}
{"Command":"\"docker-entrypoint.sh postgres\"","CreatedAt":"2026-10-22 14:03:48 +0000 UTC","HealthStatus":"none","ID":"c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877","Image":"docker.io/library/postgres:17","Labels":"com.docker.compose.config-hash=5bbef4fa187c13e16ab99f91f18454b189d925c0ad23ded8d8343ec6cac2d7d8,com.docker.compose.container-number=1,com.docker.compose.depends_on=,com.docker.compose.image=sha256:3518071376d0b6156b02e1db2747a78511b5b9dc3763cc79c506ebe2dc2ee71c,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/opt/pngx/compose.yaml,com.docker.compose.project.working_dir=/opt/pngx,com.docker.compose.project=pngx,com.docker.compose.service=db,com.docker.compose.version=5.6.1","LocalVolumes":"1","Mounts":"pngx_pgdata","Names":"pngx-db-1","Networks":"pngx_default","Platform":{"architecture":"amd64","os":"linux"},"Ports":"5432/tcp","RunningFor":"About a minute ago","Size":"20.5kB (virtual 479MB)","State":"running","Status":"Up About a minute"}
{"Command":"\"tini -- docker-entrypoint.sh valkey-server\"","CreatedAt":"2026-10-22 14:03:48 +0000 UTC","HealthStatus":"none","ID":"0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d","Image":"docker.io/valkey/valkey:9-alpine","Labels":"com.docker.compose.config-hash=51574c7d0764c83371746fb79e63e8d515daaf07b216c5c20864269cd025fb59,com.docker.compose.container-number=1,com.docker.compose.depends_on=,com.docker.compose.image=sha256:3b83b0b6a598bb390c8186a408a69949772f439548a81c5ea0ab7ccf102c248d,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/opt/pngx/compose.yaml,com.docker.compose.project.working_dir=/opt/pngx,com.docker.compose.project=pngx,com.docker.compose.service=broker,com.docker.compose.version=5.6.1,org.opencontainers.image.source=https://github.com/valkey-io/valkey","LocalVolumes":"1","Mounts":"pngx_redisdata","Names":"pngx-broker-1","Networks":"pngx_default","Platform":{"architecture":"amd64","os":"linux"},"Ports":"6379/tcp","RunningFor":"About a minute ago","Size":"4.1kB (virtual 47.2MB)","State":"running","Status":"Up About a minute"}
=== docker inspect
[
    {
        "Id": "963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe",
        "Created": "2026-10-22T14:03:48.992861587Z",
        "Path": "/usr/local/bin/entrypoint.sh",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 4812,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-10-22T14:03:51.576237646Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:f0ffd6fdc289b35d9b2152a304ab02e13f8d344399d243bdcc112ac863a5a915",
        "ResolvConfPath": "/var/lib/docker/containers/963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe/hostname",
        "HostsPath": "/var/lib/docker/containers/963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe/hosts",
        "LogPath": "/var/lib/docker/containers/963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe/963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe-json.log",
        "Name": "/pngx-webserver-1",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "pngx_data:/usr/src/paperless/data:rw",
                "pngx_media:/usr/src/paperless/media:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "pngx_default",
            "PortBindings": {
                "8000/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8000"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/acpi",
                "/proc/asound",
                "/proc/interrupts",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/sys/devices/virtual/powercap",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "Storage": {
            "RootFS": {
                "Snapshot": {
                    "Name": "overlayfs"
                }
            }
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "pngx_data",
                "Source": "/var/lib/docker/volumes/pngx_data/_data",
                "Destination": "/usr/src/paperless/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "pngx_media",
                "Source": "/var/lib/docker/volumes/pngx_media/_data",
                "Destination": "/usr/src/paperless/media",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "963ea9b0121d",
            "Domainname": "",
            "User": "paperless",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "8000/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PAPERLESS_DBPASS=<redacted>",
                "PAPERLESS_SECRET_KEY=<redacted>",
                "PAPERLESS_ADMIN_USER=caseadmin",
                "PAPERLESS_ADMIN_PASSWORD=<redacted>",
                "PAPERLESS_REDIS=redis://broker:6379",
                "PAPERLESS_DBHOST=db",
                "PATH=/opt/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "PYTHONDONTWRITEBYTECODE=1",
                "PYTHONUNBUFFERED=1",
                "PNGX_CONTAINERIZED=1",
                "PAPERLESS_OCR_LANGUAGE=eng"
            ],
            "Cmd": null,
            "Image": "paperless-local:3.3.3",
            "Volumes": null,
            "WorkingDir": "/usr/src/paperless/src",
            "Entrypoint": [
                "/usr/local/bin/entrypoint.sh"
            ],
            "Labels": {
                "case.study": "local",
                "com.docker.compose.config-hash": "302a2c2046e532b2807d2928ee8e56c33ab22ae153954abdcaac794a5d031926",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "broker:service_started:false,db:service_started:false",
                "com.docker.compose.image": "sha256:7a9fe416f02c03ffd800fd187164171282d2ef75bc2c5a14f3867dca19a7e0f1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "pngx",
                "com.docker.compose.project.config_files": "/opt/pngx/compose.yaml",
                "com.docker.compose.project.working_dir": "/opt/pngx",
                "com.docker.compose.service": "webserver",
                "com.docker.compose.version": "5.6.1",
                "org.opencontainers.image.description": "Paperless-ngx — the GPL-3.0 open-source document management system (Django).",
                "org.opencontainers.image.licenses": "GPL-3.0-only",
                "org.opencontainers.image.revision": "31caf01ae54db185fd29190a9ab73105a4b1ee90",
                "org.opencontainers.image.source": "https://github.com/paperless-ngx/paperless-ngx",
                "org.opencontainers.image.title": "Paperless-ngx",
                "org.opencontainers.image.vendor": "paperless-ngx",
                "org.opencontainers.image.version": "v3.3.3-CE-ubuntu24.04-r1"
            }
        },
        "NetworkSettings": {
            "SandboxID": "72c88354203a3b54a662169065bca201ac1f17989bc447f1652650a953d26a9b",
            "SandboxKey": "/var/run/docker/netns/72c88354203a",
            "Ports": {
                "8000/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8000"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "8000"
                    }
                ]
            },
            "Networks": {
                "pngx_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "pngx-webserver-1",
                        "webserver"
                    ],
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "ae7510cb3fe6aa803079d6db3342dbbb967edc224a4e754bbc66fe35946801c0",
                    "EndpointID": "bddfdac51d23e5b98b30b7a3e5c22e09b60d6f5bf803aa826aaf33d06431ed3b",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.4",
                    "MacAddress": "ae:5e:5f:ba:5f:fc",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "pngx-webserver-1",
                        "webserver",
                        "963ea9b0121d"
                    ]
                }
            }
        },
        "ImageManifestDescriptor": {
            "mediaType": "application/vnd.oci.image.manifest.v1+json",
            "digest": "sha256:7a9fe416f02c03ffd800fd187164171282d2ef75bc2c5a14f3867dca19a7e0f1",
            "size": 1994,
            "platform": {
                "architecture": "amd64",
                "os": "linux"
            }
        }
    },
    {
        "Id": "c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877",
        "Created": "2026-10-22T14:03:48.487285665Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "postgres"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 4643,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-10-22T14:03:49.638396623Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:b8faeff7712663c2773a190181e1246e37e364b887611c04658c28b44e2408fe",
        "ResolvConfPath": "/var/lib/docker/containers/c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877/hostname",
        "HostsPath": "/var/lib/docker/containers/c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877/hosts",
        "LogPath": "/var/lib/docker/containers/c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877/c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877-json.log",
        "Name": "/pngx-db-1",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "pngx_pgdata:/var/lib/postgresql/data:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "pngx_default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/acpi",
                "/proc/asound",
                "/proc/interrupts",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/sys/devices/virtual/powercap",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "Storage": {
            "RootFS": {
                "Snapshot": {
                    "Name": "overlayfs"
                }
            }
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "pngx_pgdata",
                "Source": "/var/lib/docker/volumes/pngx_pgdata/_data",
                "Destination": "/var/lib/postgresql/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "c9710bd69808",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "5432/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "POSTGRES_DB=paperless",
                "POSTGRES_USER=paperless",
                "POSTGRES_PASSWORD=<redacted>",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/17/bin",
                "GOSU_VERSION=1.19",
                "LANG=en_US.utf8",
                "PG_MAJOR=17",
                "PG_VERSION=17.11-1.pgdg13+2",
                "PGDATA=/var/lib/postgresql/data"
            ],
            "Cmd": [
                "postgres"
            ],
            "Image": "docker.io/library/postgres:17",
            "Volumes": {
                "/var/lib/postgresql/data": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "Labels": {
                "com.docker.compose.config-hash": "5bbef4fa187c13e16ab99f91f18454b189d925c0ad23ded8d8343ec6cac2d7d8",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:3518071376d0b6156b02e1db2747a78511b5b9dc3763cc79c506ebe2dc2ee71c",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "pngx",
                "com.docker.compose.project.config_files": "/opt/pngx/compose.yaml",
                "com.docker.compose.project.working_dir": "/opt/pngx",
                "com.docker.compose.service": "db",
                "com.docker.compose.version": "5.6.1"
            },
            "StopSignal": "SIGINT"
        },
        "NetworkSettings": {
            "SandboxID": "501979d41bce3fab8afa53c0573f59116bd3ccf63f041994d8d46e35bfdeb8ab",
            "SandboxKey": "/var/run/docker/netns/501979d41bce",
            "Ports": {
                "5432/tcp": null
            },
            "Networks": {
                "pngx_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "pngx-db-1",
                        "db"
                    ],
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "ae7510cb3fe6aa803079d6db3342dbbb967edc224a4e754bbc66fe35946801c0",
                    "EndpointID": "3c22febb533401b7d4d3e4a434a796b31b3cda2f6466325338bfd6794fc88097",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.2",
                    "MacAddress": "4a:d5:08:56:d4:c8",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "pngx-db-1",
                        "db",
                        "c9710bd69808"
                    ]
                }
            }
        },
        "ImageManifestDescriptor": {
            "mediaType": "application/vnd.oci.image.manifest.v1+json",
            "digest": "sha256:3518071376d0b6156b02e1db2747a78511b5b9dc3763cc79c506ebe2dc2ee71c",
            "size": 3628,
            "annotations": {
                "com.docker.official-images.bashbrew.arch": "amd64",
                "org.opencontainers.image.base.digest": "sha256:4876fdea29cac1a33a3195f1eb1952feb1fca7dd6dd00be3e2f1879cf20d34d2",
                "org.opencontainers.image.base.name": "debian:trixie-slim",
                "org.opencontainers.image.created": "2026-10-21T00:37:06Z",
                "org.opencontainers.image.revision": "2603e26e245e558218728ee14e0a42dcb020dc7f",
                "org.opencontainers.image.source": "https://github.com/docker-library/postgres.git#2603e26e245e558218728ee14e0a42dcb020dc7f:17/trixie",
                "org.opencontainers.image.url": "https://hub.docker.com/_/postgres",
                "org.opencontainers.image.version": "17.11"
            },
            "platform": {
                "architecture": "amd64",
                "os": "linux"
            }
        }
    },
    {
        "Id": "0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d",
        "Created": "2026-10-22T14:03:48.315474838Z",
        "Path": "tini",
        "Args": [
            "--",
            "docker-entrypoint.sh",
            "valkey-server"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 4736,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-10-22T14:03:50.670494004Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11",
        "ResolvConfPath": "/var/lib/docker/containers/0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d/hostname",
        "HostsPath": "/var/lib/docker/containers/0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d/hosts",
        "LogPath": "/var/lib/docker/containers/0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d/0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d-json.log",
        "Name": "/pngx-broker-1",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "pngx_redisdata:/data:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "pngx_default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/acpi",
                "/proc/asound",
                "/proc/interrupts",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/sys/devices/virtual/powercap",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "Storage": {
            "RootFS": {
                "Snapshot": {
                    "Name": "overlayfs"
                }
            }
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "pngx_redisdata",
                "Source": "/var/lib/docker/volumes/pngx_redisdata/_data",
                "Destination": "/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "0d163118237c",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "6379/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "VALKEY_VERSION=9.1.2"
            ],
            "Cmd": [
                "valkey-server"
            ],
            "Image": "docker.io/valkey/valkey:9-alpine",
            "Volumes": null,
            "WorkingDir": "/data",
            "Entrypoint": [
                "tini",
                "--",
                "docker-entrypoint.sh"
            ],
            "Labels": {
                "com.docker.compose.config-hash": "51574c7d0764c83371746fb79e63e8d515daaf07b216c5c20864269cd025fb59",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:3b83b0b6a598bb390c8186a408a69949772f439548a81c5ea0ab7ccf102c248d",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "pngx",
                "com.docker.compose.project.config_files": "/opt/pngx/compose.yaml",
                "com.docker.compose.project.working_dir": "/opt/pngx",
                "com.docker.compose.service": "broker",
                "com.docker.compose.version": "5.6.1",
                "org.opencontainers.image.source": "https://github.com/valkey-io/valkey"
            }
        },
        "NetworkSettings": {
            "SandboxID": "95276d68bf91bd8d7d7d0c7a2401f33cc44df21fe5bc66213552444f3f0f8110",
            "SandboxKey": "/var/run/docker/netns/95276d68bf91",
            "Ports": {
                "6379/tcp": null
            },
            "Networks": {
                "pngx_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "pngx-broker-1",
                        "broker"
                    ],
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "ae7510cb3fe6aa803079d6db3342dbbb967edc224a4e754bbc66fe35946801c0",
                    "EndpointID": "895c7561f339eb0620fb3fcac2708ea5c2bfa73997955d1bf1e76d690513f308",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.3",
                    "MacAddress": "86:12:37:e9:b1:2b",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "pngx-broker-1",
                        "broker",
                        "0d163118237c"
                    ]
                }
            }
        },
        "ImageManifestDescriptor": {
            "mediaType": "application/vnd.oci.image.manifest.v1+json",
            "digest": "sha256:3b83b0b6a598bb390c8186a408a69949772f439548a81c5ea0ab7ccf102c248d",
            "size": 1616,
            "platform": {
                "architecture": "amd64",
                "os": "linux"
            }
        }
    }
]
=== images
{"Containers":"1","CreatedAt":"2026-10-21 00:37:20 +0000 UTC","CreatedSince":"37 hours ago","Digest":"sha256:b8faeff7712663c2773a190181e1246e37e364b887611c04658c28b44e2408fe","ID":"sha256:b8faeff7712663c2773a190181e1246e37e364b887611c04658c28b44e2408fe","Repository":"postgres","SharedSize":"N/A","Size":"646MB","Tag":"17","UniqueSize":"N/A"}
{"Containers":"0","CreatedAt":"2026-10-19 17:13:26 +0000 UTC","CreatedSince":"2 days ago","Digest":"sha256:dba0242c1df1843643df4eb50ce5639f3a7900f414879088fd5bed8eaf2d456d","ID":"sha256:dba0242c1df1843643df4eb50ce5639f3a7900f414879088fd5bed8eaf2d456d","Repository":"ghcr.io/paperless-ngx/paperless-ngx","SharedSize":"N/A","Size":"3.61GB","Tag":"3.3.3","UniqueSize":"N/A"}
{"Containers":"1","CreatedAt":"2026-10-19 17:06:39 +0000 UTC","CreatedSince":"2 days ago","Digest":"sha256:f0ffd6fdc289b35d9b2152a304ab02e13f8d344399d243bdcc112ac863a5a915","ID":"sha256:f0ffd6fdc289b35d9b2152a304ab02e13f8d344399d243bdcc112ac863a5a915","Repository":"paperless-local","SharedSize":"N/A","Size":"4.83GB","Tag":"3.3.3","UniqueSize":"N/A"}
{"Containers":"0","CreatedAt":"2026-10-19 17:06:39 +0000 UTC","CreatedSince":"2 days ago","Digest":"sha256:2d2a3d421c0e42c93f82a1127f55e3d7c0a2a7aebe6d20536ac4b030d64c6ded","ID":"sha256:2d2a3d421c0e42c93f82a1127f55e3d7c0a2a7aebe6d20536ac4b030d64c6ded","Repository":"readystack/paperlessngx","SharedSize":"N/A","Size":"4.84GB","Tag":"v3.3.3-CE-ubuntu24.04-r1","UniqueSize":"N/A"}
{"Containers":"1","CreatedAt":"2026-09-21 07:46:04 +0000 UTC","CreatedSince":"4 weeks ago","Digest":"sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11","ID":"sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11","Repository":"valkey/valkey","SharedSize":"N/A","Size":"66MB","Tag":"9-alpine","UniqueSize":"N/A"}
=== listening
LISTEN 0      4096         0.0.0.0:22   0.0.0.0:* users:(("sshd",pid=1595,fd=3),("systemd",pid=1,fd=94))
LISTEN 0      4096   127.0.0.53%lo:53   0.0.0.0:* users:(("systemd-resolve",pid=546,fd=15))             
LISTEN 0      4096      127.0.0.54:53   0.0.0.0:* users:(("systemd-resolve",pid=546,fd=17))             
LISTEN 0      4096         0.0.0.0:8000 0.0.0.0:* users:(("docker-proxy",pid=4839,fd=8))                
LISTEN 0      4096            [::]:22      [::]:* users:(("sshd",pid=1595,fd=4),("systemd",pid=1,fd=95))
LISTEN 0      4096            [::]:8000    [::]:* users:(("docker-proxy",pid=4846,fd=8))                
=== processes
999                     4643 postgres
root                    4736 tini -- docker-entrypoint.sh valkey-server
999                     4768 valkey-server *:6379
1000                    4812 /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisor/paperless.conf -n
999                     4943 postgres: checkpointer 
999                     4944 postgres: background writer 
999                     4946 postgres: walwriter 
999                     4947 postgres: autovacuum launcher 
999                     4948 postgres: logical replication launcher 
1000                    5447 python manage.py document_consumer
1000                    5448 [celery beat] --app paperless beat --loglevel INFO
1000                    5449 granian asginl 0.0.0.0:8000 paperless.asgi:application
1000                    5450 [celeryd: celery@963ea9b0121d:MainProcess] -active- (--app paperless worker --loglevel INFO --without-mingle --without-gossip)
1000                    5451 granian asginl 0.0.0.0:8000 paperless.asgi:application worker-1
999                     5537 postgres: paperless paperless 172.18.0.4(46972) idle
999                     5540 postgres: paperless paperless 172.18.0.4(46982) idle
1000                    5797 [celeryd: celery@963ea9b0121d:ForkPoolWorker-2]
=== units
sys-devices-virtual-net-docker0.device                                                                 loaded    active   plugged   /sys/devices/virtual/net/docker0
sys-subsystem-net-devices-docker0.device                                                               loaded    active   plugged   /sys/subsystem/net/devices/docker0
run-docker-netns-501979d41bce.mount                                                                    loaded    active   mounted   /run/docker/netns/501979d41bce
run-docker-netns-72c88354203a.mount                                                                    loaded    active   mounted   /run/docker/netns/72c88354203a
run-docker-netns-95276d68bf91.mount                                                                    loaded    active   mounted   /run/docker/netns/95276d68bf91
var-lib-docker-rootfs-overlayfs-0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d.mount loaded    active   mounted   /var/lib/docker/rootfs/overlayfs/0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d
var-lib-docker-rootfs-overlayfs-963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe.mount loaded    active   mounted   /var/lib/docker/rootfs/overlayfs/963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe
var-lib-docker-rootfs-overlayfs-c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877.mount loaded    active   mounted   /var/lib/docker/rootfs/overlayfs/c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877
docker-0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d.scope                          loaded    active   running   libcontainer container 0d163118237cddbb45303d1184a3f7d39cf38bb36755e5f56a5c6681180db40d
docker-963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe.scope                          loaded    active   running   libcontainer container 963ea9b0121d0e37b5e4372b1f433d0d408b7b2e497e77ae10ff864f7489cffe
docker-c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877.scope                          loaded    active   running   libcontainer container c9710bd69808328db85d7cb0bc67034f9034fc238b905405df7e0b1f8ff2b877
docker.service                                                                                         loaded    active   running   Docker Application Container Engine
docker.socket                                                                                          loaded    active   running   Docker Socket for the API
=== config files
/opt/pngx/.env
/opt/pngx/compose.yaml
/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/45/fs/etc/supervisor/paperless.conf
=== git checkouts
=== ufw
Status: inactive
=== case-study dir
total 20
drwx------ 2 root root 4096 Oct 22 13:57 .
drwx------ 6 root root 4096 Oct 22 14:03 ..
-rw-r--r-- 1 root root  121 Oct 22 14:05 OPERATIONS.md
-rw------- 1 root root   43 Oct 22 14:03 admin-credentials
-rw-r--r-- 1 root root 2575 Oct 22 13:54 sample.pdf
