Sign up

cleberg.net

Not verified No WebSub updates No webmention support Not yet validated

Webmaster
Christian Cleberg
Generator
weblorg 0.1.0 (https://emacs.love/weblorg)
Public lists
I ♥ RSS
Fetched

cleberg.net

Suckless Simple Terminal on Fedora

Table of Contents 1. st 1.1. Obtain Files 1.2. Dependencies 1.3. Building 1.4. Customization (Patches) 1. st st standards for Simple Terminal, a simple terminal implementation for X made by the suckless team. This post walks through the dependencies needed a...

cleberg.net

Nginx Wildcard Redirects

Table of Contents 1. Problem 2. Solution 2.1. Nginx Config 1. Problem I recently migrated domains and replaced the old webpage with a simple info page with instructions to users on how to edit their bookmarks and URLs to get to the page they were seeking. Th...

cleberg.net

Nginx Gzip: Compress Text, Nothing Else

Table of Contents 1. Text Compression 2. Enable Nginx Compression with gzip 3. Explanations of ngxhttpgzipmodule Options 1. Text Compression Text compression allows a web server to serve text-based resources faster than uncompressed data. This can speed up things l...

cleberg.net

Nginx Referrer Ban List

Table of Contents 1. Creating the Ban List 2. Configuring Nginx 3. Enabling the Ban List 4. Restart Nginx 5. Testing Results 1. Creating the Ban List In order to ban list referral domains or websites with Nginx, you need to create a ban list file. The file below wi...

cleberg.net

Server Build: Rack Hardware, Consumer Parts

Table of Contents 1. The Dilemma 2. Components 3. Building the Server 4. Software 5. The Results 5.1. Mistakes I Made 1. The Dilemma For years, I have been using desktops and a Raspberry Pi as the backbone of my homelab. I have always wanted to move toward a si...

cleberg.net

Fixing Nginx Permission Denied Errors on /var/lib/nginx

Table of Contents 1. The Problem 2. The Solution This is a brief post so that I personally remember the solution as it has occurred multiple times for me. 1. The Problem After migrating to a new server operating system (OS), I started receiving quite a few permis...

cleberg.net

Self-Hosting Guide: Matrix Synapse

Table of Contents 1. Synapse 2. Installation Process 2.1. Dependencies 2.2. Running Synapse 2.3. Configuring Synapse 2.4. Nginx Reverse-Proxy 2.5. Open Firewall & Router Ports 2.6. Adding Matrix Users 1. Synapse If you're reading this, you likely know that ...

cleberg.net

Void Linux: Remove the Display Manager

Table of Contents 1. Display Manager Services 1.1. Disabling the Current Display Manager 1.2. Enabling a New Display Manager 2. Set Up .xinitrc 3. Set Up Your Shell Profile 1. Display Manager Services In order to change the display manager on Void Linux - or an...

cleberg.net

Alpine Linux: Minimal Install, Minimal Attack Surface

Table of Contents 1. Alpine Linux 1.1. Installation 1.2. Post-Installation 2. Nginx Web Server 3. Docker Containers 4. Git Server 5. Thoughts on Alpine 1. Alpine Linux Alpine Linux is a very small distribution, built on musl libc and busybox. It uses ash as the...

cleberg.net

Self-Hosting Guide: Syncthing

Table of Contents 1. An Overview of Syncthing 2. Installing Syncthing 2.1. Server & Desktop 2.2. Mobile 3. How Does Syncthing Work? 3.1. Local Syncthing Server(s) 3.2. Syncthing Dashboard 3.3. Remote Devices 4. My Personal Cloud Storage Set-up 5. Pros & Co...

cleberg.net

MTP on Linux: Mount Your Phone Without a File Manager

Table of Contents 1. Use a Universal Serial Bus (USB) 3.0 Port 2. Switch USB Preferences to MTP 3. Install jmtpfs 4. Create a Mount Point 5. Mount & Access the Phone's File System I recently ran into trouble attempting to mount my GrapheneOS phone to my laptop run...

cleberg.net

Installing GrapheneOS on Pixel 6 Pro

Table of Contents 1. Introduction 2. Gathering Tools & Files 2.1. Android Tools 2.2. GrapheneOS Files 3. Installation Process 3.1. Enable Developer Debugging & OEM Unlock 3.2. Reboot Device 3.3. Unlock the Bootloader 3.4. Flashing Factory Images 3.5. Lock th...

cleberg.net

Building and Exploring SerenityOS

Table of Contents 1. Overview 2. Building 2.1. Clone 2.2. Build 3. Issues 4. Screenshots 1. Overview SerenityOS is a unique operating system (OS) that I have seen pop up in my news feed a few times over the last few years, but I have never had time to test it o...

cleberg.net

Privacy.com Changed the Product, Not the Name

Table of Contents 1. Privacy.com Changes Their Terms 1.1. Changing from a "Prepaid Debit" Model to a "Charge Card" Model 1.2. Daily Payments and Available Credit 1.3. Personal Information 1.4. Fees 2. My Thoughts 1. Privacy.com Changes Their Terms Recently, Pri...

cleberg.net

Bash-It: Plugins and Autosuggestions

Table of Contents 1. Bash 1.1. Installation 2. Bash-it 2.1. Installation 2.2. Aliases 2.3. Plugins 2.4. Themes 2.4.1. ble.sh 3. Restart the Session 1. Bash For those who are not familiar, Bash is a Unix shell that is used as the default login shell for ...

cleberg.net

Recursive FLAC to Opus Conversion

Table of Contents 1. Converting FLAC to OPUS 1.1. Dependencies 1.2. Conversion Process 1.3. Cleanup 1.4. Check the Resulting Size 1. Converting FLAC to OPUS I am currently rebuilding my music library from scratch so that I can effectively archive all the music ...

cleberg.net

Curseradio: Internet Radio from the Terminal

Table of Contents 1. Overview 2. Features 2.1. Commands/Shortcuts 3. Installation 3.1. Dependencies 3.2. Repository Source Installation 4. Run the Application 1. Overview While exploring some interesting Linux applications, I stumbled across curseradio, a c...

cleberg.net

GnuPG: Encryption, Signing, Web of Trust

Table of Contents 1. The History of GPG 2. Encryption Algorithms 2.1. Vulnerabilities 2.1.1. Platforms 3. Creating a Key Pair 4. Common Usage 4.1. Email 4.2. File Encryption 4.3. Ownership Signatures 4.4. File Integrity 4.4.1. Finding Public Keys 1. T...

cleberg.net

Self-Hosting Guide: Git and cgit

Table of Contents 1. My Approach to Self-Hosting Git 2. Assumptions 3. Adding a Git User 3.1. Import Your SSH Keys to the Git User 3.2. (Optional) Disable Password-Based SSH 3.2.1. Setting up the Base Directory 3.2.2. Creating a Test Repository 4. Change the Login...

cleberg.net

Fedora and i3: Back on Linux

Table of Contents 1. Leaving macOS 2. Fedora 2.1. i3 3. Software Choices 1. Leaving macOS As I noted in a recent post, I have been planning on migrating from macOS back to a Linux-based operating system (OS). I am happy to say that I have finally completed my m...

cleberg.net

Daily Poetry via Cron

Table of Contents 1. Source Code 2. My Daily Dose of Poetry 3. Prerequisites 4. Breaking Down the Logic 4.1. Required Packages 4.2. Sending the API Request 4.3. Parsing the API Results 4.4. Composing the Email 4.5. Sending the Email 5. The Result! 6. Scheduling the Da...

cleberg.net

Terminal First: Why the GUI Is Optional

Table of Contents 1. Text-Based Simplicity 2. Living Life in the Terminal 2.1. Browsing the Web 2.2. Chatting with Friends 2.3. Email 2.4. RSS Feed Reader 2.5. Writing & Programming 1. Text-Based Simplicity I've detailed my views on web-based minimalism and...

cleberg.net

Self-Hosting Guide: FreshRSS

Table of Contents 1. Why Use Really Simple Syndication (RSS)? 2. Documentation 3. Installation 3.1. DNS 3.2. Docker 3.3. Fresh RSS Set-Up 3.4. Nginx Reverse-Proxy 3.5. HTTPS 4. Post-Installation Fixes 4.1. API Set-Up 4.2. Base URL Fix 1. Why Use Really Simple...

cleberg.net

Ditching Cloudflare

Table of Contents 1. Registrar 2. DNS 2.1. Dynamic DNS Updates 2.2. Njalla's DNS Tool 3. Tunnel 4. Access 1. Registrar After spending a year or so using Cloudflare for DNS (Domain Name System) only - no proxying or applications - I spent the last few months usi...

cleberg.net

PineTime: Open Source Smartwatch Overview

Table of Contents 1. PineTime Product Information 1.1. Overview 1.2. Product Specifications 2. Unboxing 3. Software 3.1. Watch Operating System (OS): InfiniTime 3.2. iOS App: InfiniLink 4. Final Thoughts 4.1. Pros 4.2. Cons 1. PineTime Product Information...

cleberg.net

Nginx Reverse Proxy Config

Table of Contents 1. What is a Reverse Proxy? 1.1. A Brief Example 2. Reverse Proxy Options 3. Nginx Reverse Proxy Example 3.1. Local Applications 3.2. Step 1: DNS Configuration 3.3. Step 2: Open Network Ports 3.4. Step 3: Nginx Installation 3.5. Step 4: Nginx Confi...

cleberg.net

SSH MFA: TOTP on Top of Keys

Table of Contents 1. Why Do I Need Multi-Factor Authentication (MFA) for SSH (Secure Shell Protocol)? 2. Install MFA PAM Module 3. Initialize the PAM Module 3.1. Interactive Method 3.2. Non-Interactive Method 4. PAM Configuration Settings 5. SSH Configuration Settings...

cleberg.net

Server Hardening: Firewalls, SSH, VLANs

Table of Contents 1. Planning Data Flows & Security 1.1. My Personal Data Flow 1.2. Thought Process 1.2.1. Server 1.3. ufw 1.4. ssh 1.5. fail2ban 2. Switch 2.1. 802.1Q VLAN Configuration 2.2. 802.1Q VLAN PVID Setting 3. Router 4. Physical Security 4.1. L...

cleberg.net

Self-Hosting Guide: Nextcloud

Table of Contents 1. What is Nextcloud? 2. Install Dependencies 3. Set Up MySQL 4. Download & Install Nextcloud 5. Configure the Apache Web Server 6. DNS 7. Certbot 8. Results 1. What is Nextcloud? Nextcloud is a self-hosted solution for storage, communications...

cleberg.net

Dynamic DNS Updates via the Cloudflare API

Table of Contents 1. DDNS: Dynamic DNS 1. DDNS: Dynamic DNS If you're hosting a service from a location with DDNS (Dynamic Domain Name System), where your internet protocol (IP)address may change at any time, you must have a solution to update the DNS (Domain Name ...