FreeTAKTeam / FreeTakServer

Situational Awareness Server compatible with TAK clients
Eclipse Public License 2.0
611 stars 163 forks source link

Feature/container volume #686

Closed RadioAndrea closed 3 months ago

RadioAndrea commented 3 months ago

BLUF

Changes bind-mounts to the newer volumes since bind-mounts are confusing, hard, and are harming user experience.

Why

Bind mounts are confusing to users, and can sometimes have strange permissions. Additionally, they are not compatible with many docker desktop offerings, in particular docker desktop for windows. Many users are additionally not familiar with UIDs and thus cannot effectively set permissions properly to make the system work. This can leave them more vulnerable to attacks when running on shared systems if the permissions they end up on are too permissive.

Simplifying the persistent storage for the containers seems appropriate given the challenges encountered by users.

How

Since configuration of the server was already accessible by environment variable, I created a list of the ones I felt were most important and added them to the compose file. Use of all environment variables is of course possible, but many of them probably don't need to be exposed except for highly skilled users in strange use cases.

Other notes

This will need to be replicated to the FreeTAKHub-Installation repo Documentation will need to be updated/added in FreeTAKServer-User-Docs