The absolute minimum of a nextcloud installation is nextcloud itself and a database.
Create a new model and deploy nextcloud and a database:
juju add-model my-nextcloud juju model-config default-series=focal juju deploy postgresql juju deploy nextcloud juju relate nextcloud:db postgresql:db ... wait for deployment to settle. Then, visit http://<yourip>
Default admin login is: admin:mypassword
We can from this expand the deployment with haproxy, redis and a shared storage backend.