This commit is contained in:
rra 2019-09-24 10:46:28 +02:00
parent ffde8de32f
commit def2d9baa2
3 changed files with 20 additions and 16 deletions

View File

@ -1,12 +1,11 @@
Title: Considerations for server hardware Title: Considerations for server hardware
Date: 2019-7-10 Date: 2019-7-10
Tags: hardware, sbc, Tags: hardware, sbc, power consumption
url: choosing-a-homebrew-server.html url: choosing-a-homebrew-server.html
save_as: choosing-a-homebrew-server.html save_as: choosing-a-homebrew-server.html
Summary: What makes a suitable homebrew server and where to get it? Summary: What makes a suitable homebrew server and where to get it?
Category: fundamentals Category: fundamentals
slug: 002 slug: 002
Status: published
[TOC] [TOC]
@ -34,9 +33,9 @@ All computers use power, but some use more than others. The function of the serv
![]({attach}images/dontturnoffthisisaserv.svg){: class="img-right"} ![]({attach}images/dontturnoffthisisaserv.svg){: class="img-right"}
You can get an approximation of power usage of a machine by looking at the power rating on the power supply or AC adapter. This value is usually expressed in Watt (or W). That number represents the theoretical *maximum* draw of that system, it might use less but not more. The laptop this article is written on is rated 65W but average consumption is about 10W. You can get an approximation of power usage of a machine by looking at the power rating on the power supply or AC adapter. This value is usually expressed in Watt (or W). That number represents the theoretical *maximum* draw of that system, it might use less but not more. The laptop this article is written on is rated 65W but average consumption is about 10W
So how to calculate what that costs for a year of usage? First let's asume that this value is indeed the Watt per hour (Wh). Multiply that number by 24 to get the usage in a day. So how to calculate what that costs for a year of usage? First let's assume that this value is indeed the Watt per hour (Wh). Multiply that number by 24 to get the usage in a day.
`10 Wh * 24 hours = 240Wh or 0.24KWh` `10 Wh * 24 hours = 240Wh or 0.24KWh`
@ -58,25 +57,25 @@ While older equipment will use more power for the same (or less) performance as
## Benefits and disadvantages of laptops as servers ## Benefits and disadvantages of laptops as servers
Laptops make good homebrew servers since they are widely available, relatively powerful and energy efficient. Aside from that they have the benefit of having a screen, keyboard and battery. Laptops make good homebrew servers since they are widely available, relatively powerful and energy efficient. Aside from that they have the benefit of having a screen, keyboard and battery.
If you are just starting out with running a server and are not yet so comfortable with the [command line and ssh]({filename}ssh.md) it can be a real benefit as you can work on the machine directly. Aside from that the laptop battery can mitigate sudden power outages, so that the laptop can shut itself down gracefully if power runs out. If you are just starting out with running a server and are not yet so comfortable with the [command line and ssh]({filename}ssh.md) it can be a real benefit as you can work on the machine directly. Aside from that the laptop battery can mitigate sudden power outages, so that the laptop can shut itself down gracefully if power runs out.
Laptops will also have the ability to hold one or more harddisks and plenty of USB ports for connecting multiple peripherals. Laptops will also have the ability to hold one or more hard disks and plenty of USB ports for connecting multiple peripherals.
It is not unlikely that you have one lying around or will be able to find one in a thriftstore or on the second hand market. It is not unlikely that you have one lying around or will be able to find one in a thrift store or on the second hand market.
Disadvantages can be size, sound, heat generation and power consumption (in particular if you don't tune the power management to turn off the screen). Disadvantages can be size, sound, heat generation and power consumption (in particular if you don't tune the power management to turn off the screen).
## Single Board Computers ## Single Board Computers
Arguably the ideal homebrew server hardware is the Single Board Computer (SBC). These are often very small computers on a single chip. They are aimed at hobbyists and meant for prototyping. Popular brands are RaspberryPi, BeagleBone, Hardkernel and Olimex. Arguably the ideal homebrew server hardware is the Single Board Computer (SBC). These are often very small computers on a single chip. They are aimed at hobbyists and meant for prototyping. Popular brands are [RaspberryPi](https://www.raspberrypi.org/), [BeagleBone](https://beagleboard.org/bone), [Hardkernel](https://www.hardkernel.com/) and [Olimex](https://www.olimex.com/).
![]({attach}images/homebrewserver.svg) ![]({attach}images/homebrewserver.svg)
They typically use the same ARM processors as used in smart phones meaning they are extremely energy efficient, using only a few Watts of energy under full load. Most models don't use active cooling so they make no sound, which is a boon in domestic environments. They can also be very cheap, ranging from €10 to €50. They typically use the same ARM processors as used in smart phones meaning they are extremely energy efficient, using only a few Watts of energy under full load. Most models don't use active cooling so they make no sound, which is a boon in domestic environments. They can also be very cheap, ranging from €10 to €50.
The disadvantages are that, compared to a laptop, they are relatively 'incomplete'. You will need at the very least get an SD card and 5V charger to use them. They don't have a battery meaning that a power outage will shut it off without warning, possibly corrupting the SD-card. In terms of performance they usually have less RAM available than a laptop. Their bus bandwith to read/write disks they can also be lacking. The disadvantages are that, compared to a laptop, they are relatively 'incomplete'. You will need at the very least get an SD card and 5V charger to use them. They don't have a battery meaning that a power outage will shut it off without warning, possibly corrupting the SD-card. In terms of performance they usually have less RAM available than a laptop. Their bus bandwidth to read/write disks they can also be lacking.
Having said that there are some boards which are really well optimized for homebrew server usage, such as the Olimex boards. These have SATA ports (for connecting HDDs), are able to use Li-Po batteries, Gigabit Ethernet ports and decent amounts of RAM. You will also find many SBCs on the second hand market. Having said that there are some boards which are really well optimized for homebrew server usage, such as the Olimex boards. These have SATA ports (for connecting HDDs), are able to use Li-Po batteries, Gigabit Ethernet ports and decent amounts of RAM. You will also find many SBCs on the second hand market.
@ -84,16 +83,19 @@ In general there are quite some Free Software distributions optimized for single
## Virtual Private Server ## Virtual Private Server
Sometimes it is not possible to take the 'home' in homebrewserver.club literally because your Internet Service Provider may be blocking certain ports or types of traffic. Sometimes it is not possible to take the 'home' in homebrewserver.club literally because of your Internet Service Provider.
A possible alternative is then to consider a Virtual Private Server (VPS). These are servers, that for all practical purposes (including root access) are usable in the same way as a physical server. These VPSes are usually located in datacenters and offered by hosting companies. They are software only, hence virtual, and usually multiple VPSs share a single physical machine. A possible alternative is then to consider a Virtual Private Server (VPS). These are servers, that for all practical purposes (including root access) are usable in the same way as a physical server. These VPSes are usually located in datacenters and offered by hosting companies. They are software only, hence virtual, and usually multiple VPSs share a single physical machine.
They can be found for as little as €3 a month. They can be found for as little as €3 a month.
![]({attach}images/thomasserver.svg){: class="img-right"}
The great advantage of a VPS is that you won't have port restrictions, traffic shaping and generally a fast uplink. Aside from that, a VPS means no hardware maintenance and it's not your personal IP-address. The great advantage of a VPS is that you won't have port restrictions, traffic shaping and generally a fast uplink. Aside from that, a VPS means no hardware maintenance and it's not your personal IP-address.
The downsides are that you are essentially renting, storage space tends to be relatively expensive, you might not always have full control over the kernel and OS. For the paranoid it might mean that since your entire system is running in a physical machine's RAM, it is possible to retrieve your sensitive data without you knowing. The downsides are that you are essentially renting, storage space tends to be relatively expensive, you might not always have full control over the kernel and OS. For the paranoid it might mean that since your entire system is running in a physical machine's RAM, it is possible to retrieve your sensitive data without you knowing.
## Costs of the homebrew server ## Costs of the homebrew server
One of the things that might hold one back are the costs involved in the whole undertaking. One of the things that might hold one back are the costs involved in the whole undertaking.
@ -106,4 +108,6 @@ If you can reuse old equipment the costs would be only for electricity, since yo
As for a VPS, if one compares the processing power of lower-tier VPS providers one can get 1 core 2Ghz and 2GB RAM for about €3. This is equivalent to low-end SBCs but if one starts to add storage to the VPS, the price quickly ramps up. As for a VPS, if one compares the processing power of lower-tier VPS providers one can get 1 core 2Ghz and 2GB RAM for about €3. This is equivalent to low-end SBCs but if one starts to add storage to the VPS, the price quickly ramps up.
[^1]: See per capita electricity consumption for the world population: <https://en.wikipedia.org/wiki/List_of_countries_by_electricity_consumption> [^1]: See per capita electricity consumption for the world population: <https://en.wikipedia.org/wiki/List_of_countries_by_electricity_consumption>

View File

@ -13,19 +13,19 @@ slug: 006
We privilege general approaches over particular software applications. We try to contextualize our technical choices socially, politically and economically to provide in-depth understanding and prevent The Best Way™ solutionism. For these reasons we like free and open source software as a starting point and try to provide documentation for others to learn as well. We privilege general approaches over particular software applications. We try to contextualize our technical choices socially, politically and economically to provide in-depth understanding and prevent The Best Way™ solutionism. For these reasons we like free and open source software as a starting point and try to provide documentation for others to learn as well.
## Take the home in homebrewserver.club literally and the self in self-hosting figuratively ## Take the home in homebrewserver.club literally and the self in self-hosting figuratively
That means we try to host from our homes rather than from data centers - a.k.a. 'the cloud' - and we try to host for and with our communities rather than just for ourselves. That means we try to host from our homes rather than from data centres - a.k.a. 'the cloud' - and we try to host for and with our communities rather than just for ourselves.
## Make space for learning together ## Make space for learning together
Primarily the homebrewserver.club wants to be a space for learning together. This either means that you are knowledgable about a topic and willing to share or that you are curious and willing to learn. We are all about the long route that provides grounded understandings instead of mindlessly copy pasting things into the terminal to install software via $current_hip_framework. Primarily the homebrewserver.club wants to be a space for learning together. This either means that you are knowledgeable about a topic and willing to share or that you are curious and willing to learn. We are all about the long route that provides grounded understandings instead of mindlessly copy pasting things into the terminal to install software via $current_hip_framework.
## Yes, Were Config™ ## Yes, Were Config™
We try help each other out out but we cant do the work for you. Were Config, meaning were comfy with figuring things out and making mistakes. We take pleasure in researching configurations and in the struggle of getting things working. We gladly lend you a helping hand, but we wont be able to hold your hand through the whole process. We try help each other out out but we cant do the work for you. Were Config, meaning were comfy with figuring things out and making mistakes. We take pleasure in researching configurations and in the struggle of getting things working. We gladly lend you a helping hand, but we wont be able to hold your hand through the whole process.
## Serve from constraints ## Serve from constraints
Having a homebrew server means owning up to the fact that you are serving from constraints. You dont have the fastest connection. You use as little power as possible. Your server is some spare laptop you had lying around. You want as little maintenance or worrying as possible. Youre not on 24/7 stand by if there is an issue. All of that is perfectly ok. Knowing this influences our choices in terms of what to run and how. Having a homebrew server means owning up to the fact that you are serving from constraints. You dont have the fastest connection. You use as little power as possible. Your server is some spare laptop you had lying around. You want as little maintenance or worrying as possible. Youre not on 24/7 stand by if there is an issue. All of that is perfectly OK. Knowing this influences our choices in terms of what to run and how.
## Be an amateur ## Be an amateur
What works for data centers and the industry does not necessarily work for homebrew servers. As such, the homebrewserver.club documentation wont be exhaustive. We rather intend to add to existing on-line knowledge, particularly from the perspective of the homebrew server admin. What works for data centres and the industry does not necessarily work for homebrew servers. As such, the homebrewserver.club documentation wont be exhaustive. We rather intend to add to existing on-line knowledge, particularly from the perspective of the homebrew server admin.
## Embrace the Feminist Server Manifesto ## Embrace the Feminist Server Manifesto
We subscribe to the principles of the [Feminist Server Manifesto](https://areyoubeingserved.constantvzw.org/Summit_afterlife.xhtml) forwarded by our friends at Constant, a non-profit, artist-run organisation based in Brussels active in the fields of art, media and technology. We subscribe to the principles of the [Feminist Server Manifesto](https://areyoubeingserved.constantvzw.org/Summit_afterlife.xhtml) forwarded by our friends at Constant, a non-profit, artist-run organisation based in Brussels active in the fields of art, media and technology.

View File

@ -183,7 +183,7 @@ HTTPS, which stands for *hypertext transfer protocol secure*, is an extension of
As part of its bigger goal to "encrypt the entire Internet", the [Electronic Frontier Foundation](https://certbot.eff.org/about/) developed Certbot, a free and open source tool for automating the server-side deployment of [Let's Encrypt Certificates](https://letsencrypt.org/), thus enabling HTTPS. As part of its bigger goal to "encrypt the entire Internet", the [Electronic Frontier Foundation](https://certbot.eff.org/about/) developed Certbot, a free and open source tool for automating the server-side deployment of [Let's Encrypt Certificates](https://letsencrypt.org/), thus enabling HTTPS.
Let's get down to it! Again, these instructions are specific to Debian 9 (Stretch), but detailed instructions for installation on other distros can be found on [Certbot's website](https://certbot.eff.org/instructions) Let's get down to it! Again, these instructions are specific to Debian 9 (Stretch), but detailed instructions for installation on other distributions can be found on [Certbot's website](https://certbot.eff.org/instructions)
First, add backports to your packages list and update it: First, add backports to your packages list and update it: