well thats a lot of questions. I think there is more than one answer for most of the questions. So these are answers out of my project experience. I am curious too, to hear some other approaches:
- Is there a way to install Neos without composer?
No. The packaging of an installation is meant to be done with composer.
- How can I package an installation done with composer and how can I adapt the configuration?
We don’t do any real packaging. We are building the installation on a build server and then transfer the built installation via https://github.com/TYPO3/Surf to the live servers. There we use environment variables provisioned via ansible for the configuration on the target machine.
- In order to achieve high availability is there any best practice how I can run two Neos installations behind a load balancer --> do I need to care about the session management or is it sufficient to have a shared DB?
The sessions are saved using a persistent cache. Just use a cache backend that is synced over all your machines, like the database or a redis cluster.
- Does Neos store any data on the local disc if the users maintain the site content or is everything stored in the DB?
No, the original assets are stored on the disk by default. Normally we use a central NFS share to store these assets and make them available on all frontend hosts. There are also packages available to store the assets on services like Google Cloud Storage (https://github.com/flownative/flow-google-cloudstorage) or Amazon S3.