Editing
Server
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
[[Server Ports]] = Misc = [https://www.youtube.com/watch?v=b3CTh1iqrGM 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''' [https://www.reddit.com/r/Piracy/search?q=sonarr&restrict_sr=on&sort=relevance&t=all Sonarr, Radarr, Lidarr, Readarr, Whisparr, Swappar)] == Home Assistant == 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 === 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).<syntaxhighlight lang="console"> docker pull homeassistant/home-assistant:stable </syntaxhighlight> '''2.''' Obtain the home assistant container's current docker run command paramaters <syntaxhighlight lang="console"> docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike -p home-assistant </syntaxhighlight> '''3.''' Stop and remove the old container<syntaxhighlight lang="console"> docker stop home-assistant docker rm home-assistant </syntaxhighlight> '''4.''' Run the new version of home assistant using the run paramaters that where obtained in step 1, for example:<syntaxhighlight lang="console"> 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 </syntaxhighlight><syntaxhighlight lang="console"> 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 </syntaxhighlight>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 == === Docker === ==== n8n ==== [https://community.n8n.io/t/use-local-directory-instead-of-docker-volume-for-n8n-data/151593/2 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.<syntaxhighlight lang="console" copy> 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/ </syntaxhighlight> In order to allow connections from the network: <code>N8N_SECURE_COOKIE</code> to <code>false</code> <code>N8N_BASIC_AUTH_ACTIVE=true</code>and then add the user and password you want for <code>N8N_BASIC_AUTH_USER</code> and<code>N8N_BASIC_AUTH_PASSWORD</code> ===== How to install n8n: ===== <syntaxhighlight lang="console" copy> 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 </syntaxhighlight> ===== Gogs ===== This is out of date, Gogs 0.14.x is installed now...<syntaxhighlight lang="console" copy> 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/ </syntaxhighlight>Not sure what that executable is? ==== Orpington-news ==== This is not actually needed as I don't use it. I created a database<syntaxhighlight lang="console" copy> 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=# </syntaxhighlight> The service is started with:<syntaxhighlight lang="console" copy> 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 </syntaxhighlight> ==== tt-rss ==== 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<syntaxhighlight lang="php" copy> 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']; } </syntaxhighlight> == Calibre Content Server == 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). <syntaxhighlight lang="markdown"> 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. </syntaxhighlight><blockquote></blockquote> == Hermes Agent Database == 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= [https://grafana.com/ Grafana] = RSS Reader = 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 {| class="wikitable" |+ !Name !Comment ! ! |- |[https://tt-rss.org/ 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 |- |[https://github.com/FreshRSS/FreshRSS 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. |- |[https://github.com/pietheinstrengholt/rssmonster 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. |- |[https://github.com/frysztak/orpington-news 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 :( |- |[https://codeberg.org/danb/rss danb/rss] |Someone on reddit said it's not good at management but the UI is nice. |WTF is codeberg | |- |[https://github.com/miniflux/v2 miniflux/v2] |Reddit recommendation from 7 years ago still seems to be recommended today. See also [https://github.com/electh/ReactFlux ReactFlux] |8k |No drag and drop. UI kind shit. NextFlux frontend not much better. |- |[https://www.commafeed.com/#/welcome CommaFeed] |Nice but no drag an drop, does have a fairly simple 'priority' though. |3.2k | |- |[https://git.sr.ht/~cedric/newspipe newspipe] |Screenshot shows feeds not in alphabetical order. | | |- |[https://github.com/LeslieLeung/glean glean] |New, need to checkout. | | |- | | | | |} {| class="wikitable" |+ !Name !Comment ! |- |[https://github.com/QuiteRSS/quiterss QuiteRSS] |'''Desktop App!''' Is there sync? Saw it recommended on a github issue. | |- |[https://github.com/yang991178/fluent-reader fluent-reader] |Reddit was saying you can use the Google Reader API on FreshRSS with this desktop app. | |- |[https://github.com/RSS-Bridge/rss-bridge RSS Bridge] |It generates web feeds for websites that don't have one. | |} =Troubleshooting= ==IO Issues== * [https://askubuntu.com/questions/33640/kworker-what-is-it-and-why-is-it-hogging-so-much-cpu/422151#422151 Kworker, what is it and why is it hogging so much CPU?] * [https://perf.wiki.kernel.org/index.php/Tutorial#Sampling_with_perf_record Perf tutorial] - sudo perf record -g -a sleep 10 * [https://www.youtube.com/watch?v=R4IKeMQhM0Y&list=PLwK_l3x4uX3YdUVVFoOdkAbxKVcaqc-EH Linux Performance Analysis: New Tools and Old Secrets] ./tpoint -H block:block_rq_insert * [https://www.youtube.com/watch?v=w8nFRoFJ6EQ Linux 4.x Tracing: Performance Analysis with bcc/BPF (eBPF) - Brendan Gregg] ==Slow login issues== * [https://www.youtube.com/watch?v=GsMs3n8CB6g Give me 15 minutes and I'll change your view of Linux tracing] 14min execsnoop
Summary:
Please note that all contributions to Hegemon Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Hegemon Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information