Okay, hello and we're here at Foster at the Lighting Talks.
I want to introduce to you Gabriel Casette.
He's talking to us about the Nef Server 8 solid foundation for the safe hosting web application.
Give him a warmer blouse and have fun with the talk.
Thank you very much.
As I was introduced, my name is Gabriel Casette.
I grew up in Quebec and I come here from Canada, though.
But now I live in Western Canada in Calgary, Alberta.
And I'm a really, really fan of self hosting software and platforms.
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.
And yeah, so my background is I'm a new system administrator.
And as I said, I live in Western Canada.
I work for not-for-profit called Cyberra.
Cyberra is focused on providing IT services in the Alberta region in Canada.
So we provide services to schools, to the municipal government, provincial government.
And it can, it's a range of, for example, compute resources for students, security,
a person's center for schools and stuff like that.
And I'm a long time fan of open source, as I said, and self hosting.
So in a nutshell, what is self hosting?
Self hosting is really about having your own server.
And that this server can be either in at home, like on the Raspberry Pi or something else.
And or it can be in the cloud.
And in the cloud, it can be either a private, I mean, a virtual or a dedicated server.
And it's really about managing the whole stack.
So basically from the operating system up to the application.
And also sometimes the networking related to that, if you all start home, for example.
So it's really about adding the full control of your hosting environment.
And oftentimes you can, you can do it via containers, be it Docker or Kubernetes as well.
So that's the easiest way to do it nowadays and a good, manageable way as well.
Some advantages of stealth hosting in any depends on your situation, because some providers do provide good privacy.
But of course, whenever you all set yourself and that end you use open source software, you are guaranteed to have good privacy.
Because you control other data is being used and eyes been shared and everything.
And it can be useful for yourself or but also for let's say your family or your association that you're working at.
So or even your city, you could say, okay, well, I want to stand up a new email sharing platform for the city.
And people can become members for example.
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.
But the privacy is within that there and that's that's in the business model, of course.
And also more flexibility, because as we all know, using open source, you can really customize it, you can tweak it to your liking.
You can contribute new features as well if you are skilled to do so.
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.
You have full flexibility on the performance aspect as well.
And lower costs, again, using open source, you can have less licensing costs, of course.
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.
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.
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.
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.
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.
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.
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.
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.
So I think that that possibility of moving apps between servers or scaling it up can be really useful.
And of course, the rest like security, the support as well and everything.
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.
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.
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.
I mean, it can work really well, but you need to make some more checks when you run it.
But the community is great in this great project as well. I run it as well, you know, so.
And the other solutions that some are more nasty oriented or storage oriented, some are more like UI oriented.
But in my view, they all have, like, something that doesn't, that doesn't check all the boxes.
So, but they are a great project as well, I'm not saying, but it's something that you can, you can compare it.
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,
that I think should be maybe more well known, so that's why I'm presenting here, you know.
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.
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.
And I'll show you a few screenshots later on, and it has the possibility of multiple app stores.
So there's, like, an official app store that is being, where the team from Net Teases are satisfying the applications and everything.
But you can create your own app store, and you can also connect app stores from the community.
So it's really, somebody is easy to get started, you know, and to start to packaging applications.
And it has also a common authentication for apps.
So you have an LDAP server that you can connect to, and your apps can authenticate through this LDAP server.
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.
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.
And your, and your, and your web applications could use that instead, you know, if you want a more modern way to authenticate.
And it has support for multiple nodes. So you can easily add new nodes, so new servers.
And those servers don't have to be on the same network.
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.
And it has supports for backups, so encrypted backups. So the backups are encrypted client side, so from the server.
And they are being sent to a remote storage.
It can be one that is compatible with the S3 API, but it can also, they also supports for other storage providers as well.
And of course it's open source, GPLV3.
As far as the architecture goes, I found it very modern, because the team decided to use Podman.
Podman is a container engine that doesn't require by default to run containers as route.
And, and also, there's no demand running, so, so, so with Podman, you can create system services for your applications, for your containers,
so that's a really clean way and secure way to run containers.
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.
And there are actually two add-up implementations.
You have either the choice of Samba or open-up for authentication.
And one cool thing is that the authentication works across nodes.
So, basically, let's say you install your LDAP on Node1.
And you install an application on Node2.
The Node2 application can authenticate against the LDAP server of Node1.
And it doesn't require any different configuration.
It just works a lot of the box.
The response is traffic, which is very well known for containers.
And there's a cluster database, so, basically, radius synchronizes the database across all nodes.
So, so, so, so, basically, the configuration is replicated between each nodes and also the user account for the administrator's and whatnot.
Some screenshots, so, basically, that's the view of the app stores.
So, you can see all the apps that from the software repositories that you have added.
And, and recently, they added a way to certify applications.
So, you have between level one and five, and each applications that are being submitted are certified, you know,
and each level have some more, you know, requirements, or, you know, for example, if the applications is connected to the LDAP by default,
it will have a different level than one that is not.
So, basically, the level of maturity of the package application that is in there.
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.
And, you can easily add a new node to the clusters.
And, when you click, it is plain to you what to do on the new server, but it's really straightforward.
I was really presently surprised.
Also, you have, you can add different app instances.
So, basically, from this, the certification can be installed multiple times.
And, then, you can easily clone it, you can move it to a different node.
And, when you move it, the application and the data is all being moved, you know, as containers on the other node.
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,
than the IP of the first node.
So, you need to change that, but otherwise, it's really easy to migrate applications and to manage them.
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.
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.
So, that was my talk in the nutshell. You got my contacts there.
And, I put the link of the different, of the project below. By the way, the project has really good documentation.
I've been surprised at the, you know, the level of detail is 40.
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.
To package, an existing containerized application into a net server.
And, and also the community is very, very helpful, and fairly.
So, I recommend that you go there.
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.
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.
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.
Thank you very much.