-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Docker on steroids #1681
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Docker on steroids #1681
Conversation
Be very careful here, we've been running the images as root up until now, so if you switch user now, you will probably get a bunch of permission read/write errors because files created from previous images are owned by root (for existing users, that is). |
Good point. What do you think about chmod + chown from docker-compose on start? Somethinglike Perhaps on that note, perhaps it makes sense having a 'legacy' environment and a 'modern' environment, at some point (soon)? Allowing new users to use things like updated Postgres and also this? Another thought: detecting and automatically upgrading these things on first start. Just testing the waters here. |
fe2f7be
to
143adc6
Compare
@pierotofy I removed the unprivileged patch as I noticed more side effects, see WIP in #1685. Let me know if there's anything else you find here. |
143adc6
to
06a924a
Compare
I've noticed there's still Python3.10 being installed as a result of the Ubuntu certbot package. Probably ~100 MB wasted. Either we could globally |
Turns out GDAL also requires |
96cf3c2
to
06a924a
Compare
This would probably be the way to go, changing the permissions once, definitely not at every start because some installations have a lot of files / folders. |
Yes, same for DB. To reduce complication I removed the unprivileged user patch from this PR. I think it should be ready to go now, but do let me know if you have additional feedback (also, anyone doing manual tests would be great - @Saijin-Naib ?). |
Nice, this seems to be speeding up the build by quite a bit. Something must be missing from the build because I'm seeing these messages at startup regarding the plugins not being built (which should be built during the build):
|
Maybe they're not included/copied properly? Looking at the Dockerfile I see no immediate issues. But also, I noticed we're not checking the return status on plugin webpack build commands. Is that intentional? |
Yes. Some plugins can and sometimes do break, but because they are plugins, they shouldn't stop the core software from working. |
But these are core plugins, no? 😉 On the specific issue, you know much, much more of what a successfull build should look like. Would you care to read through the logs of the Docker build to see if perhaps there's some obvious errors I've missed (I didn't notice any)? Thanks! |
The log will already show if a plugin's build fails. So I don't think it's super-important, but feel free to improve. At a quick glance I'm not sure what's causing the plugins to be rebuilt at container start due to the new changes. |
If you could point me at what to look for in the logs I'm happy to give it an extra look. Apart from that, is there anything that's blocking this? I feel it would greatly facilitate contribution (as it shortens the feedback cycle). |
The plugin build issue is the only problem I've found thus far and definitely should be fixed before merging. Try to launch the app; you'll notice that webpack is being called to rebuild the plugins at startup (there will be several lines with webpack's output). |
This builds on from #1672 and will show up clean once that's been merged.
It features: