My server runs Arch Linux with the default kernel.
More pics available here.
A list of components of the server can be found in the parts directory. My objective is to spend as little money as possible on this machine and make use of components that I have available for free (e.g.: old HDD's from laptops).
I tried using ddclient, but it had problems with using Cloudflare's API tokens (instead of the older API keys). Apparently it was a bug that was re-introduced, and fixed again, but the developers aren't doing releases (almost a year waiting for the release, as of writing.)
Cloudflare DDNS is a simple and cool project that uses Cloudflare's API python lib to update/create the DNS records. I started by using timothymiller's cloudflare-ddns package, but I didn't like it. As such, I created my own.
I use rsnapshot to do incremental backups of the server:
- Every 4 hours (
hourly
); - Every day (
daily
); - Every week (
weekly
); - Every month (
monthly
).
In the case of the database, rsnapshot calls the
backup-db.sh script. This script uses sqlite3's .backup
command and gzip, to compress and backup the database.
The server has an SSH key with the following forced command:
command="/usr/bin/rsync -azv --server --sender --delete /backup/ .",no-port-forwarding,no-X11-forwarding
.
This key allows automating the export of server backups, without compromising
security. To export a backup, we do:
rsync -azv --delete -e "ssh" ifgsvbackuper:/backup/ .
.
- CPU power
service sets the governor to
schedutil
on boot; - Powertop service sets all good tunables on boot;
I downloaded the ROM from Asus' support page (I've included the file in this repo). I've copied the file to a floppy disk (like the manual says), but the EZ Flash utility can't recognize it. I'm not sure why this happened.
So I moved on and found flashrom.
My motherboard was tested and is supported :) . I used this tool to backup the
old bios, and flash the new one. Note: I
had to (temporarly) append iomem=relaxed
to the kernel's command line for it
to work.
This section is for thanking people that contributed with parts (or other stuff) to this project. Thank you:
- anaines14:
- SATA cable;
- Molex to SATA power conector cable;
- 2GB of DDR2 RAM.
- rfontao:
- SATA cable;
- 1GB of RAM.
- Ivo Saavedra:
- Floppy disks (for flashing a new BIOS).