I could host a workshop at Eugene Maker Space about how to build a private social network where you and your friends can host little websites
Top-level
4-6 hour workshop where you start with a computer and learn about tailscale, http, hypertext, rss, running software
you end the day with a little box you can plug in and have your phone read the news and read other blogs and publish words to a web
the web we build is semi-public, there is a read-only copy on the clearnet made available by ems or myself or a 5$ linux server, but mostly you invite your friends to read it on tailscale.
The ugly
why do people think it's hard to host hypertext
linux updates, software churn,, etc
ip reputation and hosting costs
software vulnerabilities
computer is hard
ai scrapers
Linux Updates
you want an appliance. they basically work forever if you clean them once a year and make sure the moving parts are lubricated.
they are, yeah. if you set up debian stable today you'll have a computer that can last 8 years or so, but in eight years if you're still using this i likely wouldn't be around. even with automatic security updates, it's difficult for an internet connected thing to be an appliance
how do we build an appliance?
debian stable or a stable nixos/security-updates nixpkgs
automatic security updates, stable kernels. following rss feed of critical alerts from the local sysadmins
ip reputation and hosting costs
residential IPs and dyndns blogs are possible and have been for a decade, no one does them.
the network topology connecting my computer to your computer is more complicated than the one connecting your computer to google.com.
you probably don't actually want a device on your LAN listening on the net like that. you want something in front of it, something that could cache text and images closer to the person requesting them, perhaps, some sort of content distribution network
you want a way to simplify path of my text to your screen and vice/versa.
[this section needs network topology diagrams]
software vulnerabilities
auto-updates and minimal footprint. expose only nginx html to the public by default, no dynamic code execution. tailscale-only services like ssh and management systems
but computer is hard
it is. i often say to myself "Computer :(".
but we are on it, together. we are sharing the load of our hypertext.
ai scrapers
i'm not gonna lie it's disheartening to write a website that has analytics and network bandwidth limits and 95% of the traffic is automated.
mostly you want to exist on a sort of in-between net, mostly illegible to public systems and chasing virality, but mostly just inviting your friends to check out your private website
make hosting someone else's problem. anubis, caching, private-netting... acceptance defiance technopaganism anger the other stages of grief
The stack
day 1
A raspberry pi or nextstep dell opeteron
Debian Stable
Tailscale
Syncthing
site generator or something like anetnnaapp
Markdown mobile editor and syncthing client
takehome projects:
your own public webserver
tailnet-only tt-rss
your own cloud server
backups and snapshots, community sync networks
Debian Stable Install
flash drive w/ the image pre-validated is like 10$/unit.
hook em all up to a switch in the middle of the room with monitors we scrounge, no fussing with ssh and stuff yet. we're gonna be typing commands
i'll put the commands here in the doc.
i could do this part ahead of time...
Tailscale tailnet signup & configuration
we go through account setup and tailscale ACLs to share nodes with each other and our friends
Syncthing setup on phone & debian box
syncthing lets you write a file on your phone or your laptop and have it almost magically appear on your server. you can run syncthing over the tailnet, too.
break
site generator
we need some software that will take a directory of markdown and make html and rss.
we install this python thingy and wire it up and then we work on our css files
takehome projects
mobile editor and syncthing client
posting from one is nice
this is easy peasy on android. there is a syncthing client on ios but it's compromised.
your own public webserver
how to handle dns... i'll make dns subdomains for each of the servers we put together int he workshop, if you want to share them with my tailnet i can have them available on a virtual server in seattle hosted by a friend of mine.
you can use mine but you can also just follow this project plan again on a digital ocean computer for 5$ a month. you'll get a lot more scans and scams but you'll also be in control of your own destiny.
tailnet-only tt-rss
an rss reader lets you escape algorithmic bubbles and also to subscribe to blogs and news feeds. there's some good feeds. you can read the feeds on your phone and on your computer. click links, read pages, try to hop paywalls
backups and snapshots, community sync networks
the computer is impermanent. do you want your site to be?
we gotta account for this. i have some ideas for this, you might to once you play with syncthing more and more.
Sickos mode: we agree to get back together in a month and do this again but as nixos servers
then i pitch A High Level Overview of a Concept Operating System