=== docker ps
{"Command":"\"/usr/local/bin/entrypoint.sh\"","CreatedAt":"2026-10-22 14:47:21 +0000 UTC","HealthStatus":"none","ID":"a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe","Image":"readystack/paperlessngx:v3.3.3-CE-ubuntu24.04-r1","Labels":"com.docker.compose.config-hash=1e3dc6be269d312ac4a9ec622c3380b8e156707a8c0b416acd8b39dd6e8b0dd8,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_data,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 14:47:20 +0000 UTC","HealthStatus":"healthy","ID":"707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d","Image":"postgres:16","Labels":"com.docker.compose.config-hash=ecc9bbb1f173e9aaad08d71179f76f8a2fa9dbaaa4f950ecbfef48418531d1df,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_dbdata","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 14:47:20 +0000 UTC","HealthStatus":"none","ID":"a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95","Image":"redis:7-alpine","Labels":"com.docker.compose.config-hash=a60afeb7b305a15b70b34dec0b8a430ffc5dd8adb898baf9f154259ffe041c9c,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_redisdata","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": "a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe",
        "Created": "2026-10-22T14:47:21.690383233Z",
        "Path": "/usr/local/bin/entrypoint.sh",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1327,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-10-22T14:52:54.551314112Z",
            "FinishedAt": "2026-10-22T14:52:37.053319366Z"
        },
        "Image": "sha256:2d2a3d421c0e42c93f82a1127f55e3d7c0a2a7aebe6d20536ac4b030d64c6ded",
        "ResolvConfPath": "/var/lib/docker/containers/a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe/hostname",
        "HostsPath": "/var/lib/docker/containers/a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe/hosts",
        "LogPath": "/var/lib/docker/containers/a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe/a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe-json.log",
        "Name": "/paperless-paperless-1",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "paperless_data:/usr/src/paperless/data:rw",
                "paperless_media:/usr/src/paperless/media:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "paperless_default",
            "PortBindings": {
                "8000/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8000"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "always",
                "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_data",
                "Source": "/var/lib/docker/volumes/paperless_data/_data",
                "Destination": "/usr/src/paperless/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "paperless_media",
                "Source": "/var/lib/docker/volumes/paperless_media/_data",
                "Destination": "/usr/src/paperless/media",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "a366cef47bff",
            "Domainname": "",
            "User": "paperless",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "8000/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PAPERLESS_DBNAME=paperless",
                "PAPERLESS_DBUSER=paperless",
                "PAPERLESS_URL=http://<case-vm-ip>:8000",
                "PAPERLESS_ADMIN_USER=caseadmin",
                "PAPERLESS_SECRET_KEY=<redacted>",
                "PAPERLESS_DBHOST=db",
                "PAPERLESS_REDIS=redis://redis:6379",
                "PAPERLESS_ADMIN_PASSWORD=<redacted>",
                "PAPERLESS_DBPASS=<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": "1e3dc6be269d312ac4a9ec622c3380b8e156707a8c0b416acd8b39dd6e8b0dd8",
                "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": "e35e085f38bf4ea1eedfcb2f55dae48d1fa8340b4e392e3625522e7c60551980",
            "SandboxKey": "/var/run/docker/netns/e35e085f38bf",
            "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": "90d15ca629312647a9c1542288bdf973a2f42955e2f6e46045c35e39321a2dea",
                    "EndpointID": "cf913e328876133db3653fa2d7b526b2fbe9b22249cae576c55702a8f7800b29",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.4",
                    "MacAddress": "2a:5f:44:a1:a9:2c",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "paperless-paperless-1",
                        "paperless",
                        "a366cef47bff"
                    ]
                }
            }
        },
        "ImageManifestDescriptor": {
            "mediaType": "application/vnd.oci.image.manifest.v1+json",
            "digest": "sha256:c0c6d409c84c17ba35665afeed9c373073750fb8730f7048af0da3d1ccfc5fc8",
            "size": 2674,
            "platform": {
                "architecture": "amd64",
                "os": "linux"
            }
        }
    },
    {
        "Id": "707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d",
        "Created": "2026-10-22T14:47:20.636575505Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "postgres"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1313,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-10-22T14:52:54.554637871Z",
            "FinishedAt": "2026-10-22T14:52:33.402484232Z",
            "Health": {
                "Status": "healthy",
                "FailingStreak": 0,
                "Log": [
                    {
                        "Start": "2026-10-22T14:53:56.528704147Z",
                        "End": "2026-10-22T14:53:56.666848495Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    },
                    {
                        "Start": "2026-10-22T14:54:01.667736652Z",
                        "End": "2026-10-22T14:54:01.803943636Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    },
                    {
                        "Start": "2026-10-22T14:54:06.805305645Z",
                        "End": "2026-10-22T14:54:06.937457292Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    },
                    {
                        "Start": "2026-10-22T14:54:11.938852985Z",
                        "End": "2026-10-22T14:54:12.060791936Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    },
                    {
                        "Start": "2026-10-22T14:54:17.062324911Z",
                        "End": "2026-10-22T14:54:17.177410629Z",
                        "ExitCode": 0,
                        "Output": "/var/run/postgresql:5432 - accepting connections\n"
                    }
                ]
            }
        },
        "Image": "sha256:9e2cf6287f25c3151f4c9421ccce2b17f3e60061c111a29165e0d2cdd9ff0a97",
        "ResolvConfPath": "/var/lib/docker/containers/707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d/hostname",
        "HostsPath": "/var/lib/docker/containers/707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d/hosts",
        "LogPath": "/var/lib/docker/containers/707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d/707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d-json.log",
        "Name": "/paperless-db-1",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "paperless_dbdata:/var/lib/postgresql/data:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "paperless_default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "always",
                "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_dbdata",
                "Source": "/var/lib/docker/volumes/paperless_dbdata/_data",
                "Destination": "/var/lib/postgresql/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "707d2c13e441",
            "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": 5000000000,
                "Retries": 20
            },
            "Image": "postgres:16",
            "Volumes": {
                "/var/lib/postgresql/data": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "Labels": {
                "com.docker.compose.config-hash": "ecc9bbb1f173e9aaad08d71179f76f8a2fa9dbaaa4f950ecbfef48418531d1df",
                "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": "7d6d2784576fb265157ec258b917196d8bb96b4fdf7d6edeaf4401b7ac555feb",
            "SandboxKey": "/var/run/docker/netns/7d6d2784576f",
            "Ports": {
                "5432/tcp": null
            },
            "Networks": {
                "paperless_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "paperless-db-1",
                        "db"
                    ],
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "90d15ca629312647a9c1542288bdf973a2f42955e2f6e46045c35e39321a2dea",
                    "EndpointID": "5a2c9adbd345575fa4751779928eeb112c81a11e3afe6fcee6792970841a543c",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.3",
                    "MacAddress": "5e:7b:48:98:03:56",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "paperless-db-1",
                        "db",
                        "707d2c13e441"
                    ]
                }
            }
        },
        "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": "a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95",
        "Created": "2026-10-22T14:47:20.595559759Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "redis-server"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1319,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-10-22T14:52:54.552746944Z",
            "FinishedAt": "2026-10-22T14:52:33.338182579Z"
        },
        "Image": "sha256:892022f9f18c26c92c30e15194d132f90044af87b94a491a75429bbc3982eab1",
        "ResolvConfPath": "/var/lib/docker/containers/a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95/hostname",
        "HostsPath": "/var/lib/docker/containers/a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95/hosts",
        "LogPath": "/var/lib/docker/containers/a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95/a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95-json.log",
        "Name": "/paperless-redis-1",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "paperless_redisdata:/data:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "paperless_default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "always",
                "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_redisdata",
                "Source": "/var/lib/docker/volumes/paperless_redisdata/_data",
                "Destination": "/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "a5b0a4e89488",
            "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": "a60afeb7b305a15b70b34dec0b8a430ffc5dd8adb898baf9f154259ffe041c9c",
                "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": "72edc630f2c111ee6e5097b2798bfbb98a060555946263b9a58fd9573b8b091f",
            "SandboxKey": "/var/run/docker/netns/72edc630f2c1",
            "Ports": {
                "6379/tcp": null
            },
            "Networks": {
                "paperless_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "paperless-redis-1",
                        "redis"
                    ],
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "90d15ca629312647a9c1542288bdf973a2f42955e2f6e46045c35e39321a2dea",
                    "EndpointID": "7c15e7365f55d00369b6e662162f94e84c863a00e7a1747e7828add5c651dd84",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.2",
                    "MacAddress": "f6:50:4b:23:b8:7e",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "paperless-redis-1",
                        "redis",
                        "a5b0a4e89488"
                    ]
                }
            }
        },
        "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:892022f9f18c26c92c30e15194d132f90044af87b94a491a75429bbc3982eab1","ID":"sha256:892022f9f18c26c92c30e15194d132f90044af87b94a491a75429bbc3982eab1","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":"38 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=1400,fd=8))                
LISTEN 0      4096      127.0.0.54:53   0.0.0.0:* users:(("systemd-resolve",pid=558,fd=17))             
LISTEN 0      4096   127.0.0.53%lo:53   0.0.0.0:* users:(("systemd-resolve",pid=558,fd=15))             
LISTEN 0      4096         0.0.0.0:22   0.0.0.0:* users:(("sshd",pid=1496,fd=3),("systemd",pid=1,fd=94))
LISTEN 0      4096            [::]:8000    [::]:* users:(("docker-proxy",pid=1411,fd=8))                
LISTEN 0      4096            [::]:22      [::]:* users:(("sshd",pid=1496,fd=4),("systemd",pid=1,fd=95))
=== processes
999                     1313 postgres
999                     1319 redis-server *:6379
1000                    1327 /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisor/paperless.conf -n
999                     1460 postgres: checkpointer 
999                     1461 postgres: background writer 
999                     1464 postgres: walwriter 
999                     1465 postgres: autovacuum launcher 
999                     1466 postgres: logical replication launcher 
1000                    1843 python manage.py document_consumer
1000                    1844 [celery beat] --app paperless beat --loglevel INFO
1000                    1845 granian asginl 0.0.0.0:8000 paperless.asgi:application
1000                    1846 [celeryd: celery@a366cef47bff:MainProcess] -active- (--app paperless worker --loglevel INFO --without-mingle --without-gossip)
1000                    1847 granian asginl 0.0.0.0:8000 paperless.asgi:application worker-1
999                     1908 postgres: paperless paperless 172.18.0.4(48356) idle
999                     1935 postgres: paperless paperless 172.18.0.4(48384) idle
1000                    1939 [celeryd: celery@a366cef47bff: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-72edc630f2c1.mount                                                                    loaded    active   mounted   /run/docker/netns/72edc630f2c1
run-docker-netns-7d6d2784576f.mount                                                                    loaded    active   mounted   /run/docker/netns/7d6d2784576f
run-docker-netns-e35e085f38bf.mount                                                                    loaded    active   mounted   /run/docker/netns/e35e085f38bf
var-lib-docker-rootfs-overlayfs-707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d.mount loaded    active   mounted   /var/lib/docker/rootfs/overlayfs/707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d
var-lib-docker-rootfs-overlayfs-a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe.mount loaded    active   mounted   /var/lib/docker/rootfs/overlayfs/a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe
var-lib-docker-rootfs-overlayfs-a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95.mount loaded    active   mounted   /var/lib/docker/rootfs/overlayfs/a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95
docker-707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d.scope                          loaded    active   running   libcontainer container 707d2c13e44179422ff0c1620a92e06a1057d8e6dff6bc99788d455b2c20dd1d
docker-a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe.scope                          loaded    active   running   libcontainer container a366cef47bff8548a0db4e0dccb39aafeb409edb2f5d90e6b59baeb4a8df86fe
docker-a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95.scope                          loaded    active   running   libcontainer container a5b0a4e89488389371bdce582a8128389dd05ec93513095337d86916848c4b95
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 14:49 .
drwx------ 5 root root 4096 Oct 22 14:45 ..
-rw-r--r-- 1 root root 2025 Oct 22 14:49 OPERATIONS.md
-rw------- 1 root root   59 Oct 22 14:45 admin-credentials
-rw-r--r-- 1 root root 2575 Oct 22 14:45 sample.pdf
