I run my own server, not sure on post retention or image size or even number of images. But you can make it so that only you can make communities, you can even make communities admin post only.
I would give the docs a good read and maybe have a look at the GitHub repos
If you have your services in compose files, you can point the volumes to anywhere. Even NFS.
Like the below config
volumes: pihole01: driver: local driver_opts: type: ‘none’ o: ‘bind’ device: ‘/mnt/data/docker/pihole01’