Skip to content

Instantly share code, notes, and snippets.

View NiklasGollenstede's full-sized avatar

Niklas Gollenstede NiklasGollenstede

  • Hamburg University of Technology
  • Hamburg, Germany
  • 13:58 (UTC +02:00)
View GitHub Profile
@NiklasGollenstede
NiklasGollenstede / aarch64-qemu-chroot.sh
Created March 29, 2022 23:58
aarch64 user space on x86_64 Debian/Ubuntu
# These commands create and enter a aarch64 user space on x86_64 Debian/Ubuntu.
# Expects qemu-aarch64-static to be installed and registered for the aarch64 binfmt on the host, see e.g.: https://codepyre.com/2019/12/arming-yourself/
mkdir -p /tmp/chroot ; mount tmpfs -t tmpfs /tmp/chroot # (tmpfs is optional)
debootstrap --arch=arm64 $(lsb_release --short --codename) /tmp/chroot # install aarch4 user space of host's distro
# copy qemu to where it's registered as binfmt in the kernel (and since it is statically linked, copying a single file is sufficient)
mkdir -p /tmp/chroot/$(dirname $(which qemu-aarch64-static))
cp -a {/,/tmp/chroot/}$(which qemu-aarch64-static)
@NiklasGollenstede
NiklasGollenstede / !ubuntu-on-zfs.md
Last active October 18, 2023 04:37
Ubuntu 20.04 on ZFS with LUKS/ZFS enc. + master PW/key and SSH, installation + cloning

Fully automated setup of Ubuntu 20.04 on ZFS as root file system, optionally with LUKS and/or ZFS native encryption via single master password/keyfile and SSH unlock.

Please read the content for more information.

@NiklasGollenstede
NiklasGollenstede / !openwrt-config.md
Last active June 17, 2023 11:50
OpenWRT on GL.iNET GL-AR750/MT300N_V2 with eduroam, openVPN client, and hardware switch

This shows how to flash OpenWRT to a GL.iNET GL-AR750 or GL-MT300N_V2 and how to set up eduroam, openVPN client, and their hardware switch.

Please read the content for more information.

@NiklasGollenstede
NiklasGollenstede / !docker-webapps.md
Last active March 4, 2023 15:51
`traefik`, `acme-dns`, and `watchtower` as Docker web application helpers

This setup configures traefik, acme-dns, and watchtower as system wide Docker services to ease the deployment of docker web services.

Please read the content for more information.

@NiklasGollenstede
NiklasGollenstede / !sslh-select-config.md
Last active September 24, 2020 21:07
sslh-select demultiplexing for HTTP(S)/SSH/openVPN

sslh is a protocol (de-)multiplexer that can be used to let encrypted traffic of different kinds pass through restrictive firewalls. This is a guide to make sslh's rather complex setup easy.

Please read the content for more information.

@NiklasGollenstede
NiklasGollenstede / !server-init.md
Last active December 5, 2021 01:38
Initial setup for new Linux servers

Some generic first steps to run on any new Linux(/Ubuntu) server.

Please read the content for more information.

@NiklasGollenstede
NiklasGollenstede / !docker-install.md
Last active June 26, 2021 14:12
Install and configure Docker (+compose) on Ubuntu

My current take on how to install and configure Docker (+compose) on a standalone Ubuntu system.

Please read the content for more information.

@NiklasGollenstede
NiklasGollenstede / !autossh-service.md
Last active May 29, 2024 07:59
Automatic, persistent, and secure SSH port forwarding between hosts

This is a comprehensive and automated guide to set up automatic, persistent, and secure SSH port forwarding between hosts.

Please read the content for more information.

@NiklasGollenstede
NiklasGollenstede / !zfs-backup.md
Last active April 6, 2023 23:07
ZFS push replication to unprivileged user

This is a guide to set up ZFS push replication to an unprivileged user account.

Please read the content for more information.

@NiklasGollenstede
NiklasGollenstede / !keep-firefox-extension-tabs-open.md
Last active January 14, 2021 18:20
Firefox extension development: keep extension tabs open

This drop-in module does one simple thing: it allows you to keep the extension tabs of your WebExtension open when you reload it during development.

Pleas read the README for more information.