EST. 2021  •  OSLO, NORWAY

Skui.io

Homelab & Self-Hosting

Workshop

Projects

Self-hosted projects and homelab builds — what I'm running, building, and maintaining.

Ethica Company Portal

Building

Website, Service-desk, project-pipeline,

A self-hosted IT service management suite — service desk with per-customer SLAs, a mobile field PWA with web push, public status pages, a built-in docs portal, and container monitoring. Live at ethica.no.

#webapp#webpage#proxmox#docker
Visit →

Readpage

Live

Authenticated docs portal

A lightweight Python + Hugo reader that serves a private Git documentation repo behind authentication. ~22 MB image, minimal dependencies.

#hugo#docker#documentation
Visit →

cv.skui.io

Live

Self-hosted CV site

A small bilingual Hugo CV deployed with Gitea Actions and Docker, embedded into this site. No CV trapped inside a PDF.

#hugo#ci-cd#self-hosted
Visit →

Nextcloud Stack

Live

Self-hosted files & collaboration

Dockerized Nextcloud behind an nginx reverse proxy with TLS, tracked as infrastructure-as-config for clean redeploys.

#self-hosted#docker#infrastructure

skui.io

Live

This site

Hugo blog built on Blowfish, wrangled by Gitea, and deployed to the homelab nginx network through CI/CD runners.

#hugo#gitea#ci-cd
Visit →

Bashrc Dotfiles

Maintained

Portable Bash prompt

An elegant, portable Bash prompt with seasonal palettes, time-aware emoji and clean powerline structure.

#linux#open-source
Visit →

snapshoot

Live

ZFS backups that prove they can be restored

Guards the whole snapshot lifecycle — taken, replicated, verified, restore-tested. Push-only agents on every host, weekly restore drills with receipts, SMART disk health, pool topology, and alerts to Discord and my phone. Built in one night, caught its first real issue the same night.

#zfs#backup#monitoring#built-with-ai
Visit →

backhaul

Live

Database backups that prove they can be restored

The database sibling of snapshoot. A sidecar agent dumps each database over an outbound-only connection, stores it encrypted, and every night restores it into a throwaway database and counts the rows — restore proof, not just a green checkmark. Fifteen Postgres, MySQL, MariaDB and SQLite databases across three hosts, with browsable history and tiered retention.

#database#backup#restore#built-with-ai
Visit →