# Twtxt is an open, distributed microblogging platform that # uses human-readable text files, common transport protocols, # and free software. # # Learn more about twtxt at https://github.com/buckket/twtxt # # This is an automated Yarn.social feed running feeds v0.1.0@72e53a9 # Learn more about Yarn.social at https://yarn.social # # nick = felixs-page # url = https://feeds.twtxt.net/felixs-page/twtxt.txt # type = rss # source = https://blog.9wd.eu/index.xml # avatar = # description = # updated_at = 2024-03-21T18:33:40Z # 2022-05-26T19:00:00Z **Free off-site monitoring and status page with Fly.io and Uptime Kuma**
What good is a status page, when its availability depends on the status of your own infrastructure? After all the status page (and your monitoring) should also be available when the rest of your infrastructure isn’t. Bonus points of the status page is even in a different region/with a different provider.
Fly.io is a hosting provider that generously provides a free tier (256MB Ram and 3GB of storage) which is large enough to run an instance of Uptime Kuma. ⌘ [Read more](https://blog.9wd.eu/posts/flyio/) 2021-10-04T07:44:56Z **OliveTin** ⌘ [Read more]() 2021-10-04T07:44:17Z **UpSnap** ⌘ [Read more]() 2021-08-09T06:21:20Z **Migrate notes from Standard Notes to Joplin** ⌘ [Read more]() 2021-06-26T09:25:00Z **Mirror git repository with post receive hooks**
To automatically mirror a git repository from an internal system (like a private Gitea) to an external system (like Github) the following Script can be used as a so called “post receive hook”:
#!/usr/bin/env bash downstream\_repo="git@github.com:your-user/your-repo.git" # if tmp worries you, put it somewhere else! pkfile="/tmp/gitea\_dotfiles\_to\_github\_dotfiles\_id\_rsa" if [ ! -e "$pkfile" ]; then # unindented block for heredoc's sake cat > "$pkfile" << PRIVATEKEY -----BEGIN OPENS ... ⌘ [Read more](https://blog.9wd.eu/posts/git-mirror/) 2021-06-21T19:00:00Z **Managing Cloudron users via Univention Corporate Server (UCS)**
This blog is a recap instructions I originally documented in the Cloudron forum.
The strength of Cloudron is that its a simple single server installation that provides central user management for apps running on it. But sadly only for apps running on it. Sometimes you want to use the same users for file shares, windows logins or external applications that support LDAP like media servers and NAS devices.
For this a server that can act as a windows domain control can c ... ⌘ [Read more](https://blog.9wd.eu/posts/cloudron-ucs/) 2021-06-21T08:24:51Z **32 Practical Kanban Board Examples** ⌘ [Read more]() 2021-06-18T21:30:00Z **Cloudron Migration Tipps**
Since my current Cloudron installation was both running out of disk space and running a soon unsupported version of Ubuntu, it was time to move it to a new and bigger server. Luckily the way Cloudron is setup makes this already very easy, but since I am using some of its apps in a production manner (like for example its mail server) I cannot just tell everybody, that would connect to the server to please not do it for a given timeframe. ⌘ [Read more](https://blog.9wd.eu/posts/cloudron-migration/) 2021-06-14T21:15:00Z **Photos**
Photo galleries have been migrated to Flickr. ⌘ [Read more](https://blog.9wd.eu/galleries/) 2020-12-15T12:47:13Z **Minimal safe Bash script template** ⌘ [Read more]() 2022-10-08T12:30:00Z **Some external services that are part of the 9wd.tech stack**
While I value self hosting for the learning value, I also see a benefit of looking across the table to solutions that may be externally hosted, but are good to know and use not only because of their use in the business world, but also because having a reliably third party service e.g. for (backup-)access, messaging and monitoring can greatly simplify ones infrastructure. And since these services know their value to large scale businesses, they often provid ... ⌘ [Read more](https://blog.9wd.eu/posts/9wd-tech-external-services/) 2022-10-08T12:00:00Z **9wd.tech - watch me rebuild my IT infrastructure**
The time has come to perform some much needed changes in my private IT landscape. Over the years a collection of single board computers, physical and virtual machines has formed the base for my own IT “zoo”, and as time has progressed some parts of it are in need of an overhaul, since they have been built on changing needs and past assumption, that may have not turned out as wise as once thought. ⌘ [Read more](https://blog.9wd.eu/posts/9wd-tech-intro/) 2022-10-15T15:00:00Z **Storing secrects in git repositories with age**
In my endavour to rebuild my IT infrastructure (with a Gitops-ish approach in mind) I needed to take a short break to figure out how to securely store secrets inside of my git repository. There are multiple approaches to this and then there is of course also the possibility to not store any secrect at all in git, but rather retrieve them at runtime from e.g. Vault. One popular solution when looking for “encrypt git repository” is git-crypt and while I have used it in the past ... ⌘ [Read more](https://blog.9wd.eu/posts/git-encryption-age/) 2022-10-16T16:00:00Z **9wd.tech - User identity and access - Part 1**
Preamble: I like running containers in my own infrastructure via docker-compose. Through it you can easily define the properties of your containers and their relations to each other. Which makes maintenance and even migration much easier. Sure in a business environment (and if the application is suitable for it) you may be using a proper container orchestrator like Kubernetes, but Kubernetes comes with its own added complexity and even in a business environment you may not want ... ⌘ [Read more](https://blog.9wd.eu/posts/9wd-tech-authentik/) 2022-11-02T13:52:43Z **Hugo static blog engine with Mastodon comments: step by step quick howto** ⌘ [Read more]() 2022-12-05T09:45:00Z **Cheat sheet: Cloudron**
Cloudron is a platform to easily install, run and maintain apps on a publicly hosted server. Apps are installed from an app store and the server as well as installed apps can automatically update once a newer version is available. Cloudron also takes care of backups (for example nightly and before performing an update) which makes it easy to either roll back to an older version or in case of hardware failure restore a system (incl. ⌘ [Read more](https://blog.9wd.eu/posts/cloudron-cheats/) 2022-12-05T09:30:00Z **Blog quickie: Change Android screen density through adb**
Some devices support setting of the screen density/resolution through Android settings. If a device does not have this setting then the value can also be changed through %%adb%%.
adb devices adb shell wm density 280 ⌘ [Read more](https://blog.9wd.eu/posts/android-screen-denisty/) 2022-12-05T09:00:00Z **Blog quickie: Window control shortcuts for ChromeOS Terminal app**
Everything running in a browser is sometimes a challenge when it comes to conflicting keyboard shortcuts between browsers and terminal applications. Luckily the ChromeOS terminal is quite configurable.
Hit ´´Ctrl+Shift+P´´ to go to settings and then paste the following in “Keyboard bindings/shortcuts”
{ "Alt-187": "PASS", "Alt-189": "PASS", "Alt-219": "PASS", "Alt-221": "PASS", "Ctrl-Shift-W": "PASS" } Thanks to this Reddit post for the hint. ⌘ [Read more](https://blog.9wd.eu/posts/chromeos-terminal/) 2023-05-28T09:45:00Z **Create interactive runbooks with Runme**
Runme is both a cli tool and an extension for Visual Studio Code and it makes your markdown server documentation executable.
When setting up a system or playing with a new piece of software I often like to write myself a small README.md files. These then provide little copy & paste instructions for various tasks, but there is one main problem with this. It is still a constant case of switching between windows and terminals. ⌘ [Read more](https://blog.9wd.eu/posts/runme-readme/) 2023-06-24T06:00:00Z **Read newsletters in your RSS reader and not your email program**
We all know this problem. There are certain newsletters, such as DevOps Weekly, that you don’t want to miss, but you also don’t want to consume them with your other emails. A nice way to solve this dilemma is Kill the Newsletter!. It is both a free hosted service and an open source project that you can run yourself.
Instead of giving out your personal email address, Kill the Newsletter generates a special email for you, which you use to subscribe to your news ... ⌘ [Read more](https://blog.9wd.eu/posts/kill-the-newsletter/) 2023-06-30T06:00:00Z **Use autorestic to create remote backups to Hetzner Storage Boxes**
Step by step instructions on how to backup to Hetzner Storage Boxes via autorestic.
Install autorestic Link to heading The autorestic developers provide a simple one liner to install autorestic and restic.
wget -qO - https://raw.githubusercontent.com/cupcakearmy/autorestic/master/install.sh \| bash Create dedicated SSH Key for Hetzner Link to heading Now we need to setup access to our Storage Box. We are going to use sftp/scp for this. ⌘ [Read more](https://blog.9wd.eu/posts/restic-autorestic-hetzner-storagebox/) 2023-07-30T08:30:00Z **Use the Cloudron OpenID Connect to login to Gitea**
Cloudron recently added native support for OpenID Connect (oidc for short), which means that manual workarounds like using Kopano Meet as a bridge are no longer needed.
One application I use quite often on my own Cloudron is Gitea. For example, the source code of this blog is hosted there, but also projects that I am working on on my own are in my own Gitea installation. My only problem with this is that login sessions are quite short and I have to constantly choose the r ... ⌘ [Read more](https://blog.9wd.eu/posts/cloudron-oidc-gitea/) 2023-08-02T08:00:00Z **Unexpected invoices from fly.io?**
I’ve been running an instance of uptime-kuma on fly.io for a while now. Their CLI makes it easy to deploy simple container applications and you can use up to three instances with 256MB of RAM and 3GB of persistent storage for free.
A few days ago I got an email saying that my monthly bill would have been 41 cents, but since they don’t collect bills under $5, they’re giving me a 100% discount. ⌘ [Read more](https://blog.9wd.eu/posts/flyio/) 2023-08-06T18:30:00Z **Use Distrobox to containerise your desktop**
When I first heard about the Steam Deck I was keen to get my hands on one, and while I cannot claim to be a gamer, I do have a few games in my Steam library that I enjoy firing up on the sofa in the evenings. The Steam Deck also has a desktop mode, but as SteamOS is immutable by default, additional applications need to be installed via flatpak, which does not offer the same variety of applications as other distributions such as Ubuntu. ⌘ [Read more](https://blog.9wd.eu/posts/distrobox-assemble/) 2024-02-22T16:00:00Z **Review: Kruidvat Smart Finder**
For a trip abroad I recently bought an alternative to Apple’s AirTags sold by the Dutch chain Kruidvat. The Kruidvat Smart Finder costs just €10 and can be registered as an ‘Other Item’ within the FindMy app.
Once added to the app, the tag behaves just like a regular AirTag and even allows you to share it with other Apple users. Only the hardware looks a little different. Compared to the original, the Kruidvat tag seems a bit power hungry. ⌘ [Read more](https://blog.9wd.eu/posts/kruidvat/) 2024-03-03T06:00:00Z **Backing up and restore Cloudron via autorestic**
In a previous article I already described how to use autorestic to backup a server to a Hetzner Storagebox. Since then I have configured several Cloudron installations to use this method and would like to give some recommendations on the backup and restore process using this mechanism.
Backing up Link to heading For the backup, I use the autoresponder configuration below, triggered by its native [cron implementation] (https://autorestic. ⌘ [Read more](https://blog.9wd.eu/posts/restic-autorestic-cloudron/) 2024-03-21T17:30:00Z **My recommendations for Nextcloud apps**
Nextcloud offers a variety of apps/plugins that can be installed to enhance its functionality. In addition to the standard apps, there are a few apps that should not be missing to make life easier for users and administrators alike. Below are my recommendations and a brief explanation of why I recommend them.
 Welcome The Welcome widget is helpful in guiding users where to find what in your organisation. It displays the contents of a markdown file directly on the dashboard, which can incl ... ⌘ [Read more](https://blog.9wd.eu/posts/nextcloud-apps/)