1
00:00:00,000 --> 00:00:02,720
 Boom, boom, boom, boom, boom, boom,

2
00:00:02,720 --> 00:00:05,280
 Linux Prepper.

3
00:00:05,280 --> 00:00:08,000
 Welcome back to Linux Prepper.

4
00:00:08,000 --> 00:00:11,200
 A self-hosted show on using free and open source technology

5
00:00:11,199 --> 00:00:14,839
 to DIY everything myself while still enjoying life.

6
00:00:14,839 --> 00:00:18,600
 Shows inspired by Linux, BSD, open source, and FOS.

7
00:00:18,600 --> 00:00:21,760
 It's part of James.Network and Living Cartoon Company.

8
00:00:21,760 --> 00:00:23,240
 If you're interested in the episode

9
00:00:23,239 --> 00:00:24,080
 and want to send me thoughts,

10
00:00:24,079 --> 00:00:26,440
 you can email podcast@james.network.

11
00:00:26,440 --> 00:00:28,719
 There is also a matrix chat you are welcome to join

12
00:00:28,719 --> 00:00:31,800
 and a forum at discuss.james.network.

13
00:00:31,800 --> 00:00:33,159
 Note the show is subject to change,

14
00:00:33,159 --> 00:00:34,200
 depending on how it's received.

15
00:00:34,200 --> 00:00:37,579
 There's no hard commitments, just frustration and fun.

16
00:00:38,520 --> 00:00:41,760
 So people have requested a more concise version of the show,

17
00:00:41,759 --> 00:00:43,840
 which I'm actually giving you today,

18
00:00:43,840 --> 00:00:45,679
 plus a massive interview

19
00:00:45,679 --> 00:00:48,519
 that's world premiering NextCloud Atomic

20
00:00:48,520 --> 00:00:51,519
 by discussing it at length with the developer Tobias

21
00:00:51,520 --> 00:00:54,519
 who's known for NextCloud Pie and NextCloud Secrets.

22
00:00:54,520 --> 00:00:56,399
 We'll also be joined by Marcel,

23
00:00:56,399 --> 00:00:58,719
 another NextCloud developer you might remember

24
00:00:58,719 --> 00:01:02,960
 from the NextCloud Recognize AI interview we did

25
00:01:02,960 --> 00:01:07,200
 on the use of AI and machine learning in NextCloud as an open source

26
00:01:07,200 --> 00:01:13,519
 project. So Marcel is also known as the developer of NextCloud Bookmarks and Flockus. And despite

27
00:01:13,519 --> 00:01:19,599
 me barely talking in it, the interview actually ran two hours 30 minutes plus making it the longest

28
00:01:19,599 --> 00:01:26,200
 NextCloud interview I'm aware of in existence. So I hope you enjoy it. Do let me know your thoughts

29
00:01:26,200 --> 00:01:28,079
 and note some portions of the interview

30
00:01:28,079 --> 00:01:31,480
 have been pulled for release in the future

31
00:01:31,480 --> 00:01:33,120
 just because this is already so long.

32
00:01:33,120 --> 00:01:36,200
 But your feedback is much appreciated.

33
00:01:36,200 --> 00:01:37,960
 Let's go, let's give a little context.

34
00:01:37,959 --> 00:01:42,240
 The next cloud conference is about to start in Berlin, Germany.

35
00:01:42,239 --> 00:01:45,959
 That is from September 27th to the 28th. You can attend

36
00:01:45,959 --> 00:01:51,200
 in person if you were in Berlin for free or watch online as it live streams. Note that

37
00:01:51,200 --> 00:01:57,120
 this is nine hours solidly ahead of America. So you'll probably be asleep when it happens

38
00:01:57,120 --> 00:02:01,120
 if you're in the US, where you'll be staying up all night. And recordings will be made

39
00:02:01,120 --> 00:02:05,159
 available both in full and in sections on YouTube over the coming days.

40
00:02:05,159 --> 00:02:08,199
 Tobias will be presenting a lightning talk

41
00:02:08,199 --> 00:02:10,439
 about the development of next cloud atomic.

42
00:02:10,439 --> 00:02:12,000
 I don't know exactly what he'll talking about,

43
00:02:12,000 --> 00:02:13,919
 but we can tune in.

44
00:02:13,919 --> 00:02:16,280
 It'll be the condensed version seven minutes.

45
00:02:17,199 --> 00:02:18,879
 Also, just wanna make a quick note

46
00:02:18,879 --> 00:02:22,680
 that Seagull Conference is coming up November 7th to 8th

47
00:02:22,680 --> 00:02:25,520
 in Seattle, I will be tabling and presenting there.

48
00:02:25,520 --> 00:02:29,240
 The schedule for that should be available on October 1st.

49
00:02:29,240 --> 00:02:31,039
 Link to that in the show notes.

50
00:02:31,039 --> 00:02:34,719
 I'd also like to take this moment to thank our sponsor.

51
00:02:34,719 --> 00:02:39,280
 That would be Ameradroid, the United States-based distributor of single board computers and home

52
00:02:39,280 --> 00:02:40,599
 automation products.

53
00:02:40,599 --> 00:02:49,000
 They offer comprehensive, inexpensive shipping solutions globally, have excellent customer service, and are a lot easier to deal with than ordering directly overseas with

54
00:02:49,000 --> 00:02:52,319
 the longer lead times, fewer shipping options, and tariffs.

55
00:02:52,319 --> 00:02:54,479
 And I've been a happy customer with them for years.

56
00:02:54,479 --> 00:02:59,759
 I'll leave referral links in the show notes, or you can use Linux Prepper at checkout to

57
00:02:59,759 --> 00:03:00,920
 support the show.

58
00:03:00,919 --> 00:03:03,000
 I do have a device I'd recommend from them.

59
00:03:03,000 --> 00:03:10,800
 If you're curious, it's called the O-Droid H4 series. There's the H4+, and Ultra. These are X86 boards. They're not

60
00:03:10,800 --> 00:03:17,120
 ARM. So it's just full X86. They do not include RAM or a case, but they do include

61
00:03:17,120 --> 00:03:23,280
 SATA ports and M2 slot for NVM expansion. This means you get to add up to 48GB of RAM, and

62
00:03:23,280 --> 00:03:25,000
 the M2 slot can be used for networking expansion.

63
00:03:25,000 --> 00:03:33,000
 I've asked around and confirmed that the ODRED H4 works just fine for basic TrueNAS Scalebox or backup server,

64
00:03:33,000 --> 00:03:47,680
 runs Proxmox, Open Media Vault, NextCloud, great tool, check it out, I'll leave a link in the show notes. All right, skipping ahead, let's go over a quick overview and review of Next Cloud itself and the related tooling,

65
00:03:47,680 --> 00:03:49,719
 which is being discussed in the interview.

66
00:03:51,039 --> 00:03:53,879
 Feel free to use the timestamps to skip ahead

67
00:03:53,879 --> 00:03:55,520
 to the interview.

68
00:03:55,520 --> 00:03:57,360
 So Next Cloud, let's talk Next Cloud.

69
00:03:57,360 --> 00:03:59,960
 Next Cloud is the most popular open source content

70
00:03:59,960 --> 00:04:02,560
 collaboration platform in the world.

71
00:04:02,560 --> 00:04:04,759
 It started as a Dropbox alternative.

72
00:04:04,759 --> 00:04:07,560
 It's grown to be rebranded as NextCloud Hub

73
00:04:07,560 --> 00:04:10,000
 because it's more of a Google Suite alternative.

74
00:04:10,000 --> 00:04:13,319
 Now, for enterprise clients with millions of users,

75
00:04:13,319 --> 00:04:16,819
 in addition to home enthusiasts with one or more users.

76
00:04:16,819 --> 00:04:20,680
 So it can be expanded with hundreds of apps and integrations

77
00:04:20,680 --> 00:04:24,360
 for things like Office tooling, bookmarks, you name it.

78
00:04:24,360 --> 00:04:30,399
 So NextCloud the company offers paid enterprise subscriptions for hundred plus user instances

79
00:04:30,399 --> 00:04:33,899
 They're paying per person right that is not our interest in this show

80
00:04:34,519 --> 00:04:41,199
 But their software is fully open source a GPL license and it has basic community support

81
00:04:42,439 --> 00:04:46,079
 Though keep in mind this is a modular system,

82
00:04:46,079 --> 00:04:49,399
 which means that it is built on a standard web stack, right?

83
00:04:49,399 --> 00:04:52,199
 You have a web server, you have a database,

84
00:04:52,199 --> 00:04:54,879
 you might have caching from something like Redis,

85
00:04:54,879 --> 00:04:57,600
 you choose how the system is made,

86
00:04:57,600 --> 00:05:00,439
 much like WordPress, probably the most common way

87
00:05:00,439 --> 00:05:04,279
 to use a website, run a website in the world.

88
00:05:04,279 --> 00:05:06,240
 You'll notice that there's a lot of providers

89
00:05:06,240 --> 00:05:11,759
 of WordPress, just like there's a lot of providers of NextCloud because anyone can run it, which

90
00:05:11,759 --> 00:05:17,360
 includes companies reselling, right? So companies might do this. I think this is also one of the

91
00:05:17,360 --> 00:05:25,000
 biggest negatives of NextCloud is that a lot of the people that are reselling it to you are trash.

92
00:05:26,779 --> 00:05:29,620
 I'll give a shout out to a company that's great.

93
00:05:29,620 --> 00:05:30,560
 It's called Hetsner.

94
00:05:30,560 --> 00:05:33,879
 Hetsner in Germany, I have seen NextCloud themselves

95
00:05:33,879 --> 00:05:37,899
 using Hetsner to host things for them for their conferences

96
00:05:37,899 --> 00:05:40,720
 when I attended and I can recommend Hetsner.

97
00:05:40,720 --> 00:05:42,860
 I don't know anyone that really has a problem with them.

98
00:05:42,860 --> 00:05:44,120
 They were great.

99
00:05:44,120 --> 00:05:49,639
 They offer very inexpensive terabyte plus options with the limited users of NextCloud.

100
00:05:49,639 --> 00:05:51,600
 So I would use Hetsner.

101
00:05:51,600 --> 00:05:57,079
 And basically everyone else offering NextCloud personally, I would not recommend.

102
00:05:57,079 --> 00:06:01,699
 So I have a history with NextCloud as far as being an form admin over a number of years

103
00:06:01,699 --> 00:06:02,959
 with them.

104
00:06:02,959 --> 00:06:06,579
 And as terms of all the resellers offering NextCloud,

105
00:06:06,579 --> 00:06:08,899
 I would not use any of them.

106
00:06:08,899 --> 00:06:11,220
 I would of course recommend running it yourself

107
00:06:11,220 --> 00:06:13,819
 or running it on something like a VPS

108
00:06:13,819 --> 00:06:16,139
 where you still have some level of control.

109
00:06:16,139 --> 00:06:18,620
 You never know when someone's just gonna go away

110
00:06:18,620 --> 00:06:20,620
 with a plan or with support.

111
00:06:20,620 --> 00:06:24,300
 And that's a thing that can happen on any system

112
00:06:24,300 --> 00:06:25,819
 and that includes NextCloud.

113
00:06:25,819 --> 00:06:28,860
 So I personally have been a volunteer with NextCloud

114
00:06:28,860 --> 00:06:29,779
 over a number of years.

115
00:06:29,779 --> 00:06:31,860
 Volunteer is an admin for their help forum,

116
00:06:31,860 --> 00:06:34,740
 and I participated as a speaker at their conference

117
00:06:34,740 --> 00:06:36,139
 three times.

118
00:06:36,139 --> 00:06:38,100
 I've not mentioned it so much on the show,

119
00:06:38,100 --> 00:06:40,939
 but I wanted to give a moment just to give you

120
00:06:40,939 --> 00:06:42,860
 some clarification about this.

121
00:06:42,860 --> 00:06:44,819
 I'm really pleased to have this opportunity,

122
00:06:44,819 --> 00:06:46,459
 and I hope you enjoy the interview.

123
00:06:46,459 --> 00:06:48,120
 It does run really long,

124
00:06:48,120 --> 00:06:52,019
 which is why I'm gonna split it up across at least two episodes.

125
00:06:52,019 --> 00:06:53,959
 Right now the main goal is to talk about

126
00:06:53,959 --> 00:06:57,779
 next cloud atomic as the successor to next cloud pi

127
00:06:57,779 --> 00:06:59,540
 because that's gonna be discussed also

128
00:06:59,540 --> 00:07:01,819
 at the upcoming conference.

129
00:07:01,819 --> 00:07:04,620
 Let's take a moment to do some self-hosted

130
00:07:04,620 --> 00:07:06,079
 relating spotlights. Of course these will some self-hosted relating spotlights.

131
00:07:06,079 --> 00:07:10,000
 Of course, these will be self-hosted options for NextCloud.

132
00:07:10,000 --> 00:07:12,000
 So what is NextCloud Pie?

133
00:07:12,000 --> 00:07:15,240
 Well, just like I was talking about the modular nature

134
00:07:15,240 --> 00:07:18,759
 of NextCloud, NextCloud Pie is a ready-to-use image

135
00:07:18,759 --> 00:07:23,120
 of NextCloud for x86, but also ARM and Debian systems

136
00:07:23,120 --> 00:07:24,279
 in general.

137
00:07:24,279 --> 00:07:28,000
 It supports the major single- board devices and virtual machine devices.

138
00:07:28,000 --> 00:07:32,000
 It gives you a next cloud with as little pain as possible

139
00:07:32,000 --> 00:07:36,000
 for the sake of running it and having it work as a home enthusiast.

140
00:07:36,000 --> 00:07:40,000
 So what it is, is it's an easy to use image. It takes the pain out of next cloud.

141
00:07:40,000 --> 00:07:43,000
 It's good for people who just want something that works.

142
00:07:43,000 --> 00:07:49,920
 What this isn't. It isn't a virtual playground design for system experts if you knew exactly what you wanted to begin with

143
00:07:49,920 --> 00:07:54,379
 Then you're probably not looking at next cloud pie. You're probably making your own

144
00:07:55,000 --> 00:08:01,139
 Next cloud so next cloud pie is notably not good at supporting things like containers

145
00:08:01,660 --> 00:08:08,959
 Docker these sorts of things. It's. It's meant as a set and forget option.

146
00:08:08,959 --> 00:08:12,519
 You set it up and then you are as hands off as possible.

147
00:08:12,519 --> 00:08:15,600
 If that's your goal, I think you will really like

148
00:08:15,600 --> 00:08:18,000
 Next Cloud Pi and I've run it for many years,

149
00:08:18,000 --> 00:08:19,000
 it's been great.

150
00:08:20,680 --> 00:08:23,000
 Next Cloud, AIO or All in One

151
00:08:23,000 --> 00:08:25,000
 is a Docker-based solution of NextCloud

152
00:08:25,000 --> 00:08:29,000
 that aims to simplify the installation and management of NextCloud

153
00:08:29,000 --> 00:08:33,000
 by combining all the necessary components into a single container.

154
00:08:33,000 --> 00:08:38,000
 It provides an easy way to deploy NextCloud with features like file sharing,

155
00:08:38,000 --> 00:08:41,000
 communication tools, and backup solutions.

156
00:08:41,000 --> 00:08:46,679
 Further, NextCloud AO is built and maintained

157
00:08:46,679 --> 00:08:50,159
 by NextCloud employees, which is nice.

158
00:08:52,159 --> 00:08:55,759
 Also worth giving a mention to the NextCloud Snap.

159
00:08:55,759 --> 00:08:57,480
 Some people like using the Snap

160
00:08:57,480 --> 00:09:02,480
 as another sort of effortless way to deploy NextCloud.

161
00:09:02,600 --> 00:09:04,200
 I have not personally used it myself,

162
00:09:04,200 --> 00:09:05,679
 but I know many people do. So you can also check out the NextCloud. I have not personally used it myself, but I know many people do.

163
00:09:05,679 --> 00:09:09,919
 So you can also check out the NextCloud Snap installation.

164
00:09:09,919 --> 00:09:14,480
 There are also various NextCloud virtual machine instances.

165
00:09:15,919 --> 00:09:17,080
 Whew, there's a lot.

166
00:09:18,720 --> 00:09:22,440
 Let's take a moment to do some software spotlights.

167
00:09:30,419 --> 00:09:36,340
 Flockis. Flockis is a bookmark syncing app for browsers iOS and Android. It syncs your bookmarks and tabs either to next cloud,

168
00:09:36,340 --> 00:09:43,600
 link warden, carekeep, git, basic web dev server. It's easy to connect into your

169
00:09:43,600 --> 00:09:46,080
 self-hosting service or to something like Google

170
00:09:46,080 --> 00:09:54,000
 Drive or GitHub. Flock is just tries to sync and get out of your way. Next cloud bookmarks is the

171
00:09:54,000 --> 00:10:06,000
 next cloud bookmark app you can optionally install, which will allow you to use something like like Floccus or the web UI to add and synchronize bookmarks

172
00:10:06,000 --> 00:10:10,000
 between your different Next Cloud clients.

173
00:10:10,000 --> 00:10:15,840
 I've used this successfully with Windows, Mac OS, Firefox,

174
00:10:15,840 --> 00:10:19,799
 Chromium, whatever you can think of.

175
00:10:19,799 --> 00:10:20,480
 I've done it.

176
00:10:20,480 --> 00:10:22,080
 It works awesome.

177
00:10:22,080 --> 00:10:24,000
 I absolutely love Next Cloud Bookmarks.

178
00:10:24,000 --> 00:10:25,360
 It's one of my favorite apps of all time. I've done some testing on it in the past. I think it is a works awesome. I absolutely love next cloud bookmarks. It's one of my favorite apps of all

179
00:10:25,360 --> 00:10:30,320
 time. I've done some testing on it in the past. I think it is a great tool and I highly recommend

180
00:10:30,320 --> 00:10:38,000
 checking out next cloud bookmarks if you're running next cloud. Recognize AI is a photo

181
00:10:38,000 --> 00:10:46,799
 recognition enhancement application for next cloud. It is system intensive. It basically requires x86.

182
00:10:46,799 --> 00:10:48,879
 It's not designed for single board computers

183
00:10:48,879 --> 00:10:49,960
 or anything like this,

184
00:10:49,960 --> 00:10:51,720
 but if you have powerful hardware

185
00:10:51,720 --> 00:10:53,840
 and you wanna add basic machine learning

186
00:10:53,840 --> 00:10:57,600
 to your NextCloud to do local first photo recognition,

187
00:10:57,600 --> 00:11:00,399
 that is totally possible to recognize AI.

188
00:11:00,399 --> 00:11:03,159
 I'll also leave a link to our previous interview

189
00:11:03,159 --> 00:11:06,320
 about recognize AI and the use of machine learning next cloud

190
00:11:06,320 --> 00:11:07,799
 from previous episode.

191
00:11:07,799 --> 00:11:10,480
 Check that out if you're interested.

192
00:11:10,480 --> 00:11:14,399
 Also in the self-hosted spotlight is the upcoming

193
00:11:14,399 --> 00:11:16,879
 NextCloud Atomic.

194
00:11:16,879 --> 00:11:19,879
 NextCloud Atomic is the easy-to-use batteries

195
00:11:19,879 --> 00:11:23,720
 included system for running NextCloud.

196
00:11:23,720 --> 00:11:28,320
 It is a wrapper for NextClouds all in one.

197
00:11:28,320 --> 00:11:31,039
 It provides the convenience of automated updates

198
00:11:31,039 --> 00:11:33,399
 and a number of additional services

199
00:11:33,399 --> 00:11:36,840
 that can be enabled individually on top of the system.

200
00:11:36,840 --> 00:11:39,700
 Things like disk management, full disk encryption,

201
00:11:39,700 --> 00:11:44,080
 TPM support, monitoring, and making everything accessible

202
00:11:44,080 --> 00:11:46,240
 from an administrative interface.

203
00:11:46,240 --> 00:11:48,600
 Next Cloud Atomic's aim is to provide all the tools

204
00:11:48,600 --> 00:11:51,320
 you would need to host Next Cloud as a hobbyist

205
00:11:51,320 --> 00:11:54,200
 or as a company assuming your needs can be covered

206
00:11:54,200 --> 00:11:56,240
 by a singular machine.

207
00:11:56,240 --> 00:11:58,639
 One of the core selling points of Next Cloud Atomic

208
00:11:58,639 --> 00:12:00,759
 is the operating system layout.

209
00:12:00,759 --> 00:12:03,679
 Everything related to the core system is contained

210
00:12:03,679 --> 00:12:05,279
 in an immutable partition that

211
00:12:05,279 --> 00:12:10,200
 gets replaced during updates, which allows for painless updates to either fully succeed

212
00:12:10,200 --> 00:12:15,899
 or fully fail and be automatically rolled back. There is no in between. Apart from updates,

213
00:12:15,899 --> 00:12:20,399
 this also enables a simple factory reset feature, which can be used to restore the system to

214
00:12:20,399 --> 00:12:24,480
 a working state in the event something goes wrong. The operating system is Debian as

215
00:12:24,480 --> 00:12:26,000
 its base, which is widely

216
00:12:26,000 --> 00:12:28,320
 trusted as a surper operating system.

217
00:12:28,639 --> 00:12:32,559
 Next Cloud atomic was made possible in part by the

218
00:12:32,559 --> 00:12:35,279
 prototype fund, the prototype fund.

219
00:12:35,279 --> 00:12:36,639
 Let's get into what that is.

220
00:12:36,919 --> 00:12:40,960
 Prototype fund is a fund for German developers seeking to work

221
00:12:40,960 --> 00:12:44,840
 on free and open source projects, offering six months of

222
00:12:44,840 --> 00:12:45,320
 funding so that you can work on your project. source projects, offering six months of funding

223
00:12:45,320 --> 00:12:46,799
 so that you can work on your project.

224
00:12:46,799 --> 00:12:49,519
 This includes projects like Next Cloud Atomic,

225
00:12:49,519 --> 00:12:52,039
 which we will be talking about today.

226
00:12:52,039 --> 00:12:54,080
 If you're interested in the Prototype Fund,

227
00:12:54,080 --> 00:12:57,000
 I will include a link in the show notes.

228
00:12:57,000 --> 00:12:59,679
 If you like the show, please do share it with others.

229
00:12:59,679 --> 00:13:01,559
 I am running a Steam key giveaway.

230
00:13:01,559 --> 00:13:03,679
 All I ask in return is you leave a review

231
00:13:03,679 --> 00:13:08,720
 on your podcast system of choice, no more than three entries per person, please. And please just leave more

232
00:13:08,720 --> 00:13:13,759
 than a one word review. Say anything you want. It doesn't matter. But that runs through November

233
00:13:13,759 --> 00:13:18,399
 1st right now and details on it are in the show notes. I hope you enjoy this long format

234
00:13:18,399 --> 00:13:23,159
 interview. And I want to say thank you to everyone who submitted your questions, concerns,

235
00:13:23,159 --> 00:13:25,279
 comments, especially the people

236
00:13:25,279 --> 00:13:30,200
 from the next cloud pie community where I've been a community manager over the years and

237
00:13:30,200 --> 00:13:33,080
 done my best to assist Tobias.

238
00:13:33,080 --> 00:13:37,240
 So we've done our best to address all of your concerns and questions here in the interview.

239
00:13:37,240 --> 00:13:40,919
 If you enjoy the show, keep in mind, you can always donate to me directly.

240
00:13:40,919 --> 00:13:47,120
 I will also include donation information for Tobias is in his projects as well as Marcel

241
00:13:47,120 --> 00:13:52,720
 either way. Thank you for listening. A quick moment of gratitude for Ignacio who is the original

242
00:13:52,720 --> 00:13:58,480
 developer of next cloud pie. Thank you so much for paving the way that allowed Toby is to take

243
00:13:58,480 --> 00:14:04,240
 over and allowed us to continue on to these exciting new steps today. You can always contact me through

244
00:14:04,240 --> 00:14:07,440
 email by following the podcast directly on the Fediverse

245
00:14:07,440 --> 00:14:09,639
 or your podcast platform of choice.

246
00:14:09,639 --> 00:14:12,700
 You can also join our Matrix chat and forum.

247
00:14:12,700 --> 00:14:14,399
 Please do enjoy this long format interview.

248
00:14:14,399 --> 00:14:16,559
 Look forward to even more discussion

249
00:14:16,559 --> 00:14:20,360
 dealing with Toby's Next Cloud Secrets application

250
00:14:20,360 --> 00:14:23,440
 in a future episode along with a focus

251
00:14:23,440 --> 00:14:26,240
 on container technology and whether tools like

252
00:14:26,240 --> 00:14:32,159
 Docker, Podman, and virtualization are right for you as a home enthusiast.

253
00:14:32,159 --> 00:14:36,799
 Thank you for listening to Linux Proper and let's go directly into the interview.

254
00:14:36,799 --> 00:14:38,320
 Welcome to the podcast.

255
00:14:38,320 --> 00:14:49,759
 Yeah, hi, I would say about six years fully employed and probably

256
00:14:50,960 --> 00:14:59,279
 about a to 10 years in my free time and privately. And I'm also working on a number of open source

257
00:14:59,279 --> 00:15:05,159
 projects among others, next slide atomic. Actually, for some reason,

258
00:15:05,159 --> 00:15:09,159
 most of the big open source project that I'm working on

259
00:15:09,159 --> 00:15:11,600
 within the Nestle ecosystem,

260
00:15:11,600 --> 00:15:15,000
 probably just because that's the one open source product

261
00:15:15,000 --> 00:15:17,320
 I use the most personally,

262
00:15:17,320 --> 00:15:19,720
 and that gives me a lot of value.

263
00:15:19,720 --> 00:15:24,720
 And yeah, so I'm working on Next Light Atomic,

264
00:15:25,000 --> 00:15:25,399
 Next Light Pie and Next Light Secrets mostly. And yeah, so I'm working on next-class atomic,

265
00:15:29,519 --> 00:15:30,759
 next-class py and next-class secrets mostly, during that.

266
00:15:30,759 --> 00:15:35,759
 Right now I'm in the process of working

267
00:15:36,440 --> 00:15:39,200
 as a freelance engineer full-time,

268
00:15:40,320 --> 00:15:44,399
 which has also the reason that I hope to be able

269
00:15:44,399 --> 00:15:46,480
 to focus more on my open source work that way,

270
00:15:47,200 --> 00:15:49,200
 but also be more flexible in

271
00:15:49,899 --> 00:15:54,279
 just generally what I want to focus on in my life and in my work.

272
00:15:56,759 --> 00:15:59,200
 I think, yeah, I think that's about

273
00:16:00,080 --> 00:16:03,759
 what there is to know right now for this context, for this broadcast.

274
00:16:04,320 --> 00:16:05,399
 Yeah, sure.

275
00:16:05,399 --> 00:16:07,720
 I am Marcel, Marcel Player.

276
00:16:08,559 --> 00:16:17,279
 I work for NextCloud full time currently for about three years now.

277
00:16:18,200 --> 00:16:19,759
 And have been

278
00:16:20,600 --> 00:16:27,000
 tabbling in open source projects for a number of years, about 10 I think.

279
00:16:27,000 --> 00:16:36,000
 Yeah, and I'm currently in my free time mostly focusing on floccus, floccus

280
00:16:36,000 --> 00:16:46,080
 bookmark syncing, which allows people to sync bookmarks across browser vendors and the NextCloud Bookmarks app

281
00:16:47,480 --> 00:16:50,299
 that acts as a backend for flocca

282
00:16:50,299 --> 00:16:52,620
 and as a standalone bookmarks app

283
00:16:52,620 --> 00:16:54,320
 in the NextCloud ecosystem.

284
00:16:59,399 --> 00:17:02,159
 Yeah, that's mostly it.

285
00:17:02,159 --> 00:17:05,720
 I've been on this podcast previously talking about AI

286
00:17:05,720 --> 00:17:08,799
 at NextCloud, which I'm involved in.

287
00:17:10,759 --> 00:17:11,799
 Yeah.

288
00:17:11,799 --> 00:17:12,640
 - Thank you.

289
00:17:14,400 --> 00:17:17,720
 Also, thank you for floccas.

290
00:17:17,720 --> 00:17:20,319
 I'm using that personally, actually.

291
00:17:20,319 --> 00:17:21,480
 - Nice.

292
00:17:21,480 --> 00:17:22,880
 It's always great to hear that.

293
00:17:23,880 --> 00:17:29,000
 - Although I'm not using it across browser yet, I think the idea just never occurred to me.

294
00:17:29,000 --> 00:17:33,000
 But yeah, lost opportunity there.

295
00:17:33,000 --> 00:17:35,000
 Which browser are you using?

296
00:17:35,000 --> 00:17:37,000
 Firefox mostly.

297
00:17:37,000 --> 00:17:40,000
 Contential question, contentious question.

298
00:17:40,000 --> 00:17:48,480
 Yeah, right now I don't really have the one browser I'm happy with. I support Firefox because I want to.

299
00:17:49,519 --> 00:17:55,599
 I'm not happy about the Google monopoly, of course, but at the same time, Mozilla.

300
00:17:58,079 --> 00:18:06,559
 It's very good at doing shady stuff every now and then, and I'm not too happy about that either and yeah it's

301
00:18:06,559 --> 00:18:13,359
 a work in process, a work in progress I would say. Totally agree. And do you mind

302
00:18:13,359 --> 00:18:30,720
 giving us an overview on what Next Cloud Pi and Atomic are? Sure. Yeah so maybe I just start with an extra pile because it's the more well-known and

303
00:18:30,720 --> 00:18:33,460
 the actually used product.

304
00:18:33,460 --> 00:18:40,119
 The other one is not in a usable stage just yet.

305
00:18:40,119 --> 00:18:45,559
 So an extra pile is basically, or I should say differently.

306
00:18:45,559 --> 00:18:47,559
 When you are running your next cloud,

307
00:18:47,559 --> 00:18:52,319
 you need to find a way of installing

308
00:18:52,319 --> 00:18:54,740
 and configuring NextCloud itself,

309
00:18:54,740 --> 00:18:59,740
 but you also need ways of managing your operating system,

310
00:18:59,759 --> 00:19:04,759
 your web server, your domain backups and so on.

311
00:19:04,960 --> 00:19:05,000
 So there are a lot of administrative tasks involved web server, your domain backups and so on.

312
00:19:05,000 --> 00:19:09,400
 So there are a lot of administrative tasks involved

313
00:19:09,400 --> 00:19:12,240
 in running a next cloud server.

314
00:19:12,240 --> 00:19:17,240
 And next cloud py basically takes a Debian system

315
00:19:19,160 --> 00:19:21,920
 and automates all of that stuff,

316
00:19:21,920 --> 00:19:24,319
 all of the administrative tasks starting

317
00:19:24,319 --> 00:19:26,160
 from the installation of next cloud

318
00:19:26,799 --> 00:19:31,039
 and ending with backups dynamic DNS.

319
00:19:35,759 --> 00:19:41,440
 Many, like backups, many features, server-side encryption and so on,

320
00:19:41,440 --> 00:19:45,039
 many features that you would have to solve manually as a systems

321
00:19:45,039 --> 00:19:55,200
 administrator. And the result is a system that allows you to run next cloud without ever interacting

322
00:19:55,200 --> 00:20:05,619
 with a terminal if you don't want to, because everything is configurable from an administration web user interface.

323
00:20:05,619 --> 00:20:09,880
 So that's, I would say, what next Cloud Pi is.

324
00:20:09,880 --> 00:20:19,200
 I sometimes call it managed self-hosting because it is the managed hosting experience but on

325
00:20:19,200 --> 00:20:22,880
 your own hardware.

326
00:20:22,880 --> 00:20:29,000
 And something that I should address because it always gets misunderstood.

327
00:20:29,000 --> 00:20:35,500
 Next slide is not specifically built for the Raspberry Pi, even though it has a Pi in the

328
00:20:35,500 --> 00:20:48,799
 name, but it does support a wide range of single board computers like the Raspberry Pi including it, but it also is available for VMs and containers,

329
00:20:48,799 --> 00:20:51,000
 LXD containers.

330
00:20:51,000 --> 00:20:57,440
 I, for example, run my currently,

331
00:20:57,440 --> 00:21:00,940
 my next-door instance that is currently backed by

332
00:21:00,940 --> 00:21:08,119
 an extra Pi on just a server server I built myself with consumer hardware

333
00:21:08,119 --> 00:21:31,000
 running Proxmox and they're inside of a container. So that's an X-LOT Pi. Yeah, I have been a user of NextCloud PIE for, I believe about seven years.

334
00:21:31,000 --> 00:21:37,240
 I should have looked up the numbers before the podcast.

335
00:21:37,240 --> 00:21:48,039
 But basically when NextCloud came into existence, a few months after I changed to Next cloud and

336
00:21:48,039 --> 00:21:55,920
 probably half a year or a year after I switched to Next cloud pi and it saved

337
00:21:55,920 --> 00:22:01,920
 me a lot of work back then and about two years ago I took over

338
00:22:01,920 --> 00:22:05,420
 maintain a ship of the project completely before I was

339
00:22:05,420 --> 00:22:14,859
 contributing a few things and now I am the core maintainer of the project

340
00:22:14,859 --> 00:22:26,720
 basically. And yeah, I think that's a good basis maybe to directly talk

341
00:22:26,720 --> 00:22:30,440
 about an extra atomic because it is similar in many ways

342
00:22:30,440 --> 00:22:36,240
 and does some things purposefully different

343
00:22:36,240 --> 00:22:39,079
 than extra time.

344
00:22:39,079 --> 00:22:42,519
 Basically, for the last six years,

345
00:22:42,519 --> 00:22:45,000
 I've been working as a,

346
00:22:45,880 --> 00:22:49,839
 yeah, professional software developer

347
00:22:49,839 --> 00:22:51,680
 and DevOps engineer.

348
00:22:51,680 --> 00:22:56,599
 I've been doing a lot of cloud application development

349
00:22:56,599 --> 00:23:01,599
 and cloud infrastructure and a lot of work with containers

350
00:23:02,279 --> 00:23:06,400
 and operating systems, build pipelines and so on. So a lot of work with containers and operating systems, build pipelines and so on.

351
00:23:06,400 --> 00:23:08,400
 So a lot of system level things,

352
00:23:08,400 --> 00:23:10,799
 but also application development.

353
00:23:10,799 --> 00:23:15,799
 And my knowledge about these things has been growing.

354
00:23:17,240 --> 00:23:21,079
 And I became a bit dissatisfied with the way

355
00:23:21,079 --> 00:23:23,119
 I was running NextCloud.

356
00:23:23,119 --> 00:23:30,160
 Because first of all, my skills have been,

357
00:23:30,799 --> 00:23:36,720
 yeah, have changed over the time. And I would do things differently than I did it

358
00:23:38,480 --> 00:23:45,279
 seven years ago. And secondly, the industry has changed. and there have been a lot of emerging technologies

359
00:23:45,279 --> 00:23:49,559
 that have not been as ubiquitous seven years ago.

360
00:23:49,559 --> 00:23:58,799
 For example, containers did expect them, but I don't think I have used them ever back then

361
00:23:58,799 --> 00:24:01,599
 and now I'm using them constantly.

362
00:24:01,599 --> 00:24:09,240
 Like that's always the go-to way of running an application is to see if there's a well-maintained and well-built

363
00:24:09,240 --> 00:24:13,880
 container for it because it makes life so much easier

364
00:24:13,880 --> 00:24:14,559
 if there is.

365
00:24:17,319 --> 00:24:21,599
 Also, a lot of--

366
00:24:21,599 --> 00:24:29,240
 yeah, I always had the issue. The next car I didn't fully cover the security

367
00:24:29,240 --> 00:24:35,599
 requirements that I had for running and yeah running extra interesting it was my

368
00:24:35,599 --> 00:24:47,220
 own data mainly because I didn't only want to encrypt the data directory, but I did want to

369
00:24:47,220 --> 00:24:54,579
 encrypt the full disk and that was not supported in extra pile. And secondly,

370
00:24:54,579 --> 00:25:01,500
 because there you need to jump through some hoops to be able to to encrypt the

371
00:25:01,500 --> 00:25:05,000
 full disk and still have your server reboot

372
00:25:05,000 --> 00:25:08,039
 without being physically near it.

373
00:25:08,039 --> 00:25:10,640
 So there were some challenges there.

374
00:25:10,640 --> 00:25:15,640
 And when I took over maintainer ship of Next.py,

375
00:25:16,319 --> 00:25:19,720
 I was exploring and considering options

376
00:25:19,720 --> 00:25:24,559
 to bring the project forward on those levels

377
00:25:24,559 --> 00:25:28,160
 and implement them. But ultimately

378
00:25:28,160 --> 00:25:33,799
 noticed that there are some things that I could never solve within the current

379
00:25:33,799 --> 00:25:42,319
 architecture. And so I decided to start a new project that would have a slightly

380
00:25:42,319 --> 00:25:48,880
 different objective and a slightly different goal and also target audience,

381
00:25:50,680 --> 00:25:55,680
 but would be at least as easy to use hopefully,

382
00:25:57,960 --> 00:26:00,319
 but a lot more professional

383
00:26:01,759 --> 00:26:07,160
 and yeah, following industry best practices in the way it solves things and

384
00:26:07,160 --> 00:26:14,640
 that project is next-out atomic. So next-out atomic is also like next-out

385
00:26:14,640 --> 00:26:21,240
 by a project that tries to solve the administration overhead that you get

386
00:26:21,240 --> 00:26:26,160
 when running next-out. The whole operating system management,

387
00:26:28,400 --> 00:26:52,559
 service configuration, backups, disk management, of maintenance, like on my side.

388
00:26:53,599 --> 00:27:01,039
 That was one of the issues with an extra pie that it takes a lot of effort to maintain.

389
00:27:10,160 --> 00:27:21,920
 of effort to maintain because well one of the issues is that the project is written mostly in Bash so it's about I think I counted it once 17 000 lines of Bash code and Bash is really nice

390
00:27:21,920 --> 00:27:25,000
 for automating operating system tasks.

391
00:27:25,000 --> 00:27:28,319
 Don't get me wrong, it's a very nice tool for that,

392
00:27:28,319 --> 00:27:32,680
 but there's a point where it causes issues

393
00:27:32,680 --> 00:27:37,680
 because especially Bash doesn't give you

394
00:27:37,720 --> 00:27:42,720
 a lot of guarantees of the environment and surrounding it.

395
00:27:44,759 --> 00:27:48,559
 Like a Bash trip could run and you wouldn't

396
00:27:48,559 --> 00:27:55,680
 notice if the variables it expects from the environment are set or not if they

397
00:27:55,680 --> 00:28:08,079
 have the right format if they like it doesn't support data types for variables. Basically everything is a string of characters. And

398
00:28:09,680 --> 00:28:17,599
 these things are different in more complex programming languages and that gives you a lot of guarantees

399
00:28:17,599 --> 00:28:30,079
 to notice early if you made a mistake in your code. And that among other things caused next cloud

400
00:28:30,079 --> 00:28:38,400
 pyre releases to always be a lot of hassle and effort to test and ensure

401
00:28:38,400 --> 00:28:45,000
 that there are no errors and it still caused errors to be overlooked in releases.

402
00:28:45,500 --> 00:28:47,440
 And with the new architecture,

403
00:28:47,440 --> 00:28:51,619
 I hope to have a more robust set

404
00:28:51,619 --> 00:28:53,700
 that can be more easily tested

405
00:28:53,700 --> 00:28:58,700
 and also is less prone to error sources like this.

406
00:28:58,900 --> 00:29:01,460
 And thus causes me less work

407
00:29:01,460 --> 00:29:06,559
 so I can better sustain it, which has become difficult for an Excel

408
00:29:06,559 --> 00:29:12,880
 Pi. So basically when an Excel Pi was created there were not many options to

409
00:29:12,880 --> 00:29:17,440
 host NextCloud because it was one of the... it was the early days of NextCloud

410
00:29:17,440 --> 00:29:28,480
 right. So NextCloud Pi manages the whole next cloud installation, database installation, PHP installation itself.

411
00:29:28,480 --> 00:29:35,200
 It has scripts for that. They work, but they need to be maintained and that takes a lot of the work

412
00:29:37,359 --> 00:29:45,000
 in maintaining the project. However, nowadays these things are actually solved

413
00:29:45,000 --> 00:29:46,880
 by other projects.

414
00:29:46,880 --> 00:29:50,559
 And I don't see a lot of value to solve them again

415
00:29:50,559 --> 00:29:52,579
 in my own project.

416
00:29:52,579 --> 00:29:54,200
 So with next electronic,

417
00:29:54,200 --> 00:29:58,119
 I actually integrate next to the order one,

418
00:29:58,119 --> 00:29:59,920
 which is maybe I should explain that

419
00:29:59,920 --> 00:30:04,920
 it's the multi-container deployment

420
00:30:12,160 --> 00:30:20,920
 that is developed at NextCloud itself at the company. And I actually integrate this container setup into NextCloud Atomic and focus a lot more

421
00:30:20,920 --> 00:30:25,519
 on the operating system tasks that are not solved by an excellent all-in-one.

422
00:30:25,519 --> 00:30:30,519
 So the heavy lifting in running NextCloud itself

423
00:30:32,319 --> 00:30:34,039
 and its surrounding services,

424
00:30:34,039 --> 00:30:37,839
 which have also increased over the time,

425
00:30:37,839 --> 00:30:41,319
 like now a classic NextCloud installation

426
00:30:41,319 --> 00:30:46,920
 has I think five containers or five services, depending on whether or not

427
00:30:46,920 --> 00:30:49,599
 you're actually using containers.

428
00:30:49,599 --> 00:30:55,440
 Like you have an ex-cloud itself, you have a web server, you have a Redis, you have a

429
00:30:55,440 --> 00:31:05,960
 database, and you have a service for talk. You have the unified push service.

430
00:31:07,859 --> 00:31:11,019
 And I think you will also have,

431
00:31:11,019 --> 00:31:16,019
 yeah, likely also a call of error online for office editing

432
00:31:16,539 --> 00:31:18,579
 and the whiteboard.

433
00:31:18,579 --> 00:31:22,700
 So it's actually eight services that you have to run

434
00:31:22,700 --> 00:31:28,839
 while it has been three to four when exit PI was created.

435
00:31:28,839 --> 00:31:38,000
 And this service management and configuration is now solved pretty well by an exit audit

436
00:31:38,000 --> 00:31:45,000
 in one. And so I'm integrating that, I'm fronting it with my own reverse proxy.

437
00:31:47,480 --> 00:31:52,480
 I'm doing some of the things that could be solved

438
00:31:52,680 --> 00:31:54,240
 by an oil and one, for example,

439
00:31:54,240 --> 00:31:56,640
 certificate management, backup management,

440
00:31:57,599 --> 00:32:01,240
 because I have more options to do them

441
00:32:01,240 --> 00:32:03,960
 on the operating system level,

442
00:32:03,960 --> 00:32:09,000
 or need more flexibility in how they are done.

443
00:32:09,000 --> 00:32:12,440
 But mostly I rely on an extra Doran one.

444
00:32:12,440 --> 00:32:19,279
 And I think that way I can actually better provide the value that an extra atomic is

445
00:32:19,279 --> 00:32:29,599
 adding by providing a robust and secure system and like operating system and additional

446
00:32:29,599 --> 00:32:37,039
 features that I'm not provided by the next one. Next up I, one of the bigger

447
00:32:37,039 --> 00:32:42,880
 shortcomings is that the build system is not compatible with running containers

448
00:32:42,880 --> 00:32:46,319
 inside of Next.py. I have actually--

449
00:32:46,319 --> 00:32:48,519
 I had started to push in the direction,

450
00:32:48,519 --> 00:32:51,759
 but ultimately realized it's too complicated,

451
00:32:51,759 --> 00:32:58,599
 because I basically had to rewrite the whole built system.

452
00:32:58,599 --> 00:33:02,119
 Currently, the built system installs NextCloud

453
00:33:02,119 --> 00:33:06,460
 and verifies certain things of the installation that they

454
00:33:06,460 --> 00:33:14,299
 worked during installation. And with containers, like the installation process

455
00:33:14,299 --> 00:33:20,460
 itself is running inside of containers and it's very hard to run containers

456
00:33:20,460 --> 00:33:30,200
 reliably inside of containers and expect them to be behave the same way as if they are not running instead of containers.

457
00:33:30,400 --> 00:33:36,000
 It's possible, but the engineering effort isn't worth it, in my opinion,

458
00:33:36,200 --> 00:33:43,200
 because you always would risk that in the end, you may

459
00:33:43,400 --> 00:33:45,000
 may be fixing things in containers

460
00:33:45,160 --> 00:33:46,880
 that are not fixed in the final system

461
00:33:46,880 --> 00:33:49,160
 and thus be overlooking errors.

462
00:33:51,359 --> 00:33:55,160
 And that's one of the shortcomings.

463
00:33:55,160 --> 00:33:58,880
 So I had difficulties to run something like

464
00:33:58,880 --> 00:34:03,880
 Nix.0 and one, or even things like the whiteboard itself

465
00:34:04,000 --> 00:34:06,839
 or even things like the whiteboard itself

466
00:34:09,760 --> 00:34:12,119
 inside of Nexcloud Pi as part of the, because the build process doesn't allow for it.

467
00:34:13,440 --> 00:34:17,840
 The second thing is one of the big pain points

468
00:34:17,840 --> 00:34:22,840
 for Nexcloud Pi is that it is running

469
00:34:22,960 --> 00:34:24,840
 a traditional operating system

470
00:34:28,079 --> 00:34:33,039
 with traditional update mechanisms, which next little atomic doesn't. I'll come to that in a second. And that means that

471
00:34:35,679 --> 00:34:49,199
 both the installation process and the update process is procedural. It runs some scripts, it applies them, it does some modifications to the system,

472
00:34:49,199 --> 00:34:51,820
 and hopefully it succeeds.

473
00:34:51,820 --> 00:34:58,420
 And if it doesn't, you will have to fix that to be able to go forward.

474
00:34:58,420 --> 00:35:07,000
 And that results in every system being slightly different. Because even if the script is the same,

475
00:35:07,000 --> 00:35:10,000
 the conditions in which it runs might not be.

476
00:35:10,000 --> 00:35:14,000
 For example, you have different features enabled.

477
00:35:14,000 --> 00:35:18,000
 You have a different date,

478
00:35:18,000 --> 00:35:21,000
 and you're using external packet repositories,

479
00:35:21,000 --> 00:35:24,000
 like the official Debian packages, for example.

480
00:35:24,000 --> 00:35:25,760
 And they have different versions

481
00:35:25,760 --> 00:35:31,360
 of packages at different dates. So there might be conflicts at one date and not another,

482
00:35:31,360 --> 00:35:38,480
 and thus your upgrade process might fail after some time without changing the process itself

483
00:35:38,480 --> 00:35:55,239
 and so on. These issues always existed for NextLoud Pie And next.atomic is using a separate approach in that it provides

484
00:35:55,239 --> 00:36:08,760
 the full disk image as is. And you download the final disk image, swap it out, like swap the previous disk image

485
00:36:08,760 --> 00:36:13,480
 with the new one and then you have the new version and if something goes wrong, you're

486
00:36:13,480 --> 00:36:32,000
 just stuck with the old version but not with a broken system in an intermediate state. And that also allows me to actually test everything just as you receive it as

487
00:36:32,000 --> 00:36:38,119
 next cloud atomic user and not have two processes that are both need to test that result in

488
00:36:38,119 --> 00:36:47,199
 different results and also result in every system even on the same version to be slightly different. So things can break in different ways.

489
00:36:48,699 --> 00:36:56,000
 And yeah, that was really something very painful with maintaining next

490
00:36:56,000 --> 00:37:01,400
 our pie because errors come up in ways that you cannot prevent as a maintainer.

491
00:37:01,400 --> 00:37:05,679
 >> Next Cloud Atomic itself is about immutability.

492
00:37:05,679 --> 00:37:08,920
 And that raises a question that's come in from listeners

493
00:37:08,920 --> 00:37:11,679
 wondering why you wouldn't just use something like say,

494
00:37:11,679 --> 00:37:16,320
 fedora silver blue or NixOS immutable operating systems

495
00:37:16,320 --> 00:37:18,840
 of Linux as your base.

496
00:37:20,639 --> 00:37:21,480
 - Yeah, definitely.

497
00:37:21,480 --> 00:37:26,820
 So actually I was considering some of these options.

498
00:37:26,820 --> 00:37:29,239
 Silver Blue is not a great much because it's

499
00:37:29,239 --> 00:37:33,400
 a desktop operation operating system with desktop manager

500
00:37:33,400 --> 00:37:35,519
 and so on included.

501
00:37:35,519 --> 00:37:41,639
 But there are other specifically other operating systems

502
00:37:41,639 --> 00:37:48,400
 specifically designed for that, like Fedora CoreOS for VMs or Fedora IoT

503
00:37:48,400 --> 00:37:51,719
 for basically IoT devices.

504
00:37:53,199 --> 00:37:56,760
 That actually look like they are designed for the job.

505
00:37:56,760 --> 00:37:59,679
 Also, there's the EUPLU,

506
00:37:59,679 --> 00:38:04,440
 a universal PLU project that offers a build framework

507
00:38:04,440 --> 00:38:10,559
 for building systems based on the

508
00:38:10,559 --> 00:38:34,559
 rat head atomic architecture for specific use cases and so on. is of course Nixos which I have also looked at then there is a yeah then

509
00:38:34,559 --> 00:38:45,000
 there are options from openSuser as well I forgot what's the name of the immutable server variant,

510
00:38:46,440 --> 00:38:48,440
 unfortunately, but yeah,

511
00:38:49,599 --> 00:38:52,420
 micro OS is the one that I was going for.

512
00:38:53,840 --> 00:38:56,199
 Yeah, open source of micro OS.

513
00:38:56,199 --> 00:38:57,539
 So that's also there.

514
00:38:59,039 --> 00:39:02,559
 Yeah, I have been considering many of these options.

515
00:39:02,559 --> 00:39:06,559
 I didn't consider some of them, especially BootC, which is

516
00:39:06,559 --> 00:39:13,280
 the basis for universal blue, for example, because when I started, it wasn't yet really available.

517
00:39:16,159 --> 00:39:28,760
 However, originally, I actually started with an entirely separate project or build system for building acceleratomic.

518
00:39:28,760 --> 00:39:33,239
 And I would actually like to mention that because I think it looks, it's really cool

519
00:39:33,239 --> 00:39:40,800
 and maybe it can be useful for some of your viewers or listeners to be more specific.

520
00:39:40,800 --> 00:39:48,699
 It's called skiff OS and it is basically a build framework around build route.

521
00:39:48,699 --> 00:40:11,400
 Build route being a tool for building minimal Linux systems from scratch for especially especially IoT and embedded devices. And that's really nice if you need something

522
00:40:11,400 --> 00:40:15,199
 where you want to be in control of every aspect.

523
00:40:15,199 --> 00:40:17,360
 You will be compiling a lot of things yourself,

524
00:40:17,360 --> 00:40:21,519
 but the build system takes care of compiling it.

525
00:40:21,519 --> 00:40:24,000
 So it's not difficult to do that.

526
00:40:24,000 --> 00:40:27,280
 It just takes some computation time. But you can

527
00:40:27,280 --> 00:40:35,199
 just compile all of the packages that you need specifically for your device and then you have a

528
00:40:35,199 --> 00:40:49,760
 ready image and skiffle as ads on top atomic updates and the ability to have and yeah it gives you a slightly easier configuration system and also

529
00:40:51,440 --> 00:40:57,760
 focuses on systems that are minimal but able to run containers. That was the original idea

530
00:40:57,760 --> 00:41:04,480
 which I wanted to use for next to atomic but ultimately I noticed that this build system

531
00:41:07,119 --> 00:41:08,719
 But ultimately, I noticed that the split system had a few issues for my use case.

532
00:41:14,159 --> 00:41:18,719
 One of them is it took too long to get updates, especially security updates. With running NextCloud, you have a service that's exposed to the internet.

533
00:41:18,719 --> 00:41:26,920
 So you, or at least many people will, and therefore, you need to have an operating system

534
00:41:26,920 --> 00:41:36,000
 that provides you with security updates very, very early.

535
00:41:36,000 --> 00:41:39,000
 So you reduce any issues.

536
00:41:39,000 --> 00:41:42,880
 Also, things-- a lot of security related features

537
00:41:42,880 --> 00:41:45,840
 were not the biggest focus of SK4S.

538
00:41:45,840 --> 00:41:55,440
 For example, with an exotic atomic, I'm supporting TPM based encryption for both disks and all

539
00:41:55,440 --> 00:41:59,480
 sorts of credentials that are used inside of the operating system, like for example,

540
00:41:59,480 --> 00:42:08,639
 your database password and so on and also for and also secure boot so images are signed by me

541
00:42:08,639 --> 00:42:19,840
 and not only images but also yeah something I will get to later that allows

542
00:42:19,840 --> 00:42:28,639
 me to update only parts of the operating system in an atomic fashion.

543
00:42:28,639 --> 00:42:34,039
 So these features were not well supported by Biltrude and therefore also not by Skiffel

544
00:42:34,039 --> 00:42:42,280
 as at least not in a manner where I wouldn't have to do a lot of work to bring it forward

545
00:42:42,280 --> 00:42:47,920
 and to make it work. And that's when I was looking for other solutions.

546
00:42:47,920 --> 00:42:50,420
 And I found M Cozy,

547
00:42:51,559 --> 00:42:55,199
 which is a build system provided by

548
00:42:55,199 --> 00:42:58,679
 the people behind system D.

549
00:42:58,679 --> 00:43:03,039
 And it's for example, also used for normal S,

550
00:43:03,039 --> 00:43:04,880
 if you know that,

551
00:43:04,880 --> 00:43:06,880
 I know you have recently covered the

552
00:43:06,880 --> 00:43:18,000
 KDE distro. But some time ago there was a, I think normal S existed for a while, but

553
00:43:18,000 --> 00:43:25,000
 now they have shifted their architecture to use MCOSI and an atomic way of upgrading.

554
00:43:27,519 --> 00:43:31,559
 And MCOSI allows me to basically take

555
00:43:31,559 --> 00:43:34,719
 any existing system image.

556
00:43:36,280 --> 00:43:38,039
 And as a matter of fact, I'm using

557
00:43:38,039 --> 00:43:43,039
 a standard Debian Trixie base right now

558
00:43:43,599 --> 00:43:48,619
 and run operations on it and create an image.

559
00:43:52,480 --> 00:43:56,460
 And in my case, I'm creating an immutable image,

560
00:43:56,460 --> 00:44:01,460
 which means it's basically you have a Debian system

561
00:44:01,619 --> 00:44:03,599
 but you don't have the package manager,

562
00:44:03,599 --> 00:44:08,400
 but I as the developer or maintainer

563
00:44:09,199 --> 00:44:18,559
 am using the standard Debian package system to install stuff and so the nice thing about

564
00:44:18,559 --> 00:44:28,539
 M cosy in comparison to booty or nixos is that I'm very flexible. I could use a standard Debian

565
00:44:28,539 --> 00:44:35,179
 base. I could also and that's what I am planning to do to support ambient devices

566
00:44:35,179 --> 00:44:47,480
 to support, yeah, single-world computers is I could also use an ambient base and use the ambient tools to install stuff

567
00:44:47,480 --> 00:44:51,840
 and then freeze it into an atomic image

568
00:44:51,840 --> 00:44:53,440
 and push it to devices.

569
00:44:55,159 --> 00:44:59,659
 And in my opinion, that gives me the best of both worlds.

570
00:44:59,659 --> 00:45:04,480
 I have the ability to create this minimal operating system

571
00:45:04,480 --> 00:45:06,000
 that only has what I really need,

572
00:45:06,000 --> 00:45:12,159
 only has the security related stuff. Therefore, I can afford to

573
00:45:14,079 --> 00:45:30,559
 I will have fewer critical updates because there's just fewer stuff on it. I have a lower attack surface and at the same time be flexible in the base

574
00:45:30,559 --> 00:45:36,400
 technology that I'm using. I'm not building my own operating system in terms of building

575
00:45:37,920 --> 00:45:44,800
 everything that makes an operating system. I'm just customizing my own operating system from existing

576
00:45:46,960 --> 00:45:48,000
 operating system, I'm just customizing my own operating system from existing base lines.

577
00:45:54,880 --> 00:46:11,519
 Could you talk a bit about the upgrade process and how that will be different for you as much as the user within Atomic? Next slide pipe usually an update would mean I would be adjusting the scripts that make next log pi next log pi

578
00:46:11,519 --> 00:46:20,679
 that automate everything. Then I would define how those could be tested. I would test them

579
00:46:20,679 --> 00:46:25,480
 manually, then I would run my pipeline to generate some images, then I would run my pipeline

580
00:46:25,480 --> 00:46:28,760
 to generate some images, then I would ask people

581
00:46:28,760 --> 00:46:33,119
 in the community to test those images on the devices

582
00:46:33,119 --> 00:46:36,159
 or environments where they are running an x.py

583
00:46:36,159 --> 00:46:38,800
 and get feedback.

584
00:46:38,800 --> 00:46:44,039
 And basically, when you install the update as an x.py user,

585
00:46:44,039 --> 00:46:47,000
 you would download the latest version of the scripts.

586
00:46:47,000 --> 00:46:54,000
 Then you would run all of the update scripts that would apply stuff in your operating system.

587
00:46:54,000 --> 00:47:04,000
 For example, exchange some scripts, exchange some config, replace something inside of a config and so on.

588
00:47:04,000 --> 00:47:09,000
 replace something inside of a config and so on. And then you would be on the latest version.

589
00:47:09,000 --> 00:47:12,000
 With Next-Out atomic, it's different.

590
00:47:12,000 --> 00:47:16,000
 You have your system installed.

591
00:47:16,000 --> 00:47:21,000
 You have two partitions that are used for the

592
00:47:21,000 --> 00:47:25,000
 root image, for the root operating system,

593
00:47:25,280 --> 00:47:28,920
 and then you have something called system extensions,

594
00:47:28,920 --> 00:47:31,760
 which is a feature by system D,

595
00:47:33,320 --> 00:47:38,320
 that can be used as an overlay over your file system,

596
00:47:38,639 --> 00:47:41,320
 very similar to how containers work,

597
00:47:41,320 --> 00:47:44,880
 and they are used for individual services

598
00:47:48,159 --> 00:47:58,519
 or used for the whole operating system. And when you do updates, then the update checks if there is a new image, downloads it, applies

599
00:47:58,519 --> 00:48:00,360
 it to the other partition.

600
00:48:00,360 --> 00:48:05,119
 Like if you're running partition A right now, I use this from partition A right now,

601
00:48:05,119 --> 00:48:08,480
 then it would write the new image to partition B,

602
00:48:09,280 --> 00:48:13,840
 and then it would do a reboot or a software reboot to partition B.

603
00:48:14,880 --> 00:48:19,519
 And if the system comes up successfully, then it would stay there

604
00:48:19,519 --> 00:48:22,079
 and mark the new partition as successful.

605
00:48:22,079 --> 00:48:25,760
 If it doesn't, then it would roll back to the old partition.

606
00:48:26,480 --> 00:48:34,239
 That's the general process. And that being said, that has one drawback

607
00:48:35,760 --> 00:48:52,320
 that your server needs to restart now and then. However, there are two things how I'm addressing that. One is I don't always update the whole system, but I use the already mentioned system extensions.

608
00:48:52,320 --> 00:49:01,840
 So basically I have system extensions that overlay your file system and it just appears

609
00:49:01,840 --> 00:49:05,440
 to your operating system like there are files there that are

610
00:49:05,440 --> 00:49:13,280
 not actually in the root image but they are in the system extension. And then I can download

611
00:49:13,280 --> 00:49:19,119
 a new system extension, swap that out, just restart all of the services that are affected by that

612
00:49:31,000 --> 00:49:39,559
 avoid a full reboot. That's one thing. The second thing is I will be looking into soft reboots. So system D allows you to actually mount the new root file system

613
00:49:39,559 --> 00:49:49,119
 to a temporary directory, switch over through that, and then restart and services which are marked as such

614
00:49:49,119 --> 00:49:50,719
 do not need to be restarted.

615
00:49:50,719 --> 00:49:55,360
 They can survive basically a kernel replacement.

616
00:49:55,360 --> 00:49:59,199
 And that's something that I will also be working on,

617
00:49:59,199 --> 00:50:01,159
 but that's not yet done.

618
00:50:01,159 --> 00:50:03,519
 It's only planned so far.

619
00:50:03,519 --> 00:50:10,000
 And maybe one third thing is relying on TPM based encryption,

620
00:50:10,000 --> 00:50:19,199
 which means your server can actually reboot if it supports TPM without user interaction. So you

621
00:50:19,199 --> 00:50:28,639
 can have scheduled reboots. You will be able to schedule when they happen and if they

622
00:50:28,639 --> 00:50:36,519
 happen at night you won't probably notice it and I expect root image updates to

623
00:50:36,519 --> 00:50:42,519
 not be more frequently in once per week. The process behind it is basically I

624
00:50:42,519 --> 00:50:45,000
 will have a build server

625
00:50:45,519 --> 00:50:50,519
 which regularly builds new images for both system extensions

626
00:50:50,800 --> 00:50:55,800
 and for the root image and then tests them automatically

627
00:50:55,800 --> 00:50:57,239
 and provides them.

628
00:50:57,239 --> 00:51:00,760
 And that's what users will receive.

629
00:51:02,840 --> 00:51:07,519
 And then download it, apply it and then switch over. So that will be the process

630
00:51:07,519 --> 00:51:17,119
 with an extra atomic as opposed to I write a lot of scripts, test them superficially

631
00:51:17,119 --> 00:51:25,000
 in an automated fashion and then very extensively manually and push them out after that.

632
00:51:25,420 --> 00:51:28,559
 - And could you talk a little bit about how this will impact

633
00:51:28,559 --> 00:51:32,000
 the upgrading updating of NextCloud itself

634
00:51:32,000 --> 00:51:34,880
 on the user facing side?

635
00:51:34,880 --> 00:51:39,199
 Example with the new version, 30 plus coming out.

636
00:51:39,199 --> 00:51:41,280
 - So that's also one of the nice things

637
00:51:41,280 --> 00:51:43,320
 of wrapping Next.org in one.

638
00:51:43,320 --> 00:51:49,239
 Basically right now when I support a new next.org version,

639
00:51:49,239 --> 00:51:54,079
 like I'm, for example, working on just now with Nixert32.

640
00:51:54,079 --> 00:51:59,679
 And Nixert32 with an Nixert file is--

641
00:51:59,679 --> 00:52:03,920
 I have to check the release notes.

642
00:52:03,920 --> 00:52:09,519
 And I have to check the administrator hints and then I have to

643
00:52:09,519 --> 00:52:16,800
 try it out and see if anything breaks, some things I miss things that break and with wrapping

644
00:52:16,800 --> 00:52:29,920
 extra all in one, that work is mostly done by the people over at next.all. And all I have to do is to check their releases,

645
00:52:29,920 --> 00:52:37,719
 which will, because they are using containers and the general setup of these containers is always very similar,

646
00:52:37,719 --> 00:52:48,000
 they will have breaking changes every now and then, but it will affect me a lot less than setting up next cloud completely in my system.

647
00:52:49,000 --> 00:52:52,000
 And basically what I'm doing with NxS1 in one is,

648
00:52:52,000 --> 00:52:58,000
 that's also maybe an interesting detail.

649
00:52:58,000 --> 00:53:09,480
 NxS1 in one in NxS atomic is run using Podman and is running not as root but as its own user, only having

650
00:53:09,480 --> 00:53:18,320
 access to the file system in the places where the actual files are located that are relevant

651
00:53:18,320 --> 00:53:19,320
 for next slot.

652
00:53:19,320 --> 00:53:23,800
 So your data directory for example.

653
00:53:23,800 --> 00:53:27,360
 And so it's next to all in-all-in-one is already running

654
00:53:27,360 --> 00:53:29,840
 very sandboxed, and then on top of that,

655
00:53:29,840 --> 00:53:32,079
 you obviously have to containerization.

656
00:53:34,039 --> 00:53:38,000
 And that means, next-order-all-in-one is very,

657
00:53:39,000 --> 00:53:42,239
 very much separate from the system.

658
00:53:42,239 --> 00:53:51,000
 And so I don't expect to have to adjust the system much to cater for an excellent only one.

659
00:53:52,000 --> 00:53:55,000
 Other than its own configuration.

660
00:53:56,000 --> 00:54:06,239
 And that can be tested a lot more easily than if everything can affect everything like it is the case with an XOT pi. - And are any of these changes being upstreamed

661
00:54:06,239 --> 00:54:08,059
 into all in one?

662
00:54:08,059 --> 00:54:10,360
 - Some actually are already,

663
00:54:10,360 --> 00:54:13,679
 but mostly I'm focusing not on changes

664
00:54:13,679 --> 00:54:15,380
 to the containers themselves,

665
00:54:16,800 --> 00:54:21,800
 but I will, yeah, I will contribute things

666
00:54:22,280 --> 00:54:24,760
 that make compatibility with Potman,

667
00:54:24,760 --> 00:54:29,599
 more difficult, for example, because the upstream,

668
00:54:29,599 --> 00:54:31,400
 they are mostly using Docker.

669
00:54:31,400 --> 00:54:34,679
 The reason why I'm using Portman is because it integrates

670
00:54:34,679 --> 00:54:42,320
 a lot better with system D. And it has some security benefits.

671
00:54:42,320 --> 00:54:47,599
 With Docker, you have to imagine that there is one central Docker process

672
00:54:47,599 --> 00:54:57,119
 that runs all containers. And when you run a new container, you just the command you

673
00:54:57,119 --> 00:55:08,000
 execute just talks to the central process and test the central Docker process to create a new process for the new container.

674
00:55:08,000 --> 00:55:12,000
 And so all containers are children to that one process.

675
00:55:12,000 --> 00:55:19,000
 And that means that some Linux kernel sandboxing features don't really work with that,

676
00:55:19,000 --> 00:55:25,000
 because when you define, basically,

677
00:55:25,880 --> 00:55:28,400
 in Nukes, there's a concept of control groups

678
00:55:28,400 --> 00:55:31,920
 and a process name spaces that would apply

679
00:55:31,920 --> 00:55:34,659
 to the process that you execute,

680
00:55:34,659 --> 00:55:38,460
 but the process you execute is just calling an API

681
00:55:38,460 --> 00:55:43,460
 and then waiting for updates from the Docker process,

682
00:55:49,159 --> 00:55:50,159
 but the actual container creation happens somewhere else.

683
00:55:50,159 --> 00:55:56,800
 So when I configure sandboxing and security restrictions for system D services that run

684
00:55:56,800 --> 00:56:07,280
 Docker containers, they don't work because everything is in the same control group in the same process namespace being attached

685
00:56:07,280 --> 00:56:11,039
 to the central Docker process or Docker daemon.

686
00:56:11,039 --> 00:56:14,679
 And that's the reason why I decided to go with partner.

687
00:56:14,679 --> 00:56:17,840
 And that's one of the things that I will keep contributing

688
00:56:17,840 --> 00:56:20,800
 if there are issues with partner support,

689
00:56:20,800 --> 00:56:25,000
 then I'll contribute those things back to all in one.

690
00:56:25,679 --> 00:56:30,760
 Other things are, yeah, I'm using all in one

691
00:56:30,760 --> 00:56:33,639
 a bit special, I have more,

692
00:56:33,639 --> 00:56:38,639
 I'm exercising more control over the specific configuration.

693
00:56:39,000 --> 00:56:40,840
 I'm not using the master container,

694
00:56:40,840 --> 00:56:44,360
 but I'm using the compose file that's provided

695
00:56:44,360 --> 00:56:46,719
 and actually doing slide

696
00:56:46,719 --> 00:56:53,239
 adjustments to that and I'm using mostly sockets to communicate between

697
00:56:53,239 --> 00:57:01,840
 services instead of local ports because they have a permission system built in

698
00:57:01,840 --> 00:57:05,579
 because they're using file system permissions basically.

699
00:57:05,579 --> 00:57:11,179
 And yeah, that's also something I will support

700
00:57:11,179 --> 00:57:13,980
 back if it's not supported yet.

701
00:57:13,980 --> 00:57:15,260
 Small things like that.

702
00:57:15,260 --> 00:57:19,099
 But mostly I'm not touching all in one match.

703
00:57:19,099 --> 00:57:24,099
 I'm just using it as is and building the system around it.

704
00:57:30,960 --> 00:57:31,440
 - When you say building around it, does that also include the apps themselves?

705
00:57:35,960 --> 00:57:39,559
 For example, things like next cloud bookmarks and next cloud secrets that you would otherwise install in addition, you know, on the running system.

706
00:57:39,800 --> 00:57:42,559
 Will that be managed as well?

707
00:57:42,760 --> 00:57:43,639
 Likely.

708
00:57:43,639 --> 00:57:44,199
 Yes.

709
00:57:42,800 --> 00:57:47,800
 that be managed as well? - Likely yes, although I have to see what cases those are

710
00:57:47,800 --> 00:57:52,800
 and they will likely have to be addressed one by one.

711
00:57:53,199 --> 00:57:56,480
 I mean, generally installing Nectored Apps

712
00:57:56,480 --> 00:57:59,539
 is possible in Excel to all in one, right?

713
00:57:59,539 --> 00:58:01,639
 So you can just install them

714
00:58:01,639 --> 00:58:09,760
 from the next-world administration interface as fast as fast My concern is in regards to the update breaking the next cloud apps themselves

715
00:58:09,760 --> 00:58:16,400
 right it's people who run a lot of apps and then when the major next cloud version update happens that

716
00:58:16,639 --> 00:58:19,480
 Breaks those other applications that they're using

717
00:58:20,880 --> 00:58:22,880
 That's something

718
00:58:23,679 --> 00:58:29,320
 Where I will definitely spend some time on just to, I mean usually

719
00:58:29,320 --> 00:58:37,800
 the next cloud update from the web interface checks, I think whether there are apps which

720
00:58:37,800 --> 00:58:46,000
 are incompatible and disabled system, which is not ideal because you can't easily roll back without applying a backup.

721
00:58:46,000 --> 00:58:55,000
 And I see if I can find a way around to prevent updates that are blocked by incompatible apps

722
00:58:55,000 --> 00:58:57,000
 and notifies the administrator instead.

723
00:58:57,000 --> 00:59:04,000
 Basically, the update process itself, however, is provided by Nextet or in one.

724
00:59:04,000 --> 00:59:08,159
 It is just triggered by next cloud atomic.

725
00:59:08,159 --> 00:59:12,400
 We had a user question also on whether this will make it

726
00:59:12,400 --> 00:59:15,960
 possible for them to use a magic.

727
00:59:15,960 --> 00:59:18,800
 For example, something installed at the operating system

728
00:59:18,800 --> 00:59:21,039
 level now by default.

729
00:59:21,039 --> 00:59:23,880
 This is the kind of thing that's not supported in Next Cloud

730
00:59:23,880 --> 00:59:25,280
 Pi currently.

731
00:59:25,280 --> 00:59:31,440
 There are two parts to this answer. So the first part is that, or maybe I should take

732
00:59:31,440 --> 00:59:38,639
 a second to explain the issue with the magic. Basically, a magic has been always plagued

733
00:59:38,639 --> 00:59:48,320
 a bit by security issues if you have untrusted images as input for it.

734
00:59:48,320 --> 00:59:54,320
 Because image formats can be very complex

735
00:59:54,320 --> 00:59:58,039
 and can allow you to actually do remote code

736
00:59:58,039 --> 00:59:59,440
 execution in your server.

737
00:59:59,440 --> 01:00:10,000
 Like you can embed scripts in some images that can cause someone to take over your server

738
01:00:10,000 --> 01:00:18,639
 if they are executed by an Emagic project with the appropriate permissions.

739
01:00:18,639 --> 01:00:27,639
 Next code, all in one, actually has a solution to that. And that is not using a magic for these things,

740
01:00:27,639 --> 01:00:32,360
 but instead using a container

741
01:00:32,360 --> 01:00:35,940
 that provides a API which does the same thing.

742
01:00:36,840 --> 01:00:40,079
 I think it's called imagine,

743
01:00:41,039 --> 01:00:44,599
 I'm not 100% sure right now,

744
01:00:44,599 --> 01:00:47,679
 but yeah, it's included in next-order all-in-one and it solves

745
01:00:47,679 --> 01:00:54,159
 this issue by relying on a different system than a metric.

746
01:00:54,159 --> 01:00:59,559
 Emetric has still a use case for theming in next cloud.

747
01:00:59,559 --> 01:01:06,840
 However, that is not critical because when you're doing theming, it's usually the next

748
01:01:06,840 --> 01:01:13,119
 cloud instance administrator that chooses the pictures that are being used.

749
01:01:13,119 --> 01:01:23,880
 So there is no risk of an attacker like uploading an image into a public share or something

750
01:01:23,880 --> 01:01:25,280
 that would then be processed by

751
01:01:25,280 --> 01:01:29,559
 a magic to create a thumbnail and had a risk of remote code

752
01:01:29,559 --> 01:01:34,460
 execution. And this the letter use case would be handed by

753
01:01:34,460 --> 01:01:38,239
 Imagine, both this container I hope it's called Imagine, should

754
01:01:38,239 --> 01:01:49,139
 look it up. Yeah, but generally the imagine would then only be used for internal purposes and then it is fine to

755
01:01:49,139 --> 01:01:50,380
 use.

756
01:01:50,380 --> 01:01:57,980
 What about those enthusiastic users who don't want to wait for you to test things and they

757
01:01:57,980 --> 01:02:00,000
 want to make their own changes?

758
01:02:00,000 --> 01:02:03,219
 Say changes to the containers or add additional containers.

759
01:02:03,219 --> 01:02:05,679
 Say plug in something like Jellyfin as a

760
01:02:05,679 --> 01:02:11,519
 media streaming service to watch their next cloud videos and make other changes without waiting

761
01:02:11,519 --> 01:02:15,519
 for you to test them in any way. How will that be supported?

762
01:02:17,679 --> 01:02:24,639
 Yeah, so that's really interesting and I've thought about that a lot. One of the main

763
01:02:30,079 --> 01:02:46,539
 and I've thought about that a lot. One of the main focuses of an extra atomic is to provide as little foot guns as possible. So it's in a sense both more tinker-friendly than extra pie and lasting differently. Because it you can be more

764
01:02:46,539 --> 01:02:49,960
 certain that when you do some changes, you

765
01:02:49,960 --> 01:02:53,860
 won't break anything. Because the things

766
01:02:53,860 --> 01:02:56,820
 that would break stuff, if you change them,

767
01:02:57,139 --> 01:03:01,340
 are not changeable. However, it also

768
01:03:03,739 --> 01:03:05,000
 restricts you in the ways you can change things

769
01:03:07,000 --> 01:03:12,000
 because you have to follow the system philosophy

770
01:03:13,159 --> 01:03:15,679
 and architecture in how things are managed.

771
01:03:15,679 --> 01:03:20,239
 And basically every service is running containers.

772
01:03:20,239 --> 01:03:23,719
 So it's hard to do anything without knowing

773
01:03:23,719 --> 01:03:26,000
 and understanding containers

774
01:03:27,000 --> 01:03:29,000
 and also

775
01:03:29,699 --> 01:03:31,699
 It's not meant to

776
01:03:32,699 --> 01:03:37,480
 Yeah, manually change things around in the operating system. The same applies to Nectl

777
01:03:37,480 --> 01:03:42,440
 By the way, but of course people do it all the way and that's a very valid use case

778
01:03:42,679 --> 01:03:49,360
 It's just one that also meant, okay, but you should only do it

779
01:03:49,360 --> 01:03:59,280
 if you're able to help yourself if you break something. With Next.atomic, I have one feature

780
01:03:59,280 --> 01:04:07,679
 that would cover this on my wishlist, but it's on the wishlist because I first want to focus on providing a stable

781
01:04:07,679 --> 01:04:15,360
 and working system that includes next cloud and everything that's needed to run that.

782
01:04:15,360 --> 01:04:28,480
 And after that, I will look into this. So what is this about? Basically, I would love to be able to provide containerized environments that are mutable,

783
01:04:28,480 --> 01:04:34,480
 where users can do whatever they want, where they can choose to expose specific directories

784
01:04:34,480 --> 01:04:47,800
 from the host and have it run their other services on there. Those would be likely inks containers.

785
01:04:49,239 --> 01:04:54,239
 So inks is a container format that's more

786
01:04:54,880 --> 01:04:58,400
 meant to run a whole operating system in a container

787
01:04:58,400 --> 01:05:00,159
 as opposed to Docker containers,

788
01:05:00,159 --> 01:05:04,119
 which are meant to run single applications

789
01:05:04,119 --> 01:05:05,000
 inside a container.

790
01:05:05,760 --> 01:05:09,099
 And those containers could then be

791
01:05:11,699 --> 01:05:14,719
 any distribution you like, basically.

792
01:05:14,719 --> 01:05:16,920
 They could be a Debian system.

793
01:05:16,920 --> 01:05:19,360
 They could be a Fedora system.

794
01:05:19,360 --> 01:05:22,440
 They could be open SUSO or whatever.

795
01:05:22,440 --> 01:05:24,920
 And you could install stuff and manage stuff there,

796
01:05:24,920 --> 01:05:31,639
 basically similar to how Proxmox containers work, if you will. So that

797
01:05:31,639 --> 01:05:36,280
 would be something I would really like but it's a it's only wish list right now.

798
01:05:36,280 --> 01:05:45,159
 And I think if I managed to do that that will also cater for the Tinkler use cases,

799
01:05:49,239 --> 01:05:52,119
 while still not being in conflict with the stability of the base system

800
01:05:52,119 --> 01:05:55,440
 and the next cloud installation and services.

801
01:05:55,440 --> 01:05:58,679
 - So if a user did an update

802
01:05:58,679 --> 01:06:02,480
 and they ran into some kind of issue,

803
01:06:02,480 --> 01:06:04,400
 what would they do?

804
01:06:04,400 --> 01:06:08,559
 And how is that different from next cloud pie

805
01:06:08,559 --> 01:06:16,440
 currently, especially in regards to that classically untested functionality you sometimes find

806
01:06:16,440 --> 01:06:19,960
 in next cloud, right, where you're like, Oh, here's something that's untested, I can click

807
01:06:19,960 --> 01:06:28,039
 and enable it. and I will. I will try to make that not easy to do.

808
01:06:28,079 --> 01:06:32,400
 So if you do it, then you know what you're doing.

809
01:06:32,679 --> 01:06:38,159
 Basically, basically my goal as maintainer is always to

810
01:06:39,199 --> 01:06:43,360
 protect users from making uninformed decisions.

811
01:06:44,880 --> 01:06:50,000
 I'm totally fine and I encourage you to use your system like you want.

812
01:06:50,000 --> 01:06:58,000
 But I want to make sure that you know the implications when you're doing it.

813
01:06:58,000 --> 01:07:08,760
 And with Nexide Atomic, it will be harder to do that kind of thing but it will be possible.

814
01:07:08,760 --> 01:07:17,760
 It will probably involve something like adding your own system extension which can overlay

815
01:07:17,760 --> 01:07:21,639
 files if you want to do changes to the basis.

816
01:07:21,639 --> 01:07:22,639
 So that's possible.

817
01:07:22,639 --> 01:07:25,280
 It's just not as straightforward as editing

818
01:07:25,280 --> 01:07:32,360
 a file. And the idea is that this tells you when you try to edit a file in your, like,

819
01:07:32,360 --> 01:07:48,000
 let's say, user bin directory, then that being read only will tell you, okay, that's not how I am supposed to interact with the system.

820
01:07:48,000 --> 01:08:08,760
 And then you will use a search engine and find a documentation entry where there's described how you can do it in a way that is easy to undo and still gives you a warning that this might

821
01:08:08,760 --> 01:08:13,380
 break things in unexpected ways because it's not how the system is meant to be

822
01:08:13,380 --> 01:08:19,939
 and it's not tested. So that's for general system modification. The other

823
01:08:19,939 --> 01:08:26,159
 thing is regarding NextCloud, you do have access to the next cloud installation

824
01:08:26,159 --> 01:08:28,439
 and data directory.

825
01:08:28,439 --> 01:08:30,539
 You can do whatever you want there.

826
01:08:30,539 --> 01:08:32,399
 You can use the web interface.

827
01:08:32,399 --> 01:08:38,439
 If something breaks, you will, the worst case should always be that you have to rely on

828
01:08:38,439 --> 01:08:39,920
 your backups.

829
01:08:39,920 --> 01:08:45,000
 And in the next time, I will make, I will, I will make the warnings

830
01:08:47,239 --> 01:08:49,840
 if you don't have backups a bit more present

831
01:08:49,840 --> 01:08:51,680
 than it was a next-up file.

832
01:08:51,680 --> 01:08:55,279
 And I will actually encourage you to set up

833
01:08:55,279 --> 01:08:57,359
 backups during the installation process

834
01:09:00,640 --> 01:09:08,000
 or show a warning that you don't have backup set up in the user interface,

835
01:09:08,000 --> 01:09:12,000
 the administration user interface provided by an external atomic.

836
01:09:12,000 --> 01:09:17,000
 So the main thing is if you have good backups,

837
01:09:17,000 --> 01:09:22,000
 then you can do whatever you want and don't have to be afraid.

838
01:09:22,000 --> 01:09:27,840
 If you don't have backups, there will be things that can't be easily fixed.

839
01:09:31,439 --> 01:09:38,319
 But that's like a general system administrator's rule of thumb, I would say.

840
01:09:39,680 --> 01:09:45,000
 Who would you say the target audience for NextCloud Atomic is?

841
01:09:45,000 --> 01:09:52,359
 And is that audience different from the people who would use NextCloud Pi currently?

842
01:09:52,359 --> 01:10:00,680
 NextCloud Atomic caters to a slightly different target audience, but I would say it's mostly

843
01:10:00,680 --> 01:10:14,960
 a broader target audience. However, the main focus of Nexide Pie in comparison to Nexide Pie

844
01:10:15,520 --> 01:10:37,000
 is focusing on robustness and security. And the focus of Nex Excel Pi is mostly on ease of use and supporting as many use cases

845
01:10:37,000 --> 01:10:40,000
 and also low budget use cases.

846
01:10:40,000 --> 01:10:50,720
 Next, atomic aims to support the same audience, but it focuses on the system security

847
01:10:50,720 --> 01:10:56,159
 path first. So the first things that will be supported by next atomic RBA machine

848
01:10:57,680 --> 01:11:02,159
 for two reasons. First, they are more easy to test, so it's easier to develop with them.

849
01:11:06,800 --> 01:11:16,920
 test so it's easier to develop with them and if I support visual machines I can faster progress the system itself and secondly because visual machines are

850
01:11:16,920 --> 01:11:21,840
 very ubiquitous they can be run anywhere they can be run on a single board

851
01:11:21,840 --> 01:11:27,119
 computer as well as on your own hardware as well as on a

852
01:11:27,760 --> 01:11:35,439
 hosting provider or cloud provider. And after that, I will work on support for single board

853
01:11:35,439 --> 01:11:49,800
 computers where there's one major challenge. Basically, next topic right now assumes that you have a TPM address or platform material.

854
01:11:49,800 --> 01:11:58,199
 That's the thing that Windows currently annoys everyone that they only support devices with

855
01:11:58,199 --> 01:12:11,920
 TPM. That's basically a chip that allows you to ensure the integrity of the operating system

856
01:12:11,920 --> 01:12:22,319
 and allows you to store secrets and keys inside which are only provided to the operating system

857
01:12:22,319 --> 01:12:28,640
 if the integrity is ensured. So it allows you to unlock your

858
01:12:28,640 --> 01:12:36,399
 disks without entering a password because it's provided by TPM only if your operating system is

859
01:12:38,239 --> 01:12:45,680
 secure, securely signed and its integrity is ensured by TPM.

860
01:12:48,079 --> 01:12:55,840
 That has a big advantage for servers because it allows you to reboot your server without user

861
01:12:55,840 --> 01:13:03,039
 interaction and still have this encryption enabled. And that's why I'm, that's one of the reasons

862
01:13:03,039 --> 01:13:09,699
 why I'm focusing on that also I don't want to have unencrypted credentials lying around if I can avoid it.

863
01:13:11,699 --> 01:13:28,159
 But I, after I get everything to a working and stable state, then I will work on a fallback system that will likely involve something like a web-based

864
01:13:28,159 --> 01:13:33,159
 unlock mechanism that can be used on device

865
01:13:34,800 --> 01:13:38,680
 without TPM encryption until then single board computers

866
01:13:38,680 --> 01:13:41,939
 without TPM will not be supported.

867
01:13:44,439 --> 01:13:49,359
 Unless you add TPM, for example, I think there are TPM shields

868
01:13:49,359 --> 01:13:55,579
 for some single board computers. I think there is a solution for the Raspberry Pi 5, for

869
01:13:55,579 --> 01:14:06,119
 example, but not all SPCs will be supported from the start. But regarding target audience, next

870
01:14:06,119 --> 01:14:12,119
 up atomic also extends the target audience to a mob, I would

871
01:14:12,119 --> 01:14:17,079
 say professional or even enterprise target audience.

872
01:14:17,920 --> 01:14:29,720
 Because I think with the system design architecture, it will be interesting for basically any company or small business

873
01:14:29,720 --> 01:14:40,560
 or NGO or community that is currently running next cloud on a single machine and managing

874
01:14:40,560 --> 01:14:48,159
 it themselves because it provides a number of guarantees on top of the existing options

875
01:14:48,800 --> 01:14:56,319
 in terms of safety and compliance that take a lot of effort to achieve yourself.

876
01:14:57,520 --> 01:15:05,600
 And so to sum it up, next slide, atomic still caters a lot to self-hosting.

877
01:15:07,600 --> 01:15:16,720
 It also caters to professional requirements like because I think next cloud is really a

878
01:15:16,720 --> 01:15:27,000
 system that tends to be trusted with sensitive and important data. And so that was important for me to focus on.

879
01:15:27,000 --> 01:15:34,760
 And it also caters to companies and NGOs and communities

880
01:15:34,760 --> 01:15:40,560
 that want their own next cloud and want to make sure it is

881
01:15:40,560 --> 01:15:43,119
 built with security in mind.

882
01:15:43,119 --> 01:15:48,079
 It has good monitoring options and good backup options.

883
01:15:49,020 --> 01:15:50,920
 - I also just wanted to share this comment

884
01:15:50,920 --> 01:15:53,899
 a user sent in thanking you for the years

885
01:15:53,899 --> 01:15:57,359
 that you have worked on next cloud pie so far.

886
01:15:57,359 --> 01:16:00,020
 And yeah, so they just wanted to say,

887
01:16:00,020 --> 01:16:02,760
 "Thank you, Ed, thank you from the community."

888
01:16:02,760 --> 01:16:04,239
 - Thank you, that's very kind.

889
01:16:04,239 --> 01:16:07,079
 I always love hearing from the community. Thank you. That's very kind. I always love hearing from the community.

890
01:16:07,079 --> 01:16:13,239
 And that's also something I really hope I can provide a solution

891
01:16:13,279 --> 01:16:17,279
 that covers the use cases of the community because.

892
01:16:18,800 --> 01:16:24,880
 Yeah, well, I think that's something I should say here.

893
01:16:25,000 --> 01:16:25,199
 I think that's something I should say here.

894
01:16:30,199 --> 01:16:31,319
 I won't be sustaining next card pie forever.

895
01:16:34,180 --> 01:16:36,840
 And I will at some point, when I think next card atomic has achieved

896
01:16:36,840 --> 01:16:39,479
 a certain level of maturity,

897
01:16:39,479 --> 01:16:41,739
 discontinue work on next card pie.

898
01:16:41,739 --> 01:16:47,840
 Right now, next card pie is mostly in a maintenance state, so I'm adding

899
01:16:47,840 --> 01:16:57,359
 new Nexrad versions, I'm fixing critical bugs. To be honest, I can't even fix all of the bugs,

900
01:16:57,359 --> 01:17:05,920
 because Nexrad Pie has many bugs and I know about them. It takes a lot of work to fix them. It's super hard to test.

901
01:17:06,560 --> 01:17:13,439
 It's often that there are new bugs when old ones are fixed and so on. I'm trying, basically,

902
01:17:13,439 --> 01:17:22,960
 my focus right now is to really ensure that all the existing systems are working, that they

903
01:17:22,960 --> 01:17:25,319
 support up to the next start versions, that they support up to the next cloud versions, that

904
01:17:25,319 --> 01:17:29,720
 they support up to the operating systems and so on.

905
01:17:29,720 --> 01:17:40,359
 And at some point, I will provide a path to migrate from next cloud to next cloud all

906
01:17:40,359 --> 01:17:48,859
 in one or next extra atomic. These migrations will be very similar because an extra atomic obviously uses an extra

907
01:17:48,859 --> 01:17:52,699
 or an one and that will...

908
01:17:52,699 --> 01:18:00,359
 Yeah, and then I hope that will be a good and even better option for

909
01:18:00,359 --> 01:18:09,239
 users that are currently using Excel Pi. So that will be some way for the future.

910
01:18:09,239 --> 01:18:16,359
 I don't think it will happen at least for the foreseeable months.

911
01:18:16,359 --> 01:18:25,000
 Like it will certainly not happen before probably mid-2026 or something.

912
01:18:27,920 --> 01:18:30,000
 But it will happen eventually.

913
01:18:30,000 --> 01:18:31,159
 - Super interesting.

914
01:18:32,399 --> 01:18:35,319
 - Is there any correlation between this podcast

915
01:18:35,319 --> 01:18:37,800
 and your upcoming conference talk

916
01:18:37,800 --> 01:18:42,000
 at the next cloud conference that you'd like mentioned

917
01:18:42,000 --> 01:18:43,039
 as part of the episode?

918
01:18:44,119 --> 01:18:56,000
 - I think it's actually a great complement for the next cloud conference talk

919
01:18:56,000 --> 01:18:59,000
 because they only have like seven minutes.

920
01:18:59,000 --> 01:19:05,000
 And I can't cover any of the technical details.

921
01:19:05,119 --> 01:19:10,119
 And it's nice to be able to point to this interview

922
01:19:11,539 --> 01:19:13,279
 and to the podcast episode.

923
01:19:14,560 --> 01:19:18,039
 - Yeah, it seems like a really useful project

924
01:19:19,399 --> 01:19:20,960
 in the landscape of Next.Cloud,

925
01:19:20,960 --> 01:19:29,359
 because yeah, Next. Play. NextCloud Play does serve a valid use case,

926
01:19:29,359 --> 01:19:36,239
 I think, which is this professional, like for people that are not professionals that want to

927
01:19:36,239 --> 01:19:44,560
 use NextCloud, NextCloud Play is kind of the ideal thing to use. And it's just unfortunate or

928
01:19:49,479 --> 01:19:55,960
 use and it's just unfortunate or well, it's just how it is that it evolved into the state where it's barely maintainable apparently. And it seems really cool that you're willing

929
01:19:55,960 --> 01:20:07,920
 to take the next step and turn up with something that is more maintainable and more secure and more stable. It's really cool.

930
01:20:08,720 --> 01:20:13,600
 You know, that makes me curious. What do you feel like you've learned as the maintainer from

931
01:20:13,600 --> 01:20:31,279
 doing this over the last seven or eight years? Oh, that's a that's a great question. So first of all, when I jumped into a next-class hosting scenario, it was actually before

932
01:20:31,279 --> 01:20:32,279
 next-class.

933
01:20:32,279 --> 01:20:38,399
 I started out with an on-cloud server that I was hosting on an old laptop.

934
01:20:38,399 --> 01:20:49,140
 And I think I spent a week just configuring Apache because I didn't know much about it and I wanted it to be secure and I didn't feel comfortable with it

935
01:20:51,760 --> 01:20:57,560
 Without yeah understanding every line I wrote for the configuration and

936
01:20:59,199 --> 01:21:01,199
 since then it has been

937
01:21:01,539 --> 01:21:04,439
 an amazing learning experience I have learned a

938
01:21:03,560 --> 01:21:07,960
 It has been an amazing learning experience. I've learned a huge amount about especially

939
01:21:07,960 --> 01:21:13,960
 Bash from Nacho from the original author of Nexelpile.

940
01:21:13,960 --> 01:21:17,800
 Like, don't get me wrong, the Bash quality in Nexelpile

941
01:21:17,800 --> 01:21:19,399
 is quite good.

942
01:21:19,399 --> 01:21:24,680
 It's just, I think, that the complexity of the project

943
01:21:24,680 --> 01:21:25,000
 has exceeded

944
01:21:27,239 --> 01:21:29,239
 the use case of Bash.

945
01:21:29,239 --> 01:21:32,880
 But I learned a lot about that.

946
01:21:32,880 --> 01:21:37,880
 I learned really a lot about system architecture,

947
01:21:40,960 --> 01:21:43,239
 system management about it.

948
01:21:43,239 --> 01:21:45,000
 I learned with National AtomicES-Out atomic,

949
01:21:45,000 --> 01:21:50,000
 I've been working on NACES-Out atomic for about a year now.

950
01:21:50,000 --> 01:21:56,000
 And I learned so much about Linux systems,

951
01:21:56,000 --> 01:22:01,000
 kernels, I learned more about containers than I ever anticipated.

952
01:22:01,000 --> 01:22:03,000
 And plan two,

953
01:22:03,000 --> 01:22:14,000
 like how the individual sandboxing features work and how they are actually not tied to any container runtime.

954
01:22:14,000 --> 01:22:26,000
 You can achieve the same level of sandboxing and isolation that you get with, for example, Docker containers entirely without them.

955
01:22:26,000 --> 01:22:34,000
 And that's also something I'm doing in Excel atomic with some system D services.

956
01:22:34,000 --> 01:22:51,000
 I have learned a lot of what trusted boot about build systems and also about, I think about, well, I hope that I have learned a lot about the needs of the community as well,

957
01:22:51,000 --> 01:22:55,000
 and I hope to be able to keep catering to them.

958
01:23:05,000 --> 01:23:07,399
 a very impactful story for me.

959
01:23:09,439 --> 01:23:10,859
 The whole next cloud hosting and next cloud pie,

960
01:23:12,760 --> 01:23:14,079
 and next cloud atomic.

961
01:23:14,079 --> 01:23:17,319
 - Yeah, it seems like a huge rabbit hole

962
01:23:17,319 --> 01:23:22,319
 to go into from just wanting to have a next cloud setup

963
01:23:22,680 --> 01:23:29,520
 into next cloud pie, best programming, and then even deeper into

964
01:23:30,479 --> 01:23:38,079
 containers, system D extensions and whatnot. Yeah, super truly.

965
01:23:39,039 --> 01:23:47,880
 I guess I'll take this moment to share my own experience getting involved with NextCloud Pie, which began in running it for my hacker space.

966
01:23:48,279 --> 01:23:52,680
 And that worked for two years until someone literally destroyed the computer.

967
01:23:53,640 --> 01:23:54,720
 But as part of that,

968
01:23:54,800 --> 01:23:59,119
 I was also learning to run a discourse forum for the hacker space.

969
01:24:00,039 --> 01:24:03,880
 And I ended up realizing that I was a lot more interested in the NextCloud

970
01:24:03,920 --> 01:24:05,399
 community itself

971
01:24:05,399 --> 01:24:07,960
 and so many like-minded people.

972
01:24:07,960 --> 01:24:11,000
 And through doing that, I got connected with Ignacio,

973
01:24:11,000 --> 01:24:13,520
 who was the original developer of NextCloud Pie

974
01:24:13,520 --> 01:24:16,000
 and thinking it'll be nice to improve our connection

975
01:24:16,000 --> 01:24:19,039
 to the Discourse Forum provided by NextCloud

976
01:24:19,039 --> 01:24:21,199
 at help.nextcloud.com.

977
01:24:21,199 --> 01:24:23,039
 So then I ended up becoming a moderator

978
01:24:23,039 --> 01:24:25,520
 and even administrator in order to further connection

979
01:24:26,319 --> 01:24:34,239
 between Next Cloud Pi and Next Cloud as a company. And that ended with you and I being in Berlin

980
01:24:34,239 --> 01:24:49,000
 together presenting at the conference. And yeah, it's be able to talk to you now.

981
01:24:49,000 --> 01:24:59,000
 Also, I really would like to take the opportunity and congratulate you to this podcast that you now have been running for, I think, over a year.

982
01:24:59,000 --> 01:25:08,880
 And yeah, really amazing to see what you made of it. And it's really nice to be back and talk to you about it.

983
01:25:08,880 --> 01:25:14,880
 After the time that we have spent together within the next cloud,

984
01:25:14,880 --> 01:25:20,640
 Py community, where I think I shouldn't leave that unmentioned.

985
01:25:20,640 --> 01:25:30,600
 One of the really amazing parts of the experience was working with the community and with the

986
01:25:30,600 --> 01:25:38,000
 active people from the community that organized the forum that helped each other out, that

987
01:25:38,000 --> 01:25:48,319
 contributed to the documentation that helped me test new releases and some of which also had in contributing code.

988
01:25:48,319 --> 01:25:58,720
 But just really getting a feeling for there are actually people who are not only using the product

989
01:25:58,720 --> 01:26:11,039
 but like it and want to bring it forward and support each other because in no universe I could provide

990
01:26:11,039 --> 01:26:17,600
 that as maintainer and provide this kind of community support that is actually provided

991
01:26:17,600 --> 01:26:20,359
 by volunteers.

992
01:26:20,359 --> 01:26:27,600
 Yeah, and yeah, you've definitely been one of the active community members too, and it

993
01:26:27,600 --> 01:26:36,600
 was really great to have, to be working with you and now to be back talking to you about

994
01:26:36,600 --> 01:26:38,079
 Maddie's project.

995
01:26:38,079 --> 01:26:43,479
 Yeah, and I just want to say thank you so much to both of you for being on this show.

996
01:26:43,479 --> 01:26:44,479
 It's great.

997
01:26:44,479 --> 01:26:51,680
 A nice full circle moment, of course. And from when we gave our presentation at the

998
01:26:51,680 --> 01:26:57,119
 next cloud conference a couple years ago, and I was on a panel discussion about how people can

999
01:26:57,119 --> 01:27:01,520
 contribute to next cloud, and they're going to have a new iteration of that panel discussion

1000
01:27:01,520 --> 01:27:07,000
 this year. I think they did it every year. And yeah, I'll link in the show so you can watch it,

1001
01:27:07,000 --> 01:27:12,000
 but I did feel at that time ready to step away, right,

1002
01:27:12,000 --> 01:27:15,000
 from being involved in that community because being involved

1003
01:27:15,000 --> 01:27:20,000
 in the next cloud got me, of course, more involved with next cloud more broadly.

1004
01:27:20,000 --> 01:27:27,000
 And I realized that I just needed to take time away because in order to do some kind of project like this or talk with the people involved

1005
01:27:27,000 --> 01:27:34,239
 I felt like I just kind of needed to take my own time right and live life and do other things

1006
01:27:34,640 --> 01:27:38,079
 Because I like you guys I like everyone at the next club company as people

1007
01:27:38,079 --> 01:27:39,960
 I mean I've gotten them know them and I like them

1008
01:27:39,960 --> 01:27:46,239
 So I just needed some time sort of away from being headfirst in it so I could feel like

1009
01:27:46,239 --> 01:27:51,800
 have these kinds of discussions for the broader public, which I'm happy to do.

1010
01:27:51,800 --> 01:27:54,359
 Yeah, I get that.

1011
01:27:54,359 --> 01:28:00,880
 Sometimes you need some distancing to figure out where to go next.

1012
01:28:00,880 --> 01:28:07,239
 Yeah, I look forward to even more of these kinds of conversations on the show

1013
01:28:07,239 --> 01:28:10,760
 moving forward, these kinds of interviews and, you know, these kinds of topics, of course,

1014
01:28:10,760 --> 01:28:16,079
 are of interest to me. And I think to the broader show audience. But I'm curious in

1015
01:28:16,079 --> 01:28:21,760
 terms of starting fresh now, what would you like, say, the next iteration of community

1016
01:28:21,760 --> 01:28:30,720
 behind your project to do to help you to contribute to to contribute, to be involved. What do you see that looking like and to be the most successful it can be?

1017
01:28:32,479 --> 01:28:47,000
 Yeah, so that's also a good question. I think it's hard to answer in a very general way,

1018
01:28:47,000 --> 01:28:50,920
 like in a whole ecosystem kind of way.

1019
01:28:50,920 --> 01:29:00,680
 I suppose the sharing of use cases and information

1020
01:29:00,680 --> 01:29:17,000
 and solutions for specific problems and integrations is something that's super valuable to contribute

1021
01:29:17,000 --> 01:29:28,079
 in a general way within the next cloud ecosystem, for example, or any other open source ecosystem. Specifically for an excellent atomic, I am actually planning

1022
01:29:28,079 --> 01:29:38,079
 to start calling for contributors with the next community conferences upcoming because

1023
01:29:38,079 --> 01:29:46,239
 so far I have not done that a lot because I needed to figure out how things work, how the architecture is and so on. I

1024
01:29:46,239 --> 01:29:58,239
 couldn't easily work with other contributors before I had a strong vision and understanding

1025
01:29:58,239 --> 01:30:06,520
 of the system myself. But now I'm actively looking for contributors that are either wanting to

1026
01:30:06,520 --> 01:30:13,479
 contribute in the area of Rust development, like the user interface, many

1027
01:30:13,479 --> 01:30:18,399
 of the system tools are written in Rust for next-order atomic, which was a choice

1028
01:30:18,399 --> 01:30:28,000
 because Rust allows you to catch a lot of errors before you actually ship anything,

1029
01:30:28,000 --> 01:30:31,000
 rather than some other linkages.

1030
01:30:31,000 --> 01:30:38,000
 And secondly, people who know something about system administration

1031
01:30:38,000 --> 01:30:48,239
 and would like to contribute there through the system building process and maybe are curious about atomic distributions

1032
01:30:48,239 --> 01:30:51,479
 or build systems in general.

1033
01:30:52,439 --> 01:30:56,640
 And those I invite to just contact me.

1034
01:30:56,640 --> 01:30:59,840
 I will shortly also provide contribution guidelines

1035
01:30:59,840 --> 01:31:01,960
 on the next atomic webpage.

1036
01:31:03,239 --> 01:31:06,319
 Hopefully they will be available when this episode is out.

1037
01:31:11,760 --> 01:31:14,560
 And lastly, but I think that maybe at a later point,

1038
01:31:16,239 --> 01:31:26,199
 some time this year there will be a test release and I welcome you to test it out and to give me feedback and to,

1039
01:31:26,199 --> 01:31:30,000
 yeah, let me know what you think, what you need,

1040
01:31:30,000 --> 01:31:32,000
 how well it covers the use cases.

1041
01:31:32,000 --> 01:31:37,000
 Just let me know.

1042
01:31:37,000 --> 01:31:43,000
 And I will consider all sorts of feedback that I receive.

1043
01:31:43,000 --> 01:31:47,760
 >> And will you be looking for feedback

1044
01:31:47,760 --> 01:31:49,920
 primarily through GitHub?

1045
01:31:49,920 --> 01:31:54,920
 - Yes, and no, I'm not completely decided on that yet.

1046
01:31:58,399 --> 01:32:03,399
 I could, I'm actually thinking about building some

1047
01:32:11,119 --> 01:32:04,979
 I'm actually thinking about building some sort of feedback or community involvement mechanisms right inside of Next

1048
01:32:04,979 --> 01:32:15,279
 World Atomic.

1049
01:32:15,279 --> 01:32:18,479
 But for now, GitHub is a good place.

1050
01:32:18,479 --> 01:32:24,000
 If you want to contact me about technical things regarding Next World Atomic, then you

1051
01:32:24,000 --> 01:32:27,859
 can absolutely create issues on exaltatomic.

1052
01:32:28,920 --> 01:32:33,760
 Likely at some point there will be a policy

1053
01:32:33,760 --> 01:32:35,760
 that will help you decide, well,

1054
01:32:35,760 --> 01:32:37,239
 that's the right place for it.

1055
01:32:37,239 --> 01:32:39,359
 But for now, that's the way to go.

1056
01:32:39,359 --> 01:32:42,279
 If you're interested in one of my projects,

1057
01:32:42,279 --> 01:32:46,560
 I like, if you're interested in Next Cloud Pi,

1058
01:32:46,560 --> 01:32:49,520
 you will find options to interact with the community

1059
01:32:49,520 --> 01:32:52,920
 and myself on nextcloudpi.com.

1060
01:32:52,920 --> 01:32:54,640
 If you're interested in Next Cloud Atomic,

1061
01:32:54,640 --> 01:32:57,119
 you will find information about the project

1062
01:32:57,119 --> 01:33:00,119
 and soon or so contribution guidelines

1063
01:33:00,119 --> 01:33:04,640
 on nextcloudatomic.com.

1064
01:33:04,640 --> 01:33:11,239
 And when you want to contact me and ask me about anything that's

1065
01:33:11,239 --> 01:33:28,960
 related to those projects or if you are looking for like contract work in any way or want about stuff you can find me on Mastodon or find my email

1066
01:33:28,960 --> 01:33:30,359
 on my web page.

1067
01:33:30,359 --> 01:33:33,560
 You will also find my Mastodon account there.

1068
01:33:33,560 --> 01:33:36,600
 So I guess it makes sense to just include it in the show notes

1069
01:33:36,600 --> 01:33:37,800
 if that's fine with your chains.

1070
01:33:42,439 --> 01:33:44,520
 Yeah, also my web page would probably

1071
01:33:44,520 --> 01:33:46,439
 be the best starting point.

1072
01:33:46,439 --> 01:33:52,159
 You can just email me and say hi and we can chat.

1073
01:33:52,159 --> 01:33:54,359
 It would be awesome.

1074
01:33:54,359 --> 01:34:00,600
 MasterClear.de in my case.

1075
01:34:00,600 --> 01:34:08,000
 Well, yeah, thank you. Thank you for having me. Thank you for chatting about my projects

1076
01:34:08,000 --> 01:34:18,960
 and work and life in open source in general. It was really fun. And I hope, yeah, I hope

1077
01:34:18,960 --> 01:34:23,000
 you'll keep having a great time with this podcast.

1078
01:34:23,000 --> 01:34:25,159
 Thanks.

1079
01:34:25,159 --> 01:34:33,479
 That will conclude today's episode, The Longest Ever, and it is part one of part two. In the

1080
01:34:33,479 --> 01:34:39,279
 second part of the interview, we'll talk all about how they handle donations and asking

1081
01:34:39,279 --> 01:34:49,680
 Tobias about how he did his fundraising to work on next Cloud Atomic. Also ask Marcel about the same, how they feel about donations, how they have balance in their

1082
01:34:49,680 --> 01:34:54,079
 lives with their other interests and asking about what those interests are.

1083
01:34:55,600 --> 01:35:00,319
 We'll also be talking all about containers in the next episode and whether containers

1084
01:35:00,319 --> 01:35:05,920
 and virtualization might interest you as a home enthusiast. And who there for really?

1085
01:35:05,920 --> 01:35:09,720
 So if you have thoughts, feel free to send them in podcast@james.network.

1086
01:35:09,720 --> 01:35:11,239
 Thank you so much for listening.

1087
01:35:11,239 --> 01:35:16,119
 Please do share the show if you liked it and you can look forward to more in the next

1088
01:35:16,119 --> 01:35:19,479
 episode of Linux Prepper.

1089
01:35:19,479 --> 01:35:30,000
 Bye. [MUSIC]

