=== docker ps
{"Command":"\"/usr/local/bin/entrypoint.sh\"","CreatedAt":"2026-10-22 15:10:40 +0000 UTC","HealthStatus":"none","ID":"10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17","Image":"readystack/paperlessngx:v3.3.3-CE-ubuntu24.04-r1","Labels":"com.docker.compose.config-hash=2f14d722f2f4590e8f978506da12052738367c3ea0bb58aeae44a71ab9baffed,com.docker.compose.container-number=1,com.docker.compose.depends_on=redis:service_started:false,db:service_healthy:false,com.docker.compose.image=sha256:c0c6d409c84c17ba35665afeed9c373073750fb8730f7048af0da3d1ccfc5fc8,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/opt/paperless/docker-compose.yml,com.docker.compose.project.working_dir=/opt/paperless,com.docker.compose.project=paperless,com.docker.compose.service=paperless,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":"paperless_paperless-data,paperless_paperless-media","Names":"paperless-paperless-1","Networks":"paperless_default","Platform":{"architecture":"amd64","os":"linux"},"Ports":"0.0.0.0:8000-\u003e8000/tcp, [::]:8000-\u003e8000/tcp","RunningFor":"6 minutes ago","Size":"53.2kB (virtual 3.62GB)","State":"running","Status":"Up About a minute"}
{"Command":"\"docker-entrypoint.sh postgres\"","CreatedAt":"2026-10-22 15:10:40 +0000 UTC","HealthStatus":"healthy","ID":"8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949","Image":"postgres:16","Labels":"com.docker.compose.config-hash=075945e621b76ad27e1098e574484de123e40a0dc967b84e6e194cb175a2bea1,com.docker.compose.container-number=1,com.docker.compose.depends_on=,com.docker.compose.image=sha256:f9d1e581cde3e4c8bc696b07e6f7b7aea1d41014b33a52b27990762daae61beb,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/opt/paperless/docker-compose.yml,com.docker.compose.project.working_dir=/opt/paperless,com.docker.compose.project=paperless,com.docker.compose.service=db,com.docker.compose.version=5.6.1","LocalVolumes":"1","Mounts":"paperless_paperless-db","Names":"paperless-db-1","Networks":"paperless_default","Platform":{"architecture":"amd64","os":"linux"},"Ports":"5432/tcp","RunningFor":"6 minutes ago","Size":"20.5kB (virtual 476MB)","State":"running","Status":"Up About a minute (healthy)"}
{"Command":"\"docker-entrypoint.sh redis-server\"","CreatedAt":"2026-10-22 15:10:40 +0000 UTC","HealthStatus":"none","ID":"c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4","Image":"redis:7-alpine","Labels":"com.docker.compose.config-hash=2b8fb4f66b1aceb4b3634d77db75c2347ef54125bd4af3a89794e430824f33d2,com.docker.compose.container-number=1,com.docker.compose.depends_on=,com.docker.compose.image=sha256:8be847644e195abc4c10c8d9936cfa45332eccc6b714fa7b186ff43f1f4d5579,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/opt/paperless/docker-compose.yml,com.docker.compose.project.working_dir=/opt/paperless,com.docker.compose.project=paperless,com.docker.compose.service=redis,com.docker.compose.version=5.6.1","LocalVolumes":"1","Mounts":"paperless_paperless-redis","Names":"paperless-redis-1","Networks":"paperless_default","Platform":{"architecture":"amd64","os":"linux"},"Ports":"6379/tcp","RunningFor":"6 minutes ago","Size":"4.1kB (virtual 41.1MB)","State":"running","Status":"Up About a minute"}
=== docker inspect
[
    {
        "Id": "10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17",
        "Created": "2026-10-22T15:10:40.874657066Z",
        "Path": "/usr/local/bin/entrypoint.sh",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1324,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-10-22T15:15:51.717383677Z",
            "FinishedAt": "2026-10-22T15:15:29.457420703Z"
        },
        "Image": "sha256:2d2a3d421c0e42c93f82a1127f55e3d7c0a2a7aebe6d20536ac4b030d64c6ded",
        "ResolvConfPath": "/var/lib/docker/containers/10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17/hostname",
        "HostsPath": "/var/lib/docker/containers/10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17/hosts",
        "LogPath": "/var/lib/docker/containers/10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17/10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17-json.log",
        "Name": "/paperless-paperless-1",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "paperless_paperless-data:/usr/src/paperless/data:rw",
                "paperless_paperless-media:/usr/src/paperless/media:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "paperless_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": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "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": "paperless_paperless-data",
                "Source": "/var/lib/docker/volumes/paperless_paperless-data/_data",
                "Destination": "/usr/src/paperless/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "paperless_paperless-media",
                "Source": "/var/lib/docker/volumes/paperless_paperless-media/_data",
                "Destination": "/usr/src/paperless/media",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "10aef93e9456",
            "Domainname": "",
            "User": "paperless",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "8000/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PAPERLESS_ADMIN_USER=caseadmin",
                "PAPERLESS_DBNAME=paperless",
                "PAPERLESS_DBUSER=paperless",
                "PAPERLESS_SECRET_KEY=<redacted>",
                "PAPERLESS_DBPASS=<redacted>",
                "PAPERLESS_REDIS=redis://redis:6379",
                "PAPERLESS_URL=http://<case-vm-ip>:8000",
                "PAPERLESS_DBHOST=db",
                "PAPERLESS_ADMIN_PASSWORD=<redacted>",
                "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": "readystack/paperlessngx:v3.3.3-CE-ubuntu24.04-r1",
            "Volumes": null,
            "WorkingDir": "/usr/src/paperless/src",
            "Entrypoint": [
                "/usr/local/bin/entrypoint.sh"
            ],
            "Labels": {
                "com.docker.compose.config-hash": "2f14d722f2f4590e8f978506da12052738367c3ea0bb58aeae44a71ab9baffed",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "redis:service_started:false,db:service_healthy:false",
                "com.docker.compose.image": "sha256:c0c6d409c84c17ba35665afeed9c373073750fb8730f7048af0da3d1ccfc5fc8",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "paperless",
                "com.docker.compose.project.config_files": "/opt/paperless/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/opt/paperless",
                "com.docker.compose.service": "paperless",
                "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": "0a8eb394b83377634026f5d810e30f2305b23813e03efdf909e9a69d265353ac",
            "SandboxKey": "/var/run/docker/netns/0a8eb394b833",
            "Ports": {
                "8000/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8000"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "8000"
                    }
                ]
            },
            "Networks": {
                "paperless_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "paperless-paperless-1",
                        "paperless"
                    ],
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "c5d68477e36e475c0661155e82dd67c858049157aded95c20565a1ba6f9861f7",
                    "EndpointID": "dc4db7aa5999214ce06b785a81e73030b293d7d3e5f7289f5788a07d25d05794",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.3",
                    "MacAddress": "e2:3d:86:64:28:cf",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "paperless-paperless-1",
                        "paperless",
                        "10aef93e9456"
                    ]
                }
            }
        },
        "ImageManifestDescriptor": {
            "mediaType": "application/vnd.oci.image.manifest.v1+json",
            "digest": "sha256:c0c6d409c84c17ba35665afeed9c373073750fb8730f7048af0da3d1ccfc5fc8",
            "size": 2674,
            "platform": {
                "architecture": "amd64",
                "os": "linux"
            }
        }
    },
    {
        "Id": "8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949",
        "Created": "2026-10-22T15:10:40.113607225Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "postgres"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1325,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-10-22T15:15:51.728153843Z",
            "FinishedAt": "2026-10-22T15:15:24.736894123Z",
            "Health": {
                "Status": "healthy",
                "FailingStreak": 0,
                "Log": [
                    {
                        "Start": "2026-10-22T15:16:42.990090451Z",
                        "End": "2026-10-22T15:16:43.126791385Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    },
                    {
                        "Start": "2026-10-22T15:16:53.127814134Z",
                        "End": "2026-10-22T15:16:53.386114745Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    },
                    {
                        "Start": "2026-10-22T15:17:03.387541584Z",
                        "End": "2026-10-22T15:17:03.511171015Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    },
                    {
                        "Start": "2026-10-22T15:17:13.512719267Z",
                        "End": "2026-10-22T15:17:13.639563674Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    },
                    {
                        "Start": "2026-10-22T15:17:23.640852626Z",
                        "End": "2026-10-22T15:17:23.826227828Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    }
                ]
            }
        },
        "Image": "sha256:9e2cf6287f25c3151f4c9421ccce2b17f3e60061c111a29165e0d2cdd9ff0a97",
        "ResolvConfPath": "/var/lib/docker/containers/8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949/hostname",
        "HostsPath": "/var/lib/docker/containers/8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949/hosts",
        "LogPath": "/var/lib/docker/containers/8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949/8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949-json.log",
        "Name": "/paperless-db-1",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "paperless_paperless-db:/var/lib/postgresql/data:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "paperless_default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "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": "paperless_paperless-db",
                "Source": "/var/lib/docker/volumes/paperless_paperless-db/_data",
                "Destination": "/var/lib/postgresql/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "8db9f84537d6",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "5432/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "POSTGRES_USER=paperless",
                "POSTGRES_PASSWORD=<redacted>",
                "POSTGRES_DB=paperless",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/16/bin",
                "GOSU_VERSION=1.19",
                "LANG=en_US.utf8",
                "PG_MAJOR=16",
                "PG_VERSION=16.15-1.pgdg13+2",
                "PGDATA=/var/lib/postgresql/data"
            ],
            "Cmd": [
                "postgres"
            ],
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "pg_isready -U paperless"
                ],
                "Interval": 10000000000,
                "Retries": 10
            },
            "Image": "postgres:16",
            "Volumes": {
                "/var/lib/postgresql/data": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "Labels": {
                "com.docker.compose.config-hash": "075945e621b76ad27e1098e574484de123e40a0dc967b84e6e194cb175a2bea1",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:f9d1e581cde3e4c8bc696b07e6f7b7aea1d41014b33a52b27990762daae61beb",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "paperless",
                "com.docker.compose.project.config_files": "/opt/paperless/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/opt/paperless",
                "com.docker.compose.service": "db",
                "com.docker.compose.version": "5.6.1"
            },
            "StopSignal": "SIGINT"
        },
        "NetworkSettings": {
            "SandboxID": "5bf6abdc76dba6876fd9135eec727c4d51674a283d92f9a644ddcb7a4e7ebf56",
            "SandboxKey": "/var/run/docker/netns/5bf6abdc76db",
            "Ports": {
                "5432/tcp": null
            },
            "Networks": {
                "paperless_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "paperless-db-1",
                        "db"
                    ],
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "c5d68477e36e475c0661155e82dd67c858049157aded95c20565a1ba6f9861f7",
                    "EndpointID": "0b7c81011f07390ee28ca0a78d2a8b07ad66ac8fa135a3e03caaaffcd9076a57",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.4",
                    "MacAddress": "fa:51:4e:a9:7b:18",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "paperless-db-1",
                        "db",
                        "8db9f84537d6"
                    ]
                }
            }
        },
        "ImageManifestDescriptor": {
            "mediaType": "application/vnd.oci.image.manifest.v1+json",
            "digest": "sha256:f9d1e581cde3e4c8bc696b07e6f7b7aea1d41014b33a52b27990762daae61beb",
            "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:30Z",
                "org.opencontainers.image.revision": "9d15534160ade17f2b6c455a39ee967c49b1937d",
                "org.opencontainers.image.source": "https://github.com/docker-library/postgres.git#9d15534160ade17f2b6c455a39ee967c49b1937d:16/trixie",
                "org.opencontainers.image.url": "https://hub.docker.com/_/postgres",
                "org.opencontainers.image.version": "16.15"
            },
            "platform": {
                "architecture": "amd64",
                "os": "linux"
            }
        }
    },
    {
        "Id": "c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4",
        "Created": "2026-10-22T15:10:40.10352713Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "redis-server"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1316,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-10-22T15:15:51.698093946Z",
            "FinishedAt": "2026-10-22T15:15:24.467489438Z"
        },
        "Image": "sha256:57e4255cc971b1c8d6f8a6ca283ac01bc3ecdd914273ef6bfaede87aaecd6541",
        "ResolvConfPath": "/var/lib/docker/containers/c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4/hostname",
        "HostsPath": "/var/lib/docker/containers/c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4/hosts",
        "LogPath": "/var/lib/docker/containers/c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4/c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4-json.log",
        "Name": "/paperless-redis-1",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "paperless_paperless-redis:/data:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "paperless_default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "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": "paperless_paperless-redis",
                "Source": "/var/lib/docker/volumes/paperless_paperless-redis/_data",
                "Destination": "/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "c823693c682d",
            "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",
                "REDIS_VERSION=7.4.11"
            ],
            "Cmd": [
                "redis-server"
            ],
            "Image": "redis:7-alpine",
            "Volumes": {
                "/data": {}
            },
            "WorkingDir": "/data",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "Labels": {
                "com.docker.compose.config-hash": "2b8fb4f66b1aceb4b3634d77db75c2347ef54125bd4af3a89794e430824f33d2",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:8be847644e195abc4c10c8d9936cfa45332eccc6b714fa7b186ff43f1f4d5579",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "paperless",
                "com.docker.compose.project.config_files": "/opt/paperless/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/opt/paperless",
                "com.docker.compose.service": "redis",
                "com.docker.compose.version": "5.6.1"
            }
        },
        "NetworkSettings": {
            "SandboxID": "e9462cf4f17fef6ed3520197d73365419c536358b2f59709f30cc097a7807d50",
            "SandboxKey": "/var/run/docker/netns/e9462cf4f17f",
            "Ports": {
                "6379/tcp": null
            },
            "Networks": {
                "paperless_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "paperless-redis-1",
                        "redis"
                    ],
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "c5d68477e36e475c0661155e82dd67c858049157aded95c20565a1ba6f9861f7",
                    "EndpointID": "8cf9b87da993651f71d640472aa2be1a65861ed35138b1ddb5b712719c015122",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.2",
                    "MacAddress": "c6:aa:6b:74:ce:dc",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "paperless-redis-1",
                        "redis",
                        "c823693c682d"
                    ]
                }
            }
        },
        "ImageManifestDescriptor": {
            "mediaType": "application/vnd.oci.image.manifest.v1+json",
            "digest": "sha256:8be847644e195abc4c10c8d9936cfa45332eccc6b714fa7b186ff43f1f4d5579",
            "size": 2288,
            "annotations": {
                "com.docker.official-images.bashbrew.arch": "amd64",
                "org.opencontainers.image.base.digest": "sha256:f765c92e59538d44c6946f8073bdbffd2e8d5916981161faed1b30aa0ef0c2c5",
                "org.opencontainers.image.base.name": "alpine:3.21",
                "org.opencontainers.image.created": "2026-10-21T21:13:28Z",
                "org.opencontainers.image.revision": "74654c612ee06275377d483dc4e134e57b463e9e",
                "org.opencontainers.image.source": "https://github.com/redis/docker-library-redis.git#74654c612ee06275377d483dc4e134e57b463e9e:alpine",
                "org.opencontainers.image.url": "https://hub.docker.com/_/redis",
                "org.opencontainers.image.version": "7.4.11-alpine"
            },
            "platform": {
                "architecture": "amd64",
                "os": "linux"
            }
        }
    }
]
=== images
{"Containers":"1","CreatedAt":"2026-10-21 21:14:18 +0000 UTC","CreatedSince":"18 hours ago","Digest":"sha256:57e4255cc971b1c8d6f8a6ca283ac01bc3ecdd914273ef6bfaede87aaecd6541","ID":"sha256:57e4255cc971b1c8d6f8a6ca283ac01bc3ecdd914273ef6bfaede87aaecd6541","Repository":"redis","SharedSize":"N/A","Size":"57.8MB","Tag":"7-alpine","UniqueSize":"N/A"}
{"Containers":"1","CreatedAt":"2026-10-21 00:38:09 +0000 UTC","CreatedSince":"39 hours ago","Digest":"sha256:9e2cf6287f25c3151f4c9421ccce2b17f3e60061c111a29165e0d2cdd9ff0a97","ID":"sha256:9e2cf6287f25c3151f4c9421ccce2b17f3e60061c111a29165e0d2cdd9ff0a97","Repository":"postgres","SharedSize":"N/A","Size":"642MB","Tag":"16","UniqueSize":"N/A"}
{"Containers":"1","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"}
=== listening
LISTEN 0      4096         0.0.0.0:8000 0.0.0.0:* users:(("docker-proxy",pid=1395,fd=8))                
LISTEN 0      4096   127.0.0.53%lo:53   0.0.0.0:* users:(("systemd-resolve",pid=535,fd=15))             
LISTEN 0      4096      127.0.0.54:53   0.0.0.0:* users:(("systemd-resolve",pid=535,fd=17))             
LISTEN 0      4096         0.0.0.0:22   0.0.0.0:* users:(("sshd",pid=1580,fd=3),("systemd",pid=1,fd=94))
LISTEN 0      4096            [::]:8000    [::]:* users:(("docker-proxy",pid=1405,fd=8))                
LISTEN 0      4096            [::]:22      [::]:* users:(("sshd",pid=1580,fd=4),("systemd",pid=1,fd=95))
=== processes
999                     1316 redis-server *:6379
1000                    1324 /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisor/paperless.conf -n
999                     1325 postgres
999                     1467 postgres: checkpointer 
999                     1468 postgres: background writer 
999                     1470 postgres: walwriter 
999                     1471 postgres: autovacuum launcher 
999                     1472 postgres: logical replication launcher 
1000                    1765 python manage.py document_consumer
1000                    1766 [celery beat] --app paperless beat --loglevel INFO
1000                    1767 granian asginl 0.0.0.0:8000 paperless.asgi:application
1000                    1768 [celeryd: celery@10aef93e9456:MainProcess] -active- (--app paperless worker --loglevel INFO --without-mingle --without-gossip)
1000                    1769 granian asginl 0.0.0.0:8000 paperless.asgi:application worker-1
999                     1811 postgres: paperless paperless 172.18.0.3(55812) idle
999                     1817 postgres: paperless paperless 172.18.0.3(55818) idle
1000                    1820 [celeryd: celery@10aef93e9456:ForkPoolWorker-1]
=== 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-0a8eb394b833.mount                                                                    loaded    active   mounted   /run/docker/netns/0a8eb394b833
run-docker-netns-5bf6abdc76db.mount                                                                    loaded    active   mounted   /run/docker/netns/5bf6abdc76db
run-docker-netns-e9462cf4f17f.mount                                                                    loaded    active   mounted   /run/docker/netns/e9462cf4f17f
var-lib-docker-rootfs-overlayfs-10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17.mount loaded    active   mounted   /var/lib/docker/rootfs/overlayfs/10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17
var-lib-docker-rootfs-overlayfs-8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949.mount loaded    active   mounted   /var/lib/docker/rootfs/overlayfs/8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949
var-lib-docker-rootfs-overlayfs-c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4.mount loaded    active   mounted   /var/lib/docker/rootfs/overlayfs/c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4
docker-10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17.scope                          loaded    active   running   libcontainer container 10aef93e94565eaf4628bd42f60255a48643aee5b4af4707cb718087b3dc1c17
docker-8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949.scope                          loaded    active   running   libcontainer container 8db9f84537d6e7f787ec1675f0ca563837481ac461904bbc6bc0c630bea98949
docker-c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4.scope                          loaded    active   running   libcontainer container c823693c682d788402b623755db5ecd784385b1c746425bdde06499d22d8cce4
docker.service                                                                                         loaded    active   running   Docker Application Container Engine
docker.socket                                                                                          loaded    active   running   Docker Socket for the API
=== config files
/opt/paperless/docker-compose.yml
/opt/paperless/.env
/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/19/fs/etc/supervisor/paperless.conf
=== git checkouts
=== ufw
Status: inactive
=== case-study dir
total 20
drwx------ 2 root root 4096 Oct 22 15:15 .
drwx------ 5 root root 4096 Oct 22 15:08 ..
-rw-r--r-- 1 root root 2555 Oct 22 15:15 OPERATIONS.md
-rw------- 1 root root   43 Oct 22 15:09 admin-credentials
-rw-r--r-- 1 root root 2574 Oct 22 15:08 sample.pdf
