UAlbertaFSAE / f1tenth

MIT License
0 stars 0 forks source link

Docker Setup Quality of Life Update #73

Open Jquinny opened 2 months ago

Jquinny commented 2 months ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is.

Our docker setup works right now, but it's slightly inefficient in how the dependencies are downloaded into each container. The containers are also not as self contained as environment variables are not all baked into them. There is also a lot to keep track of in terms of dockerfiles and compose configurations. The DISPLAY env variable is also kind of funky right now with WSL and ssh environments, getting that figured out would be nice.

Describe the solution you'd like A clear and concise description of what you want to happen.

Since we use an ubuntu 22.04 container for development and for jetson, we should be able to make a combined base image that adds the user (we don't need to use the user on the jetson but it can be there anyhow) and base dependencies/tooling, base environment variables, etc. Then, we can build separate development and jetson containers from that, which contain specific things for each of them like the zed stuff in the jetson container and the sim stuff in the development one.

We could look at combining the sim stuff into the dev container and the hardware stuff into the jetson container, decreasing the amount of dockerfile and container configurations we need.

Note: This is definitely not a priority as things work fine for now, but it would be a quality of life update and potentially make builds more efficient and less large.

TL:DR things that could be done:

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.