Server
Misc[edit | edit source]
New CHEAP 10GbE NICs and Switches 10Gbase-T for 2026 - RTL8127
TP-Link TL-SX105, TRENDnet TEG-S750 / TEG-S708 / TEG-S7102, NICGIGA Unmanaged 10 GbE Switches, QNAP and MikroTik models
Sonarr, Radarr, Lidarr, Readarr, Whisparr, Swappar)
Home Assistant[edit | edit source]
The server 'hextor' is running a docker container running home assistant. It is a self hosted install and does not use HACS.
Updating Home Assistant[edit | edit source]
Start by finding the current version of home assistant that is running from http://hegemon.crabdance.com:8123/config/info
1. Download the latest version of the home assistant container (If there is no new version then nothing else needs to be done).
docker pull homeassistant/home-assistant:stable
2. Obtain the home assistant container's current docker run command paramaters
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike -p home-assistant
3. Stop and remove the old container
docker stop home-assistant
docker rm home-assistant
4. Run the new version of home assistant using the run paramaters that where obtained in step 1, for example:
docker run --name=home-assistant \
--hostname=hextor \
--volume /mnt/storage5/data/home-automation/home-assistant:/config \
--volume /etc/localtime:/etc/localtime:ro \
--env=TZ=Australia/Melbourne \
--network=host \
--privileged \
--workdir=/config \
--restart=unless-stopped \
--device /dev/ttyACM0:/dev/ttyACM0 \
--log-driver=journald \
--runtime=runc \
homeassistant/home-assistant:stable
docker run -d --name=home-assistant --hostname=hextor --volume /mnt/storage5/data/home-automation/home-assistant:/config --volume /etc/localtime:/etc/localtime:ro --env=TZ=Australia/Melbourne --network=host --privileged --workdir=/config --restart=unless-stopped --device /dev/ttyACM0:/dev/ttyACM0 --log-driver=journald --runtime=runc homeassistant/home-assistant:stable
The home assistant install uses some custom components they are installed in "/mnt/storage5/data/home-automation/home-assistant/custom_components"
Download the latest releases from the github page.
https://github.com/basnijholt/adaptive-lighting/releases
Check the tarball structure befoure extracting.
Installing[edit | edit source]
Docker[edit | edit source]
n8n[edit | edit source]
Docker apparently won't populate the volume if it's a local bind giving a "Error: Command "start" not found"
For the first time I created the docker volume then manually copied out the contents. This should not be necessary anymore.
mkdir -p /mnt/storage5/data/docker/n8n
docker volume create n8n_data
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
docker volume inspect n8n_data
sudo rsync -avP /var/lib/docker/volumes/n8n_data/_data/ /mnt/storage5/data/docker/n8n/
In order to allow connections from the network:
N8N_SECURE_COOKIE to false
N8N_BASIC_AUTH_ACTIVE=trueand then add the user and password you want for N8N_BASIC_AUTH_USER andN8N_BASIC_AUTH_PASSWORD
How to install n8n:[edit | edit source]
docker run -it --rm \
--name n8n \
-p 5678:5678 \
--network host \
-v /mnt/storage5/data/docker/n8n:/home/node/.n8n \
-e N8N_SECURE_COOKIE=false \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=hegemon \
-e N8N_BASIC_AUTH_PASSWORD=nopassword \
-e N8N_RUNNERS_ENABLED=true \
n8nio/n8n:stable
Gogs[edit | edit source]
This is out of date, Gogs 0.14.x is installed now...
docker run \
--name=gogs \
--hostname=a6085e10821c \
--mac-address=02:42:ac:11:00:02 \
--volume /backup \
--volume /mnt/storage5/data/gogs:/data \
--network=bridge \
--workdir=/app/gogs \
-p 10022:22 \
-p 10080:3000 \
--restart=always \
--log-driver=journald \
--runtime=runc \
--detach=true \
gogs/gogs:0.12 \
/bin/s6-svscan /app/gogs/docker/s6/
Not sure what that executable is?
Orpington-news[edit | edit source]
This is not actually needed as I don't use it.
I created a database
hegemon@hextor ~/s/r/server (master)> sudo -u postgres psql
psql (16.10 (Ubuntu 16.10-0ubuntu0.24.04.1))
Type "help" for help.
postgres=# CREATE DATABASE orpington;
CREATE DATABASE
postgres=# CREATE USER orpington WITH PASSWORD 'A4_PASSWORD';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE orpington TO orpington;
GRANT
postgres=#
The service is started with:
docker run -it --name orpington-news --restart=always \
-e APP_URL=http://hextor:3333 \
-e DB_USER=orpington \
-e DB_NAME=orpington \
-e DB_HOST=hextor \
-e DB_PASS=alpha4 \
-e DISABLE_SECURE_COOKIE=true \
-p 3333:8000 \
-d ghcr.io/frysztak/orpington-news
tt-rss[edit | edit source]
comment out the extended_filtering line in /usr/share/tt-rss/www/classes/classes/urlhelper.php:99 to allow local ips and non-standard ports
Add the following to the function
static function build_url($parts) {
$tmp = $parts['scheme'] . "://" . $parts['host'];
// Include port if it exists and is not standard
if (isset($parts['port']) && !in_array($parts['port'], ['', 80, 443])) {
$tmp .= ':' . $parts['port'];
}
Calibre Content Server[edit | edit source]
This actually isn't used on the server so it's save to ignore. Calibre says don't use libraries over net shares. There is no way to make the desktop client work remote (without vnc).
Calibre Web is installed and running. Here's what was set up:
Installation:
• Cloned to /opt/calibre-web (owned by hegemon)
• Python venv at /opt/calibre-web/venv with all dependencies installed
Systemd user service:
• Unit file at ~/.config/systemd/user/calibre-web.service
• Enabled and auto-starts on login (WantedBy=default.target)
• Auto-restarts on failure (5s delay
Status:
• Running (PID 382696)
• Listening on port 8083 (IPv4 + IPv6)
• HTTP 302 redirect on first access (normal — redirects to the setup wizard)
First-time setup: Open http://localhost:8083/ in your browser to configure the admin account and point it at your Calibre library folder.
Hermes Agent Database[edit | edit source]
I don't think this is actually used...
hegemon@hextor ~> sudo -u postgres psql psql (16.13 (Ubuntu 16.13-0ubuntu0.24.04.1)) Type "help" for help. postgres=# CREATE DATABASE hermes; CREATE DATABASE postgres=# CREATE USER hermes WITH PASSWORD 'hermes'; CREATE ROLE postgres=# CREATE EXTENSION vector; CREATE EXTENSION postgres=# SELECT extname, extversion FROM pg_extension WHERE extname = 'vector'; extname | extversion ---------+------------ vector | 0.6.0 (1 row) postgres=# GRANT ALL PRIVILEGES ON DATABASE hermes TO hermes; GRANT postgres=#
hegemon@hextor ~ [2]> sudo -u postgres psql -d hermes psql (16.13 (Ubuntu 16.13-0ubuntu0.24.04.1)) Type "help" for help. hermes=# CREATE EXTENSION vector; CREATE EXTENSION hermes=# SELECT extname, extversion FROM pg_extension WHERE extname = 'vector'; extname | extversion ---------+------------ vector | 0.6.0 (1 row) hermes=#
Monitoring[edit | edit source]
RSS Reader[edit | edit source]
https://github.com/awesome-selfhosted/awesome-selfhosted?tab=readme-ov-file#feed-readers
https://www.reddit.com/r/selfhosted/search?q=rss&restrict_sr=on&sort=relevance&t=all
| Name | Comment | ||
|---|---|---|---|
| Tiny Tiny RSS | Apparently bad code and dev but seems to more fleshed out. | 220 (It's on gitlab) | No drag and drop. Some issues with things like updating feeds... No sort order. NO LIST VIEW! Articles open full size and have to be scrolled though |
| FreshRSS | Doesn't support reordering (There is a issue request). Clunky UI. Supports extensions (Including a YouTube one). | 12.3k | No drag and drop. UI kind shit. |
| RSSMonster | Looks nice and should have drag and drop reordering. Requires a MySQL database. | 456 | Drag and drop only reordered categories, not feed order. Massive pain to setup. Can't edit feeds after adding or even change category. |
| orpington-news | Looks nice and should have drag and drop reordering. Requires a Postgresql database. | 126 | Hasn't been updated in the last 2 years :( |
| danb/rss | Someone on reddit said it's not good at management but the UI is nice. | WTF is codeberg | |
| miniflux/v2 | Reddit recommendation from 7 years ago still seems to be recommended today. See also ReactFlux | 8k | No drag and drop. UI kind shit. NextFlux frontend not much better. |
| CommaFeed | Nice but no drag an drop, does have a fairly simple 'priority' though. | 3.2k | |
| newspipe | Screenshot shows feeds not in alphabetical order. | ||
| glean | New, need to checkout. | ||
| Name | Comment | |
|---|---|---|
| QuiteRSS | Desktop App! Is there sync? Saw it recommended on a github issue. | |
| fluent-reader | Reddit was saying you can use the Google Reader API on FreshRSS with this desktop app. | |
| RSS Bridge | It generates web feeds for websites that don't have one. |
Troubleshooting[edit | edit source]
IO Issues[edit | edit source]
sudo perf record -g -a sleep 10
./tpoint -H block:block_rq_insert
Slow login issues[edit | edit source]
execsnoop