 Hello, I'm Micky Nordin and this talk I was awarded a few more minutes So it's not exactly a lightning talk, maybe high voltage, but not lightning grade And you will have the opportunity to ask a few questions as well. So It's possible to run next cloud of course in containers But it's not always fun. So we have 54 next cloud instances varying from Running in a single Docker container to spread out over like 12 13 virtual servers running in Docker and One way to get your bearings as if it's a Good idea or not to run your app is to check it against the 12 factors. So this is like a manifesto or a Checklist let's say for running containerized workloads So it has a few provisions that you need to To follow to be able to do this good for app. So the first ones With a code base is basically use version control have your dependencies sorted out and departmentalized Have the configuration in the environment Have a clean interface to your backing services use The same Like binary for For your testing and releasing and have all of these nice Things and this is what we can glean from Analyzing next cloud using this framework So yeah, it's there's no real problem with the code base or the dependencies But we still have some issues with the configuration we have the config PHP File it would be much nicer if we could have all of the configuration in the environment or in the database to have a not When when running over Across of many load balance services, for instance It's a pain to be having to keep the configurations in sync between the different front-end servers So we it's possible to do this of course and we do it using pop-up But you could have any kind of configuration management system to do it But it would be much nicer if you didn't have to We have a really It's possible to use S3 for storage and you can have Galera cluster to have a distributed database across many different services you can have a redis cluster For your redis. So all of this is is possible with next cloud, which is nice and We build our own docker images and have a nice release and run workflows. So that's cool But the processes with the Chrome jobs for instance, you need to have a full next cloud image running where you run your Chrome jobs, so that's certainly an area that could be improved as well And one issue that we find is That when we do upgrades of next cloud, we have to roll out our new images across multiple servers. So I Mean across all of our environment. We have maybe 150 200 virtual servers running docker containers that we need to Upgrade and sync. So that means that we by necessity have to have downtime when upgrading between different versions of next cloud and They I mean you need that if you run it on a single server as well But it will be shorter because you only have to run OCC upgrade and you're done and we need to have Multiple load balanced servers in the same state We have it's Possible to have the docker containers disposable and you can everything of that works and we have a A complete mirror of our production environment in a test environment and we can bring up this nice development Workflows so all of that works well, but I still haven't been able to get the next cloud log Coming in a nice way to standard out So there there's certainly these kind of things that we would like to be able to Improve and admin processes that connects also Back to the the other processes so Like doing administrative tasks is not always easy It's not always possible to do things with the OCS API. For instance, you need some things with the OCC command So these are Areas of improvement, but certainly it's possible and doable And I think if we as a community work together and learn from each other then it will be Even better in the future. So I would highly encourage everyone to get in touch with me if you're running next cloud in in docker or in Kubernetes and Things like that. We would love to compare notes with you And also there will be a workshop tomorrow At two o'clock here if you're here for the contributor days that we will talk about these things as well so all of the the good stuff I mentioned and a Lot of things are really working well with next cloud But there are some issues as we talked about so secrets and and all of those things Should not really be have to be stored on file on disk environment for secrets and not non secrets can be in the database and We need to set maintenance mode in the configuration file All of these things I already mentioned And we are also now going from running things on virtual machines In docker to to moving to Kubernetes and there are its own separate issues there that we need to to think about because Running in docker we can have everything just mount the configuration file into The next cloud container, but to have a config maps and things like this in in Kubernetes We need to have some kind of persistent storage backing that so It's possible to do with so we run we use cinder in open stack to keep our configuration files so And I think this there's not a lot of Community around these sorts of things and I think it would be good if we could build that together so Yeah Are there any questions regarding this? Thank you very much. I'm happy to pass the microphone around for some questions And I'm also there's one over here Tom Ash has a question. Do we have a microphone at all? I can bring one Hello Thanks for a great talk. I'm really happy that I don't feel like the only one running this in Kubernetes anymore So I'm running in Kubernetes. I'm happy to compare noise is definitely super interesting to see someone else do it And how you deal with the issues because yeah for sure. There's some like hacks and and and the work around you have to use the config map and and Secret management and you have to like inject them into the file live if you want to store them somewhere secure So yeah, hit me up if you are if you like. Yeah, thanks. So we we have a init container that starts up and Basically injects all of the secrets into a File from the init container from the environment. So yeah, yeah, you're right You can do lots of work arounds, but but it's never like super clean. I do the same with vault. I have a vault In this container that picks up these sub commands in Kubernetes and I was okay I need a value from store. It just injects it and then but it's not clean Do we have any other questions in the audience anyone I'm happy to ask one I'm curious about the workshop tomorrow. Can you give us maybe a little teaser on what what you'll visit? Yeah So, I mean we will talk about these sort of things But I don't feel like I have all the answers and I think it's like a true workshop where we can sit there sit down and Look at the actual issues and try to see if we can solve them Some things might be needed to be solved within next cloud itself to get support for stuff So you might start after right patches, but the other things we can do with the tooling or Following some figuring out some best practices So I think that will be what the workshop will be about we'll talk about these Things from a bit of a longer slide maybe and then we can get down to the nitty gritty. Yeah, I Think that's where the magic happens, right? I'm curious as well if you have any tips for someone who's just maybe they're Kubernetes curious and also next-cloud curious. Do you have any like quick tips that would help them really? advance their progress I Do but I don't think there is some straightforward documentation or something to point to so maybe that would be Yeah, I would definitely be be available to add documentation to the next cloud documentation site for running Running next-clouding containers and I think that maybe a good thing to look at how you can do it Yeah, sounds like a really useful. Absolutely anyone else in the audience last question No, thank you very much