A running OwnSona deployment is three operating-system processes:
c3p0 JDBC
connection pool. Supervised by systemd as
ownsona.service. Binds ports 80 and 443 via systemd
AmbientCapabilities; HTTP 80 redirects to HTTPS 443.
postgres cluster. Listens on localhost:5432. Holds
the ownsona database, the ownsona_test database (for
integration tests), and the vector + pg_trgm extensions
in each.
ownsona-backup timer-driven oneshot. Fires nightly at
03:00, writes files-YYYY-MM-DD.tar.gz and
database-YYYY-MM-DD.gz to an S3 bucket mounted via s3fs.
The JVM owns no state on disk other than its own logs. Everything durable lives in PostgreSQL.