Digitalcarnage

digitalcarnage.co.uk a self-hosted, homelab server based in the United Kingdom.

Start Here

ynhSetup.jpgThe server software used is the freely available Yunohost server software, which uses Debian Linux. Several applications, some public and some private, are hosted on this server. See this page for the full list of applications currently installed.

The hardware is a Dell small form factor (SFF) 7020 desktop PC with an i7 4770 processor, 16 gigs of RAM and a 2TB hard drive. (An old-fashioned spinner!). There is a nightly mail and data backup and a full backup at the weekend. The backup is a simple cronjob that performs a backup to an external 1 gig solid-state drive. A second 1 gig drive is used as a second backup using Restic.

There are several domains hosted on the server that are registered through iWantmyname. See the full list of domains here in this chapter.

For details about installing yunohost and creating your own self-hosted server, you can just jump straight in here to get started.

Digitalcarnage Base System

OS
Kernel
Linux Name
Yunohost Version
 Debian 12.9
6.1.0-31-amd64 Bookworm 12.0.12 (stable)

Digitalcarnage current server status can be found here.

Server status uses the Uptime Kuma monitoring tool hosted by PikaPod. It’s always best to have your monitoring service not on your own server!

The full setup includes a Raspberry Pi 4, which is used for "local" external access by admins, and selected users only use WireGuard as a VPN to allow “local” access to the Yunohost server. Real VNC Server is also installed on the pi.

Screenshot 2024-12-10 at 6.03.33 pm.png


Server Applications

There are several user applications for use on this server, the public can use some of them, but for the most part, they are for private use. However, an account can be created on those apps by asking the admin to create one for you. SELF-REGISTRATION IS DISABLED on most apps for obvious reasons!

Application Name
Type of Application
Link to Author
Link on this server
Notes
Bludit
Flat File CMS
Bludit
Bludit

Bookstack
Document Wiki
Bookstack Bookstack This servers wiki
FreshRSS
RSS news gatherer
FreshRSS
FreshRSS

Immich
Phone photo backup
Immich
Immich

InvoiceNinja
Invoicing InvoiceNinja
InvoiceNinja

Jellyfin
Media server
Jellyfin
Jellyfin
 
LinkStack
Contact sharing
LinkStack
LinkStack
Registration permitted
My WebApp
Non YNH app installer
My WebApp
My WebApp
Used for DJ bio
Navidrome
Another music server Navidrome
Navidrome

Nextcloud
Collaboration platform Nextcloud
Nextcloud
Multiple instances installed
Piwigo
Photo management Piwigo
Piwigo
 
PhpMyAdmin MySQL Admin phpMyAdmin PhpAdmin Admin access only
Roundcube
Web-based email
Roundcube
Roundcube

Shaarli
Bookmark manager
Shaarli
Shaarli

Vaultwarden
Password Manager
Vaultwarden Vaultwarden

Webmin
Server administration
Webmin
Webmin
Admin access only
WordPress Blog/Website publishing
WordPress WordPress Multiple instances installed
YOURLS
URL shortener YOURLS
YOURLS
For public use


Multipule Instance Applications

Nextcloud and WordPress have multiple instances installed on this server.

NEXTCLOUD

This is the personal Nextcloud instance for Derek Jones.

This Nextcloud instance is for Derek Jones Lighting Design. It has a public viewable calendar.

A Nextcloud instance for digitalcarnage.

None of the above instances allow public registration however, if you are a user on this Yunohost server then you will have your Nextcloud instance available to you for your private use.


WORDPRESS

Derek Jones Lighting Design Website. There is also a live availability calendar provided by Nextcloud

Personal website.

Vabtours website recovered from a broken QNAP device.

Vamtours website.

Personal website.

Domains Hosted

There are several domains hosted on this server all of which are registered through iwantmyname. There is one domain that is registered with dynDNS courtesy of yunohost. When you install a yunohost server you receive one free domain. Click here for more details about installing your free domain once you have installed a yunohost server.

DOMAINS (and sub-domains) HOSTED ON THIS SERVER

Domains

Sub-domains

Yunohost/dynDNS domain

Local Domains

Backups and howto

This yunohost server is backed up onto two separate USB drives both of which are on-premise. Several attempts have been made to perform an off-premise backup using both Borg and Restic, but found to be more difficult than it’s worth!

Drive 1 (Drive label: YNHRECOVERY)

This backup uses the built-in Yunohost backup and recovery service. A simple cronjob is used detailing the time and what is to be backed up.

FULL BACK UP

OTHER

Drive 2 (Drive label: DATARECOVERY)

This drive uses the Restic backup/recovery application, which is a third-party application. Again, a cronjob is used to detail the times and what items are to be backed up.

The difference between the two backups is that the Restic backup is incremental and the last three backups are kept. The Yunohost backup is not incremental; therefore, some administration must be done to prune the drive as it becomes full.

HOW TO USE THE RESTIC BACKUP SERVICE (BASICS)

Restic is a backup service that can be installed from the CLI or through the Yunohost application catalogue. On this server, it has been installed using the CLI.

Where is the Restic app located? Type: which restic will show you where the app is located on your drive.

Where is my Restic repository Located? The Restic repository can be found at media/datarecovery/restic. This is a symbolic link from the Restic directory on the main drive. The physical drive is a USB spinner labelled “datarecovery”. 

What is the latest installed Restic version?
Type: restic version This will tell you the current version, which right now is restic 0.17.3

Can I update Restic? Type: restic self-update. If there is an update available it will be downloaded and installed.

Has the backup happened? Type: restic check -r /media/datarecovery/restic

How do I change the backup schedule? Type: crontab -u root -e Nano will open and you can edit the time and contents of your backup.

Can I see the snapshots? Type: restic -r /media/datarecovery/restic snapshots

Can I see the contents of the snapshots? Type: restic ls (snapshotID here) --repo /media/datarecovery/restic

Can I mount the snapshot? Type: restic -r /media/datarecovery/restic mount /mnt/restic

NOTE: For most of the above commands you will require the restic password that you set up when you created your repository etc.