The Arcology Garden

Build a Website Workshop

Contents

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