I'm attempting to setup a 8.4.1 stack for local development work in docker. Currently my config is Enterprise Search 8.x - Docker Compose example and its working fine. However each developer on the team has to perform setup steps every time the docker volume is removed.
I'm looking for instructions on how to remove these setup steps:
After docker starts the developer must copy public/private keys into our apps environment files so we can make the necessary API calls
The developer must create/configure our app engine settings in enterprise search
Copy the public search keys into our config files
This is really frustrating to perform on every machine (hundreds of developers would have to do the following steps). I want to disable security for local development but I see that option was removed in v8. Basic authentication would also be acceptable locally, but it appears that was also removed in v8+. What other options are available here?
Sounds like you're having more of a docker issue than an Enterprise Search issue. The example Docker Compose you linked to is just that - an example. I wouldn't recommend using it in production, and you've found some of the reasons why.
I suggest that you look more into docker and how to build new images off of others. This will help you to be able to define your own docker image (based off of ours) which contains your keypairs and environment files, so you don't have to re-add them every time a new container starts.
Next, read into docker volumes. You can have volumes set that are external to your container. This can be helpful when using Elasticsearch, so that your data is not tied to a single container instance, but instead can be re-loaded from whatever today's container is.
If this sounds like too much hassle, I'd suggest instead looking into managing your deployment with Elastic Cloud, which will abstract away all of the hosting and deployment burdens, and let you focus just on using the tools.