Timeframe
Configuration
Hardware
Software
The horrific dev logo: a pixelated burning computer.
horrific.dev
Breaking things since 2019.

There are essentially three phases to setting up this server and realizing our (small but broad) vision for what we want to do, hosting-wise.

Phase 1: Setup This will mostly entail setting up the OS, deployment/containerization, and increasing our capacity to a working level. As of right now, we have a functional server with a 120GB PCIe SSD for OS/speed-critical stuff. This, plus a few assorted drives (target expenditure <$100, target capacity >1TB), is essentially all we need to have a viable server for essentially any computing project. (timeframe: end of March 2020)

Phase 2: Usage This is where we, and trusted/brave early adopters, start migrating our own computing projects permanently over to the server. It's important to not try to scale too quickly here, and to allow plenty of time to fix bugs, reconfigure stuff, and automate our workflows so we can scale without becoming full-time IT support. Personally, I think the end of this phase should be when we're comfortable using the server personally, plus one month for preparations. (timeframe: end of May 2020)

Phase 3: Reliability I wanted to name this phase "reliability-at-scale," but I wanted to stick with the one-word naming convention. This is the big-time. By now, we should no longer be making major breaking changes to infrastructure and foundational software, and creating new projects should be 90% automated. I'm completely fine with having to SSH in to accomplish a queue of tasks that are easier for humans to do every few days, but I'm really not fine with manually creating/hooking things up, for instance. Security should be 100% figured out, implemented, and independently audited. (It may be worth paying for this before a serious launch.) This phase will entail submitting our offerings to lists of indieweb hosting, publicizing our web presence, and solidifying our budget and payment model. (timeframe: 90 days of launch preparations, then ongoing from July 2020)

Expansion

After we're semi-seriously launched, we should think about how next to majorly expand our offerings. Other servers, drive bays, etc. We're not likely to start hitting the limits of our current server for at least six months (according to other indieweb* people I've talked to), so here, in no particular order, are what I think we should plan to upgrade over time, when we have the resources:

This is obviously an incomplete and aspirational list. It's entirely possible that there isn't demand for these services, or they're difficult to do at our small scale, but I think as we upgrade and expand, it's helpful to have guiding principles and goals in mind.