zine/issues/1/you_wanna_make_a_tilde.md

142 lines
6.9 KiB
Markdown
Raw Normal View History

2019-03-30 02:18:10 +00:00
# So, You Wanna Make A Tilde?
2019-09-23 14:21:43 +00:00
author: ubergeek
2019-09-23 23:29:15 +00:00
So, you want to make a Tilde server (aka a pubnix server)? You've got
time on your hands. You want to make a new and cool thing, right?
Awesome! This article is going to step you through some of the pitfalls,
so you can try to ensure it's going to be fun.
2019-03-30 02:18:10 +00:00
## Why?
2019-09-23 23:29:15 +00:00
Before you start down the road, ask yourself "Why?" Why do you want to
make a tilde server? To be ultimate lord over a domain? To have a cool
art project to play with? Any reason is a valid reason, but the "Why"
2020-05-29 13:23:10 +00:00
answer will help you build your tilde and cultivate its community.
2019-03-30 02:18:10 +00:00
## How?
2019-09-23 23:29:15 +00:00
Yep. "How?" Running a tilde server is not free, money-wise, or
time-wise. It's work, and money.
Are you cash-strapped, but have an old machine and somewhat stable
internet connection? Maybe home-hosted is the way to go. But, where you
save on money, you generally spend more time on it. Self-hosted can be
fun, but you're going to spend more time on administering it, since
you'll be responsible for all of the hardware and software up to your
internet connection. If the hard drive dies, or a RAM module gives up
the ghost, it's on you to replace it, and your tilde will be down until
you do so.
Are you time-strapped, but extra cash? A VPS is a fine choice for a
small tilde, and can be relativeley cheap. You can get a small VPS for
\$2.50/month US, and it'd be suitable for at least a dozen users, who
aren't hammering on the machine. There's also dedicated servers (You
manage the whole machine, hardware and software, your provider manages
power and network, but you don't own the hardware, and they replace bad
hardware), or you could co-locate them (You are responsible for
everything but power, and a internet drop). Each option has it's own
pitfalls and benefits. It boils down to the more you pay more for
resources, the less you are responsible for.
What OS? Lots of tildes run Ubuntu, so help is plentiful there. There's
some BSDs, as well, and at least one Redhat-based tilde. The more unique
your distro/OS, the more you'll be on your own. Something to keep in
mind there as well.
One thing to keep in mind, though: If you're going to do the same thing
every other pubnix operator does (Most commonly used distro, most common
2020-05-29 03:41:12 +00:00
web server, most common forum software, most common set of service, etc)
2019-09-23 23:29:15 +00:00
then what will make your pubnix different? The "Why?" answer will fill
this part in, which is the reason why it's the most important question,
and comes first.
2019-03-30 02:18:10 +00:00
## What?
2019-09-23 23:29:15 +00:00
I know. You're saying right now,"What does he mean 'what?' A tilde you
daft bastid!"
2019-03-30 02:18:10 +00:00
2019-09-23 23:29:15 +00:00
The "what" defines what kind of community you want to build. Are you
just building a clubhouse for close friends? A living digital art
community? A community of arduino hobbyists? This is a key thing to
figure out BEFORE you decide to launch your tilde. This also guides your
technical decisions, and things to install, services to provide, etc etc
2019-03-30 02:18:10 +00:00
## So, who actually did this?
2019-09-23 23:29:15 +00:00
I can tell you from personal experience with thunix, that I went through
these same steps. Some questions were pre-answered since I essentially
2019-09-23 23:29:15 +00:00
took the reins from an already existing project.
Why? I felt I had a lot of experience to lend to the community. My
professional job is running, managing, deploying, and maintaining linux
servers. Some of them are internally pubnix boxes. Users use them for
building code, doing git work, etc etc. Some things are missing, like
chat, but there are other tools for that sort of thing. But,
nonetheless, experience I have, and decentralization is what I wanted to
bring. I also wanted to give users a place to play with what a CI/CD
environment is like, and as such, we designed thunix to be built and
maintained in a devops manner: users and administrators work hand in
2019-09-23 23:29:15 +00:00
hand to build the system.
How? My job pays well enough that I have some disposable income, on a
regular basis. Not a starving artist, or a contractor wandering from job
to job. Also, I had some cloud stuff already, and this seemed like a
good enough reason to get some dedicated hardware, and consolidate, and
save some money. Also, the project I took over for suffered from Bus
Factor of 1. The users already lost everything once, and I endeavored to
ensure that would not happen again. I settled on git-controlled system
configs, and distributed backups (Machine backs home up, and admins are
responsible for copying that backup off regularly). Anyone from the
admin team can get everything running in a new place, in short order.
Any one user can replicate what we've done, shy of the backups
restoration (Access to the backups is a root-only job).
What? While old-thunix was big, and offered lots of services, to me, it
seemed like it lacked a community. So, I decided to turn it into not
just a service provider, but a provider for those who are technically
inclined, or willing to at least put in sweat equity. ie, I'll never
reject a pull request unless it endangers stability, or security. I'll
also step people through contributing, if they need.
2019-03-30 02:18:10 +00:00
## What Not To Do
2019-09-23 23:29:15 +00:00
Mostly, the one thing you want to avoid is overextending yourself.
Taking on a community is a big deal, and not to be taken lightly. Your
community members put their trust in you, and if you cannot sustain the
community from your own resources for a period of time, you need to be
upfront, and scale down your expectations appropriately.
There is nothing wrong with NOT making your own pubnix, and just using
the resources freely offered by other folks.
Don't jump foot first into it, without planning a little. Many people
have done this before you (They used to be called "free shell
providers"), and many will happily lend a hand, or let you bounce ideas
off of them. And, popping up a monstrous server, expecting thousand of
people to swarm into your clubhouse right away is probably not so great
an idea, either.
Don't be afraid to start small. Most pubnixes offer a shell + some
public webspace. Don't feel like you need to start off right away with
more than that. You can incrementally add things. For most things? 2
cores, and 4GB of RAM is plenty for a user or two, offering only that.
With cloud providers these days, it's usually pretty easy to scale up.
Not so much to scale back down.
Don't ask people how you should implement something. I'm not talking
about troubleshooting tips, we all need that from time to time. But
asking,"What should the default shell be?", "Which web server should I
use?", "Which Minecraft server should I deploy for users?" are bad
questions, in some contexts. You're in charge of the community's
resources. You should be deciding how to offer what. A big part of
starting a pubnix is architecting it.
2019-03-30 02:18:10 +00:00
## Conclusion
2019-09-23 23:29:15 +00:00
I guess to conclude, you may not agree with these steps. That's fine.
The great thing about these sorts of projects is that you can do you.
It's a big job, or as big as you want to make it, but very fulfilling.
Don't bite off more than you can chew, and don't worry about making
mistakes (Even ignoring this doc), and have fun doing it!