12 ms·
Offbase: Static site generator in a browser
- cocktailpeanuts 6y agoVery cool. Every existing criticism about static site generators seems to be gone with this approach. Many interesting ideas in there, like the service worker instead of cloud, and an actual git flow in the browser. Looks almost like more than just a static site generator. This could get rid of the cloud itself.
- mpweiher 6y agoHmm...it uses the CDN's servers. So "no server" or "getting rid of the server" seems a tad inaccurate.
- Spivak 6y agoWe have to stop this. Words are either effective at communicating the speakers meaning or not. We all know what is meant by serverless and "without a server" and so you are only introducing ambiguity by purposely confusing the actual meaning with the literal meanings of the individual words. If I call someone an asshole nobody is like "but actually an asshole is just one part of..."
- danellis 6y ago> We all know what is meant by serverless and "without a server" Please feel free to furnish us with a definition that includes this product but excludes the existing solutions.
- XCSme 6y agoPersonally I dislike the "serverless" word too, it's still not clearly defined and there are indeed servers being used that can still somehow crash, run out of resources, be hacked, etc.
- yreg 6y agoI genuinely thought they meant that the site is client only (perhaps distributed outside of internet) and was curious how that works. edit: The original title said "with no server". I would understand "serverless", since I'm familiar with that jargon.
- danellis 6y agoYou're being generous. It's a blatant lie for marketing purposes. Its "solution" is the same as the second problem it claims to avoid.
- asiachick 6y agoI got flagged for saying someone is lying and was told "Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith."
- specialp 6y agoCDN is by all means considered "serverless". Yes in anything that is "serverless" there's a server somewhere but you don't have to maintain it, you get charged by usage only so no running cost. Now their claim about being deplatform resistant is probably not true though as someone is running that CDN and can just as easily deplatform you. But serverless in the ops community does not mean literally no server is running. For instance Lambda must have a server running these tasks, it mean it is not of your concern and you don't pay for a long running process.
- deleted 6y ago[deleted]
- tyingq 6y agoAt the very bottom it is still putting content on Cloudflare, GitHub Pages, Netlify, Vercel, etc. I can't tell if the content is encoded somehow (base64, etc). If not, this will be confusing for search engine crawlers, as they'll find duplicate content, and perhaps rank it higher.
- krsdcbl 6y agoI kinda feel like the premise is already pretty amiss - a simple, small site that serves static pages puts absolutely no demand on "running a server", you're perfectly fine with a basic hosting plan that will require little to zero maintenance and be really cheap. The idea that you'd have to "run a server" or else "use ready made SaaS platform" feels like a constructed problem.
- Spivak 6y agoIsn't that basic hosting plan still a ready made SaaS platform?
- krsdcbl 6y agoonly in the sense that you'll pay rent for it, it's not "software" and will let you run your own stack with no added cost and full portability.
- mmazing 6y agoIsn't putting something on Github to host it still a ready made SaaS platform?
- jokethrowaway 6y agoYes but you can run offbase of a local git repo (judging from the post)
- theamk 6y agoNot in the sense of that blogpost. They say about SAAS: > Problem: The service provider will lock you in. No full control over your content. this is clearly does not apply to basic hosting plans. You have full control, an there is no lock-in at all -- all of those hosting plans are basically equivalent.
- andreterron 6y agoThis is a quite an interesting architecture that could also be used for developing on the browser. I imagine some of the existing browser development tools use something similar
- cxr 6y agoI've been advocating for this type of thing, especially since a lot of the tooling around NodeJS is so bad, viz: https://news.ycombinator.com/item?id=24495646 https://news.ycombinator.com/item?id=24495646 For my personal site, I switched to Marijn Haverbeke's Heckle <https://marijnhaverbeke.nl/blog/heckle.html https://marijnhaverbeke.nl/blog/heckle.html> several years ago. I realized that I could pretty easily do a rewrite that uses my browser's native JS engine + browser APIs instead of requiring NodeJS and depending on the slipshod fragility of the NPM ecosystem. The result is triickl: https://codeberg.org/triplescripts/triickl https://codeberg.org/triplescripts/triickl What's more is that, because I also created some tools that allow triickl (and similar programs) to be packed into a single, self-contained file that can run in the browser (e.g. buildfoo.html or pages.app.htm), it's pretty natural to let there be a page on the target site corresponding to this file. The end result is that if you're using triickl, you can clone the site's source repo and then use buildfoo.html to generate the static assets. In other words, so long as you're able to get your hands on the source tree, then every computer is already a development system.
- pembrook 6y agoYou may want to rethink the messaging here. From the landing page I'm unsure what type of person would benefit from this and what problem you're solving for them. I already can publish from git directly to Netlify's "distributed CDN." That's the default setup for all static site generators, no? Or is the difference here that you get a CMS editor built-in to your static site?
- deleted 6y ago[deleted]
- tyingq 6y agoAh, this comment makes it clear for me, and you're right...a serverless CMS editor appears to be the main benefit. That would be valuable for some, but the message wasn't coming across for me.
- estaseuropano 6y agoChromebook without the Linux partition? Constantly changing devices? ...? Interesting premise I think, especially if they can make the git experience somewhat more friendly for less technical people.
- proyb 6y ago"Not everyone can afford the time, money, and effort to maintain a server." Shared hosting doesn't need effort to maintain server and have been done for long time? There are a few free hosting. There is a need for more than just CMS, I have been working on the new idea.
- XCSme 6y agoI agree, many always start with the premise "hosting is hard", but maybe this was true 20 years ago, now hosting providers let you spin-up a server in a few clicks, have monitoring, alerts, automatic updates and more. The good part is that for 99.99% of the time, once you set-up a server it could keep on running without issues for many years. I am not a sys-admin but I have used multiple hosting providers (shared, VPS, dedicated) and so far I never had a single server fail or suddenly stop working.
- proyb 6y agoTrue, sadly shared hosting still limit with capped disk IO and bandwidth at a premium price which would be similar or more than competitive VPS in performance. I'm still looking out for competitive VPS provider other than UpCloud if you have any recommendations.
- tantalor 6y agoA CDN is a server. It is actually a lot of servers!
- tootie 6y agoI think this title is askew. The secret sauce here is that this has a GUI CMS that runs without a server. There's plenty of flat file static site generators that don't require a server.
- deepspace 6y agoThere are also other static site generators with a CMS component. Lektor - https://www.getlektor.com/ https://www.getlektor.com/ - comes to mind.
- JKCalhoun 6y agoCan you list a few? I have been wanting to play with an SSG. (Googling sends me down a rabbit hole.)
- pembrook 6y agoEvery single one doesn't require a server. 11ty deployed to Netfliy is probably the most simple way get started. Because everybody is clamoring to label themselves a react dev, Gatsby is also en vogue. Jekyll is the OG. But while they don't require a database/server/etc, static sites do require a spaghetti mess of fragile dependencies on build, so have fun troubleshooting that. TBH I don't build static sites anymore. They're cool for one-off pages, but any site that needs new content and regular updating is going to turn into a nightmare if you go the SSG route. And don't get me started on the many downsides of Headless CMS's. In fact, the "evil Saas solutions" that this landing page bemoans are now exactly what I want. I've gone full Webflow now. Saas is just a better model for everybody involved.
- johnchristopher 6y agoI recently dig up some old folders on my musheen and found harpjs back. It's a really nice static sige generator that I found easier to grasp than 11ty, gatsby, etc. http://harpjs.com/ http://harpjs.com/
- masukomi 6y ago> Every single one doesn't require a server... Netfliy is probably the most simple way get started. Netlify is... A SERVER (actually many servers). The only ones that DON'T require a server are distributed. The only ones I'm aware of use IPFS or Hypercore protocols (formerly DAT). Hypercore's probably the easiest as it is built into the Beaker browser and has been around in an easy browser accessible form for a while now, but Brave has just added support for IPFS. Pipette and Orkl are static blog apps for Hypercore. There are probably others. I don't know the IPFS world well, so I dunno what's there. Practically speaking though, the limited number of people hosting Hypercore / IPFS nodes means that the content you want is likely not available on the network at the moment _unless_, you guessed it, you put some of it on a server that's always on.
- vorpalhex 6y agoUsing a service worker to run the build process is actually pretty neat.
- bnchdrff 6y agoGopher 2.0
- lxe 6y agoCDN is still a server. It can still go down and can get hacked. You can still lock yourself into a CDN provider.
- tyingq 6y agoI can't tell for sure, but it sounds like it puts an abstraction in front of the CDN (via the WYSIWYG editor), such that moving to a new one wouldn't be hard. It mentions Cloudflare, GitHub Pages, Netlify, and Vercel as backends.
- jtanderson 6y agoA similar idea that uses git to store data is Mavo: https://mavo.io/ https://mavo.io/.
- johnchristopher 6y agoOoOoooh that seems cool ! Can it use minio/s3 as a CDN ? Can it also use one's own gitea/git instance ?
- sodimel 6y agoI like the idea of a program (eh it's in javascript but whatever) that let people create personal websites without having to understand all the complexity of the web, and that allow people to keep control over their data. It's in the "internet is for everyone so let everyone use it and create things with it easily" project category (which is my favorite) :)
- Witeshadow 6y agoMy first thought based on the video is that its serverless, so it can't be deplatformed or taken down, but it does not appear to be the case since you are still hosting it somewhere, so those looking for having a blog that can't be deplatformed will be disappointed. I believe there are other products that DO do that to some extent, though. However, taking out that premise, it still looks interesting, and I would love to try it out. I tried to get someone on one of the static site generators but just getting everything setup on their computer and then teaching them the needed workflow was not trivial, and not something I would try again with anyone less tech-savvy or without being there with them during setup and teaching. I've seen platforms that simplify, but then you are paying a fee again for that too.
- nvr219 6y agoI put my static sites on free tier netlify. Super easy.
- arminluschin 6y agoDoesn't https://www.netlifycms.org https://www.netlifycms.org combined with Netlify itself (or any other CDN) achieve the same?
- cocktailpeanuts 6y agoNetlify CMS stores content on their cloud. This looks like it lets you store on your own git repository directly from the browser, avoiding potential lock-in.
- arminluschin 6y agoRight on the landing page of Netlify CMS it says: "Content is stored in your Git repository alongside your code..."
- breck 6y agoThis is great! The whole "Git is eating the database world" trend is picking up steam. MDN/Yari, mentioned recently on here was another similar one https://github.com/mdn/yari https://github.com/mdn/yari I am planning on doing something similar to Offbase with Dub (https://github.com/treenotation/dumbdown/tree/master/dub https://github.com/treenotation/dumbdown/tree/master/dub). Each post will be written in Dumbdown, but then also a whole "blog" (posts, settings, pages, etc), you will be able to view/edit in a single textarea, and copy/paste the whole thing. So you should be able to write a whole site in the client side JS app, use local storage for persistence, and then copy/paste either the raw Tree Notation files to import/export the site, or just the compiled HTML. Then just need a one click "write this site to a Git repo", and then GitHub/GitLab/etc can handle long term persistence, version control, and site hosting. Happy to talk more to the authors off offbase if it would help. I think there could be some synergy here.
- skogard 6y agoThank you, in the video I intentionally positioned Offbase as a "static site generator" and a "blogging engine" just to focus the minimal viable product and avoid confusion, but the actual platform I'm working toward releasing is really a generic shell that can run anything, the blogging package will be the one thing I will focus on building myself, but since it will be a completely open platform where you can download any git repository into the browser, anyone should be able to build their own package. For example you can build a documentation engine package, or an image editor package. And going further, even the static site generator logic itself is nothing more than a single use case where it simply runs a template logic and writes to the virtual file system, while using the service worker to render the files in realtime, for example. You can think of Offbase as something like Electron, but in a browser. This means a lot of things that you used to need a server for, you can build with Offbase purely inside the browser. Which means, I think Offbase may fit right in with what you're trying to build, it should handle a lot of headaches you might otherwise have. Will try to get this rolled out public as soon as I can, it's almost there, just trying to deal with some last mile problems and documentation.
- warkdarrior 6y ago
- rubiquity 6y agoI hate to be the person that needs to point it out, but you can't say replace "the cloud with x" and replace "servers with x" and then 500 pixels down the page talk about how you're pushing your static site to a CDN. Perhaps the target audience won't recognize how dishonest that is, but it's still a lie.
- jeromenerf 6y agoYeah, and I would coin CDN as Cloud Debris Network, where abandoned pet projects and crap content is orbiting forever forgotten.
- deburr 6y agoThe buck stops earlier than that. "Replace the cloud/server with git" - where is git hosted? On your server or the cloud. You're not replacing anything.
- ljm 6y agoI genuinely thought at first that they meant the git repo was hosted in the service worker (like through isomorphic git) and I was like, what if you want to write on a different machine?
- masukomi 6y agoyeah. if it ain't on a server / cloud no-one will be able to access it regardless of if it's in git or not.
- sradman 6y agoPerfectly sound architecture that does not need an intermediary like Netflify: 1. Browser-Side Service Worker 2. Git - mutable file system via REST 3. CDN - deploy to multiple CDNs I didn't look at the code but I suspect it could be made to be isomorphic and run in Cloudflare Workers but the code surrounding credentials used for Git and CDN access probably needs to distinguish between the browser-side and server-side.
- z3t4 6y agoCould run Git entirely in the browser (isomorphic-git). Then use peer2peer to host the content. The web editor/static site generator could be bootstrapped from a bookmark/URL that pulls the app from peer2peer.
- isaacimagine 6y agoMy personal website uses cloudflare workers / cdn to host a CMS-over-GUI system. Has a lightweight automatic git-like CVS for visibility and versioning. Does basic auth too. Just wanted to bring up that this is a very real possibility. ¯\_(ツ)_/¯
- chrismorgan 6y agoHow does it pull from and push to a Git remote? (I wouldn’t have thought that there was any good option. If you reject the use of an intermediary proxy, then I think the only two options are: to do something forge-specific, which is rather limiting and quite contrary to the purport of the project; or to use the smart protocol over HTTPS, but that’s going to be CORS-blocked, to say nothing of the security aspect probably being a pain—if I recall correctly, GitHub for one now requires you to use a token for authentication over the HTTPS protocol, so it’s never just a single step any more.)
- Xevi 6y agoMaybe I'm missing something, but it appears that the only difference between this and other static site generators is that you can edit stuff in the browser, right? I usually just edit my pages in VS Code, or any other markdown editor. Then I push to a Git repository, and my CDN (Netlify, Vercel, etc) builds the site automatically.
- itake 6y agoThat is how I interpreted it, but I think their marketing is completely wrong. Developers will do what you do. Marketing / Small biz owners do not want to learn git, cdns, etc. https://forestry.io/ https://forestry.io/ removes the complexity, but keeps all of the benefits of git static hosted websites allowing non-technical people to manage static websites. Developers wont use this, but non-technical people _might_. ps: I have no association with forestry
- deleted 6y ago[deleted]
- Animats 6y ago"Offbase solves the problems above by getting rid of the server altogether:" Replace Cloud with Git: Store content without a server Er, there has to be a server hosting Git somewhere. I think someone just re-invented Netscape Communicator.
- deleted 6y ago[deleted]
- the_arun 6y ago> Replace Cloud with Git: Store content without a server I guess they mean GitHub or GitLab or their equivalent - which are servers.
- DrFell 6y agoI still think a plain old PHP site works just as well, and is easier and more flexible than any SSG system.
- jpomykala 6y agoWhat is wrong with Jekyll and Github Pages?
- drummer 6y agoGood use of AI voice over in the video on the homepage.
- Fractal_HQ 6y agoIs that really an AI voice? Sounded real to me.
- drummer 6y agoThat's the idea, should sound real. You can search online for AI voice over websites. It's becoming a booming business.
- jopsen 6y agoHow risky is it to run an Ubuntu server? Assuming you turn on auto-updates to get security updates.. and do basic hardening like fail2ban. Does it really need much handholding? (Assuming you don't run vulnerable versions of various server software inside a docker container) Curious, if going fully static is really that much better..
- sodimel 6y agoIts not really risky, but it requires some knowledge that not all people are willing to learn in order to host a html file to share thought.
- inflam52 6y agoI tried to do something similar with a fully client-side static site generator called CMS.js (https://github.com/chrisdiana/cms.js https://github.com/chrisdiana/cms.js) a few years back. Would have liked to get to the point where the content editor was fully client-side too. I personally like the concept though.
- chrxr 6y agoI recently moved my personal website (https://chrxr.com https://chrxr.com) to a static site in a rather complicated fashion. I use Wagtail as my CMS, so I dockerized it and put it on an ECS cluster. I then use Wagtail Bakery to publish the pages to S3. I then change the task count on the ECS service to 0. For a DB I use sqlite in EFS, so it's persistent and backed up. I was previously running on an EC2, and cut the cost from about $15 per month to ~$1-2 per month. All I'm paying for is <1mb S3 storage, a single route 53 hosted zone, and one image in an ECR repo. If I want to add content, I spin up the ECS task again and work away. Note that part of the reason for such a low cost is my website get VERY little traffic :) Apart from the cost, I also have the advantage that it's lightning quick most of the time, with caching provided by CloudFront.
- iFreilicht 6y agoSo you’re saying, something like this would save you loads of time? Or do you think it’s unnecessary?
- chrxr 6y agoI think this is catering to a specific audience who is not me :) I actually find that the complexity of self hosting is the interesting part. I did this to learn stuff. Seeing as I have little to say, my blog site is more of a technical playground than a valuable store of content. I omitted that between the EC2 version and this current version, I built a really convoluted version with an ALB, Aurora, always-on ECS etc. That came to $80 a month. So then that motivated me to go the other way with the super cheap option.
- unicornporn 6y agohttps://rakhim.org/honestly-undefined/ https://rakhim.org/honestly-undefined/
- chrxr 6y agoNow I feel bad about my planned two-parter on my elaborate blog setup :)
- anderspitman 6y agoSo much complexity to get an HTML page on the internet. IMO the future of data ownership is self hosting from devices like raspberry pi's and upcycled Android phones. What works now: * Tunnel proxies[0] like ngrok. You can get an HTML page on the internet in 2 minutes with ngrok. * Software like Caddy which simplifies certificate management. What's needed: * IPv6 and ISPs to drop NAT so we don't need proxies. Good luck. * More upload throughput. Good luck. * Services that make it much easier to register a domain name and manage DNS. Should be easier than buying and setting up a phone. This is ripe for the picking. * Software designed with federated self hosting in mind. Like Inrupt Solid and similar projects. OT: Text-to-speech has gotten really impressive these days. Took me a solid minute to figure it out. [0]: https://github.com/anderspitman/awesome-tunneling https://github.com/anderspitman/awesome-tunneling
- Uehreka 6y agoIf every link in the chain supports IPv6, can you connect directly to a computer behind a NAT by using IPv6? Or are IPv6 connections NATed too and we’re likely stuck with this for the foreseeable future?
- tweetle_beetle 6y agoOn the domain/DNS side, how do you see things being simplified? Services like GoDaddy already try to do this, but in hiding functionality or renaming key terms to dumb them down, they confuse things further for anyone using mainstream materials to reference or learn from. TTL is often dumbed down to an "auto" setting - fair enough, but beyond that how much more can you simplify within the existing technology frameworks? (Admittedly all the verification and security records are getting a bit out of hand, but they aren't compulsory.) Anecdata: I had a colleague think they were helping with something because they saw "domain forwarding" turned off for a domain that was used as a secondary domain for an existing site. It was all working absolutely fine, using server config and DNS. They turned it on and behind the scenes the "friendly", "easy to use" provider removed the custom nameservers and cleared the DNS records. When I initially turned the forwarding off again, it added some records to forward to its domain parking service. All of this was obscured and presumably done in the name of helping users.
- cornell532 6y agoJust signup for Shifter (https://www.getshifter.io/ https://www.getshifter.io/) and call it a day. The point of static hosting is to simplify things, not feed into developer fever dreams of complex systems. Plus, Wordpress is established, mature ecosystem that can provide almost any mainstream feature you could imagine. I went to them after losing a weekend trying to stand-up my company's website after some ill-advised changes to my Wordpress instance (bad plugins caused Wordpress server to crash). I haven't looked back since. Wordpress-based static hosting Just Works + makes sense ps HardyPress was a similar alternative I evaluated. It had an issue failing to render some of my webpages to static....but maybe it's become better
- kderbyma 6y agoif anyone is interested. I have a similar project called Calliope which is open source and based on similar principles. except that you get the admin panel and can either serve or static generate your site. I pushed out a starter template to make it easy to host a basic site with a few lines of code. it's here (https://GitHub.com/ConflictingTheories/Calliope https://GitHub.com/ConflictingTheories/Calliope)
- kderbyma 6y agoI just moved all my simple websites to Calliope which is very similar but you can self host it if you want or wrap it docker behind a load balancer or generate the static site. [Calliope](https://calliope.site https://calliope.site) it's on [GitHub](https://github.com/ConflictingTheories/Calliope https://github.com/ConflictingTheories/Calliope). It's designed for a simple clone and start.