Slush Motorsports Coverage
Goobs Slush Motorsports Festival Coverage
The phrase “de-google-ify” or de-iCloud-ify gets me genuinely excited because data sovereignty feels more critical than ever in 2025. While tech giants increasingly monetize our personal information and change terms of service at will, NextCloud offers a compelling alternative, being an open-source, self-hosted collaboration platform.
I’ve fully embraced NextCloud’s ecosystem, automatically syncing my camera roll and contacts while using NextCloud Notes as my primary note-taking app. The mobile app isn’t perfect but generally backs up photos, videos, and contacts to my own storage server, which I also share with family. For lighter project management, NextCloud Deck works well, though it’s not quite a full Jira replacement.
My setup runs on object storage because it’s scalable, affordable, performant, and easy to backup. The peace of mind knowing my data isn’t being analyzed for ad targeting or subject to sudden policy changes makes the initial setup effort worthwhile. In an era where our digital lives are increasingly surveilled and commoditized, self-hosting is just good digital hygiene.
First provision a fresh Linode VPS and place it behind a Cloud Firewall to further reduce the attack surface. You should only open TCP Ports 80, 443, 8080, and 8443. You will also need to open UDP Port 443 to enable HTTP3 on the web server.
Go ahead and deploy your A/AAAA DNS Records since propagation time can vary.
sudo apt update && sudo apt upgrade -y
sudo apt install s3fs -y
sudo mkdir /mnt/MyBucket
sudo timedatectl set-timezone America/Denver
sudo hostnamectl set-hostname YOUR_HOSTNAME
Follow Dockers official docs to uninstall and purge outdated packages and their respective config files. Then you will get a fresh, clean container environment setup.
Once you have Docker installed I advise you create a Limited Sudo User to complete this setup and execute the NextCloud launch parameters.
sudo useradd -m MY_NEW_USER
sudo usermod -aG sudo MY_NEW_USER
sudo usermod -aG docker MY_NEW_USER
sudo passwd MY_NEW_USER
At this point, go ahead and append your IPv4 and IPv6 addresses and FQDN to the host file. Then harden the system to meet your requirements.
Now we will create an Object Storage Bucket on the Akamai Cloud Manager interface. Then generate an Access Key & Secret Key pair with Read/Write permissions for the new specific bucket.
Run the following bash command to append the Access Key and Secret Key into /var/.passwd-s3fs
. This will be the file called by fstab during boot up to auto-magically mount the Object Storage on system startup.
echo "ACCESS_KEY:SECRET_KEY" | sudo tee /var/.passwd-s3fs > /dev/null
sudo chmod 600 /var/.passwd-s3fs
Append the following /etc/fstab/
to allow the Object Storage to mount on system startup. If you are not using Akamai/Linode then you may need to make adjustments.
<bucket_name> /mnt/MyBucket fuse.s3fs _netdev,allow_other,use_path_request_style,url=https://your-region.linodeobjects.com,passwd_file=/var/.passwd-s3fs 0 0
Now go ahead and reboot your VPS. When you log back in, you should see that /mnt/MyBucket
is mounted!
Here are my deployment parameters… I define a small number of default values for the sake of easier adjustments in the future.
sudo docker run --init --sig-proxy=false --name nextcloud-aio-mastercontainer --restart always --publish 80:80 --publish 8080:8080 --publish 8443:8443 --env SKIP_DOMAIN_VALIDATION=false --env NEXTCLOUD_MOUNT="/mnt/MyBucket" --env NEXTCLOUD_MAX_TIME=3600 --env NEXTCLOUD_MEMORY_LIMIT=4096M --env NEXTCLOUD_UPLOAD_LIMIT=16G --env NEXTCLOUD_ADDITIONAL_APKS="imagemagick nano" --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config --volume /var/run/docker.sock:/var/run/docker.sock:ro nextcloud/all-in-one:latest
My NextCloud master container launch parameters enforce the following six things…
imagemagick
and nano
apt packages to all containers.Now navigate to the newly spun up master container by opening your browser and going to https://IPv4:8443
Goobs Slush Motorsports Festival Coverage
Comparing a GoPro Hero 10 Black to a Session 4
Reflecting on my open-source project GoobyDesk.
Screenshots from exploring Greece, In the southern Balkan Peninsula.
How-To Import a custom world into Singleplayer, then Realms using Minecraft Bedrock Edition.
Remebering Alex
Remebering Alondra and Aaliyah
Matt’s Guide to ADS-B and PiAware.
I had something to say, until I didn’t.
Matt’s Guide to FRS and GRMS Radio.
Matt’s Guide to CB Radio
Matt’s Guide to Securing a Linux Box for Production.
My Experience deploying the NextCloud AIO Docker Image at Home.
Quick overview of my websites architecture.
One Night in Glacier NP - 2024
Exploring and capturing the scenery in American Truck Simulator, Nebraska DLC
how-to be safe while downloading linux isos.
Exploring South Dakota with the Jacksons.
How I reduced my home page 610 percent.
how-to add oneko.js to the minimal-mistakes jekyll template.
My personal running notes for growing cannabis.
Dealing with CIFS errors between TrueNAS and Debian.
how-to bounce a Juniper JunOS switchport.
how-to fix ‘the list of sources could not be read.’ when using apt.
how-to troubleshoot a home network, by a Network Engineer.
Moving my webserver from OpenLiteSpeed to Caddy
how-to resolve, could not resolve packages.adoptium.net
how-to validate XZ-Utils impact.
How and Why I use Ninite
Manually renewing Certbot on OpenLiteSpeed
Yet Another Benchmark Results
Linux Basics and Core Concepts by Matt F.
how-to Buy and Manage a Web Domain
My Udemy Course Completion Certification.
Scion FRS Service Manual Download and Sources
My Discord Server Widget
How I moved from QUIC.Cloud to BunnyNet CDN.
My High Uptime Plan for 2024.
Personal notes for Magic the Gathering
HTML Hobbiest Webring Landing Page/Post
Method of Procedure for migrating from WordPress to plain HTML.
W900 Tuning Pack DLC Review.
Google Domains is Ending.
Deep dive into OpenLiteSpeed webserver.
how-to resolve my Jekyll/Cloudflare Pages deployment error.
In High School I had one dream that stands out. Own a Porsche by the time I was 26. Looking back, I have no idea where this dream came from; because I was ra...
Personal ramblings about my new town.
Knowledge Filled PDF Bundle
how-to Jellyfun.
ProtonMail Review - 1 Year
how-to manage Pi-Hole.
My new Gaming PC. Its boring but it’ll do.
how-to setup Pi-Hole and Wireguard on Linode.
how-to update the hostname of a Raspberry Pi.
Can a Raspberry Pi Zero host a family VPN Server? Yes.
Logitech G413 Keyboard review.
Razer Huntsman Mini review.
YouTube video cruising through Colorado!
Ramblings about PiAware after one month of operation.
Guide to setup a Raspberry Pi from start to finish!
Guide to configuring the Timezone on a Raspberry Pi.