We are still actively working on the spam issue.
Setting up a Server/Home or Remote?
If you want a server, you have two options: Either make your own, or rent one.
Running your own has the following benefits:
- Cheap servers are almost always VPSs, and their specs are set very low. Even bottom of the barrel hardware from 5 years ago or average hardware from 10 years ago will get you better performance.
- Upgrading is as easy as buying a new component and sticking it in. You can install whatever software you want.
- No giving permanent access to your credit card to some company on the other side of the planet.
- You don't have to trust anyone but yourself with your data.
- When at home, you can connect to the server over LAN for blazing fast speeds.
- Can connect server to TV with HDMI for watching chinese cartoons.
- Very cheap or free if you have old hardware lying around.
But renting a server also has benefits:
- Can rent the server in a country with strong privacy laws.
- Protects your identity if you use it as a proxy (assuming the company doesn't fucks you over).
- Often lower-latency/faster connection to the internet.
- Less downtime, less maintenance problems, no electricity cost.
- Probably more secure than what you'll get if you roll your own.
- No hassle from your ISP.
- At $10/mo will cost you $120 in one year. If you are buying all hardware new, a comparable headless server (no permanent monitor or keyboard) will cost more.
A server is any machine that is on all the time, and accepts connections from the internet. Anyone who knows the IP of the server or a domain that points to that IP can try connecting. Servers can serve multiple different services, usually each service has its own port. Once it's set up you disconnect everything (monitor, keyboard, mouse) except the power cord and ethernet jack, and install something called an SSH server. You can then connect to the server from anywhere over the internet (or from inside your house over the LAN) and control it remotely.
Servers are typically administered from the command line, because GUI lags a shitton for remote access.
The first option to consider is just getting a self-contained system, like a small PC designed for this purpose or a Single board computer. Often you can get a large rebate on already low-priced SMB servers like the HPE Microserver series, making them nigh unbeatable on price.
If you want to build your own, it can be as easy as buying some of the cheapest stuff from the Logical Increments list.
- Case: You want the smallest case that your mainboard will fit in. Unlike a desktop, you don't really need to worry about cooling or space. You can usually find some good cases like Corsair or Fractal for only $5-10 more than the cheapest one available, so that might be a good idea.
- Motherboard: Get the cheapest one you can find. Go for microATX or miniATX. The main criteria you want are:
- Compatible with a suitable CPU
- Has on-board graphics
- HDMI output is nice so you can connect to a TV
- USB 3.0 or eSATA support if you'll be using those for backing up to external drives.
- CPU: You want a cheap CPU with very low power consumption. Server CPU usage hovers around 1% and rarely goes above 5%. If your load is ever 100% it's time to monetize whatever it is you've been doing and get rich. Every extra watt is more power consumption, more heat and thus more noise (and with a server the noise can be a much bigger problem, depending on where it is). AMD's budget CPUs are great for these requirements.
- RAM: Any sane server OS will easily be okay with 512 MB. 1-2 GB doesn't hurt, but above 2 GB is overkill. (even 1 GB is overkill unless you're actually doing some heavy stuff)
- HDD: Anything big and cheap works fine. Even really shitty old drives can be repurposed and put in a suitable RAID, to compensate for failure, low speed or small capacity. This is probably the most critical spec of your server, besides power consumption - just stick every spare HDD you have in there.
- PSU: Your peak power consumption will probably be less than 100W, and you will never be at peak (maybe when installing OS). Unfortunately, it's hard to find decent PSUs (given that this machine is always powered, PSU is probably not a place to skimp) below 500W, so you will probably end up with those.
Remote servers generally fall into one of two categories:
A VPS is a virtual private server. When you rent a server from a company, they don't literally go and build a new machine just for you. They have huge server boxes running a VM software, and they just create a new virtual machine (or container) for you. That is your VPS. Cloud servers can be thought of as more flexible VPSs, with more fine-grained control over resources and hourly billing. Some VPS have dedicated resources, bridging the gap between them and
A Dedicated server is what it sounds like. You rent an entire system not shared with anybody else. Naturally more expensive than a VPS, but more secure and you are free to use as much of the resources as you want. Slightly beyond the scope of this wiki, but most things applying to VPSs also apply to Dedicated servers. Recommended for any high cpu/io task such as some gameservers.