TL;DR

This post walks through running PostgreSQL 18 on a fresh Ubuntu server using Docker

Compose, with a named volume for data persistence, secrets in a .env file, a

healthcheck, and the port bound to localhost only (with an SSH tunnel for remote

access). By the end you'll have a Postgres instance that survives container