WEBVTT 00:00.000 --> 00:08.000 Okay, hello and we're here at Foster at the Lighting Talks. 00:08.000 --> 00:12.000 I want to introduce to you Gabriel Casette. 00:12.000 --> 00:18.000 He's talking to us about the Nef Server 8 solid foundation for the safe hosting web application. 00:18.000 --> 00:24.000 Give him a warmer blouse and have fun with the talk. 00:24.000 --> 00:27.000 Thank you very much. 00:27.000 --> 00:30.000 As I was introduced, my name is Gabriel Casette. 00:30.000 --> 00:34.000 I grew up in Quebec and I come here from Canada, though. 00:34.000 --> 00:38.000 But now I live in Western Canada in Calgary, Alberta. 00:38.000 --> 00:43.000 And I'm a really, really fan of self hosting software and platforms. 00:43.000 --> 00:54.000 And today I want to present to you my latest discovery, which is Net Server 8, which I think is a real solid foundation for self hosting applications. 00:55.000 --> 00:59.000 And yeah, so my background is I'm a new system administrator. 00:59.000 --> 01:02.000 And as I said, I live in Western Canada. 01:02.000 --> 01:05.000 I work for not-for-profit called Cyberra. 01:05.000 --> 01:12.000 Cyberra is focused on providing IT services in the Alberta region in Canada. 01:12.000 --> 01:17.000 So we provide services to schools, to the municipal government, provincial government. 01:17.000 --> 01:25.000 And it can, it's a range of, for example, compute resources for students, security, 01:25.000 --> 01:28.000 a person's center for schools and stuff like that. 01:28.000 --> 01:32.000 And I'm a long time fan of open source, as I said, and self hosting. 01:32.000 --> 01:35.000 So in a nutshell, what is self hosting? 01:35.000 --> 01:39.000 Self hosting is really about having your own server. 01:39.000 --> 01:46.000 And that this server can be either in at home, like on the Raspberry Pi or something else. 01:46.000 --> 01:48.000 And or it can be in the cloud. 01:48.000 --> 01:53.000 And in the cloud, it can be either a private, I mean, a virtual or a dedicated server. 01:53.000 --> 01:56.000 And it's really about managing the whole stack. 01:56.000 --> 02:00.000 So basically from the operating system up to the application. 02:00.000 --> 02:05.000 And also sometimes the networking related to that, if you all start home, for example. 02:05.000 --> 02:10.000 So it's really about adding the full control of your hosting environment. 02:11.000 --> 02:18.000 And oftentimes you can, you can do it via containers, be it Docker or Kubernetes as well. 02:18.000 --> 02:25.000 So that's the easiest way to do it nowadays and a good, manageable way as well. 02:25.000 --> 02:34.000 Some advantages of stealth hosting in any depends on your situation, because some providers do provide good privacy. 02:34.000 --> 02:44.000 But of course, whenever you all set yourself and that end you use open source software, you are guaranteed to have good privacy. 02:44.000 --> 02:49.000 Because you control other data is being used and eyes been shared and everything. 02:49.000 --> 02:57.000 And it can be useful for yourself or but also for let's say your family or your association that you're working at. 02:57.000 --> 03:05.000 So or even your city, you could say, okay, well, I want to stand up a new email sharing platform for the city. 03:05.000 --> 03:09.000 And people can become members for example. 03:09.000 --> 03:24.000 So yeah, and privacy is really a big consideration into this, because as we know, many of the big tech companies are referring, you know, like email services or email sharing services. 03:24.000 --> 03:29.000 But the privacy is within that there and that's that's in the business model, of course. 03:29.000 --> 03:38.000 And also more flexibility, because as we all know, using open source, you can really customize it, you can tweak it to your liking. 03:38.000 --> 03:44.000 You can contribute new features as well if you are skilled to do so. 03:45.000 --> 03:57.000 As well, I, your performance. So let's say you sell all applications for your business and you have a 50 users, then you can really scale it up, you know, you can add some more resources to the server. 03:57.000 --> 04:01.000 You have full flexibility on the performance aspect as well. 04:01.000 --> 04:11.000 And lower costs, again, using open source, you can have less licensing costs, of course. 04:11.000 --> 04:18.000 But when we sell for the application and I talk with my hat of the assessment, there's boring details you need to think about. 04:18.000 --> 04:28.000 So, for example, the backups, really important, you want to have a good way to backup each applications and be able to restore them, you know, if needs be. 04:28.000 --> 04:40.000 And another aspect is to add a good isolation between applications, because some set was in platforms allows you to install software and web applications. 04:40.000 --> 04:51.000 But if there's not a good isolation between them, there's a chance that you could break by installing a new web application, you could break one that's already existing. 04:51.000 --> 05:01.000 So that's why I think running in containers really helps you to isolate your applications and it also relates to security as well, right. 05:01.000 --> 05:21.000 And another consideration that is not in us that posting platforms are the common authentication between apps, because, okay, so I installed one app to app, and then, and if all the users are, you know, in each of their own apps, then it's becoming difficult to say, okay, I want to add a new user. 05:21.000 --> 05:36.000 By the way, you need to create an account in each of the apps, right. And if the employee and the employee leave the company, then it's more complicated to delete the account in different apps compared to having a common authentication system. 05:36.000 --> 05:46.000 Also, the aspect of multi server, because, okay, yeah, I'm growing, you know, the number of apps that I have, well, at some point I may need a second and a third server, right. 05:46.000 --> 05:54.000 So I think that that possibility of moving apps between servers or scaling it up can be really useful. 05:54.000 --> 06:01.000 And of course, the rest like security, the support as well and everything. 06:01.000 --> 06:09.000 And there are many great existing solutions, and I've been a fan of looking at what's coming, you know, and what's being released. 06:09.000 --> 06:21.000 For example, you know, it's a really mature and long time solution. It's based on DBN, and it's really awesome. It checks almost all the boxes. 06:21.000 --> 06:36.000 The only thing is that there's not really a focus on containers in, in, you know, and that can be a bit more risky, because you need to look at all the application is being installed to be sure that it doesn't conflict with anything else on the server. 06:36.000 --> 06:42.000 I mean, it can work really well, but you need to make some more checks when you run it. 06:42.000 --> 06:46.000 But the community is great in this great project as well. I run it as well, you know, so. 06:46.000 --> 06:55.000 And the other solutions that some are more nasty oriented or storage oriented, some are more like UI oriented. 06:55.000 --> 07:02.000 But in my view, they all have, like, something that doesn't, that doesn't check all the boxes. 07:02.000 --> 07:08.000 So, but they are a great project as well, I'm not saying, but it's something that you can, you can compare it. 07:08.000 --> 07:20.000 But, but when I discovered Net Server 8, and a bit by mistake, I would say, I was really surprised, like I say, wow, what is this, you know, it's an hidden gem or it's something that, you know, 07:20.000 --> 07:25.000 that I think should be maybe more well known, so that's why I'm presenting here, you know. 07:25.000 --> 07:36.000 And so much features it has, so you can install it on different distributions, like VBAN and a bunch of red apps or sent to us based ones. 07:36.000 --> 07:43.000 It doesn't easy to use when you're face, so you can easily, you know, that getting to the app store and style, move the apps and everything. 07:43.000 --> 07:49.000 And I'll show you a few screenshots later on, and it has the possibility of multiple app stores. 07:49.000 --> 08:00.000 So there's, like, an official app store that is being, where the team from Net Teases are satisfying the applications and everything. 08:00.000 --> 08:06.000 But you can create your own app store, and you can also connect app stores from the community. 08:06.000 --> 08:11.000 So it's really, somebody is easy to get started, you know, and to start to packaging applications. 08:11.000 --> 08:14.000 And it has also a common authentication for apps. 08:14.000 --> 08:22.000 So you have an LDAP server that you can connect to, and your apps can authenticate through this LDAP server. 08:22.000 --> 08:31.000 So as long as the app has a support for that, there's also some third-party apps where you, that are SSO are oriented. 08:31.000 --> 08:40.000 So single sign-on. So you could install the single sign-on application, and then use that single sign-on application to authenticate to the LDAP. 08:40.000 --> 08:47.000 And your, and your, and your web applications could use that instead, you know, if you want a more modern way to authenticate. 08:47.000 --> 08:53.000 And it has support for multiple nodes. So you can easily add new nodes, so new servers. 08:53.000 --> 08:57.000 And those servers don't have to be on the same network. 08:57.000 --> 09:09.000 They can just connect to the internet, and there's a, a VPN network being set up between the nodes, so that they can all talk to each other and you can manage everything. 09:09.000 --> 09:18.000 And it has supports for backups, so encrypted backups. So the backups are encrypted client side, so from the server. 09:18.000 --> 09:21.000 And they are being sent to a remote storage. 09:21.000 --> 09:29.000 It can be one that is compatible with the S3 API, but it can also, they also supports for other storage providers as well. 09:29.000 --> 09:32.000 And of course it's open source, GPLV3. 09:32.000 --> 09:39.000 As far as the architecture goes, I found it very modern, because the team decided to use Podman. 09:39.000 --> 09:47.000 Podman is a container engine that doesn't require by default to run containers as route. 09:47.000 --> 09:57.000 And, and also, there's no demand running, so, so, so with Podman, you can create system services for your applications, for your containers, 09:57.000 --> 10:02.000 so that's a really clean way and secure way to run containers. 10:02.000 --> 10:11.000 And as well, the VPN that is being networked is being set up between the nodes is based on why your guard, which is also very modern. 10:11.000 --> 10:14.000 And there are actually two add-up implementations. 10:14.000 --> 10:18.000 You have either the choice of Samba or open-up for authentication. 10:18.000 --> 10:23.000 And one cool thing is that the authentication works across nodes. 10:23.000 --> 10:27.000 So, basically, let's say you install your LDAP on Node1. 10:27.000 --> 10:30.000 And you install an application on Node2. 10:30.000 --> 10:35.000 The Node2 application can authenticate against the LDAP server of Node1. 10:35.000 --> 10:39.000 And it doesn't require any different configuration. 10:39.000 --> 10:42.000 It just works a lot of the box. 10:42.000 --> 10:46.000 The response is traffic, which is very well known for containers. 10:46.000 --> 10:54.000 And there's a cluster database, so, basically, radius synchronizes the database across all nodes. 10:54.000 --> 11:04.000 So, so, so, so, basically, the configuration is replicated between each nodes and also the user account for the administrator's and whatnot. 11:04.000 --> 11:08.000 Some screenshots, so, basically, that's the view of the app stores. 11:08.000 --> 11:14.000 So, you can see all the apps that from the software repositories that you have added. 11:14.000 --> 11:18.000 And, and recently, they added a way to certify applications. 11:18.000 --> 11:25.000 So, you have between level one and five, and each applications that are being submitted are certified, you know, 11:25.000 --> 11:36.000 and each level have some more, you know, requirements, or, you know, for example, if the applications is connected to the LDAP by default, 11:36.000 --> 11:39.000 it will have a different level than one that is not. 11:39.000 --> 11:44.000 So, basically, the level of maturity of the package application that is in there. 11:44.000 --> 11:52.000 You have the multiple server aspects, so, basically, air, you see all of the nodes that you added, you know, and a bit of statistics on memory and CPU and whatnot. 11:52.000 --> 11:55.000 And, you can easily add a new node to the clusters. 11:55.000 --> 12:00.000 And, when you click, it is plain to you what to do on the new server, but it's really straightforward. 12:00.000 --> 12:04.000 I was really presently surprised. 12:04.000 --> 12:07.000 Also, you have, you can add different app instances. 12:07.000 --> 12:12.000 So, basically, from this, the certification can be installed multiple times. 12:12.000 --> 12:17.000 And, then, you can easily clone it, you can move it to a different node. 12:17.000 --> 12:24.000 And, when you move it, the application and the data is all being moved, you know, as containers on the other node. 12:24.000 --> 12:33.000 The only thing you need to do is, of course, to update your DNS, because most likely, the IP, the public IP of the other node will be different, 12:33.000 --> 12:35.000 than the IP of the first node. 12:35.000 --> 12:43.000 So, you need to change that, but otherwise, it's really easy to migrate applications and to manage them. 12:43.000 --> 12:56.000 For the backups, you have an interface when you can add, as I said, any S3 API providers or specific back storage providers that have been supported. 12:56.000 --> 13:04.000 And, you have some basic monitoring, as well, that you can see, you know, of the specific node, you know, and what's happening as well. 13:04.000 --> 13:09.000 So, that was my talk in the nutshell. You got my contacts there. 13:09.000 --> 13:16.000 And, I put the link of the different, of the project below. By the way, the project has really good documentation. 13:16.000 --> 13:20.000 I've been surprised at the, you know, the level of detail is 40. 13:20.000 --> 13:28.000 It's an administrator guide, and also a dev guide, and the dev guide is the one that you use to create a new application, basically. 13:28.000 --> 13:34.000 To package, an existing containerized application into a net server. 13:34.000 --> 13:38.000 And, and also the community is very, very helpful, and fairly. 13:38.000 --> 13:41.000 So, I recommend that you go there. 13:41.000 --> 13:54.000 There's also a community, a contributed application list. So, from there, you can see different community reports, you know, for the, the application repositories. 13:54.000 --> 14:01.000 So, you can go there, and you can add them to your net server, you know, server, and then you can add more applications available. 14:01.000 --> 14:08.000 So, I'll be outside if you, if you want, you know, to talk more, and I hope you have a pleasant, a pleasant. Thank you. 14:08.000 --> 14:13.000 Thank you very much.