|

Embracing the Fediverse

Bye-Bye Social Media: Why I’ve Ditched the Mainstream

Remember when social media was a fun place to connect with friends and share updates? Those days seem long gone. For me, the allure of endless scrolling and constant notifications has faded, leaving me with a growing sense of disconnect and dissatisfaction.

As a busy parent and professional, I’ve found that my time is better spent focusing on what truly matters: family, work, and personal projects. Social media, with its endless demands for attention, was becoming a distraction rather than an enrichment.

The Decline of Social Giants

The decline of once-beloved platforms like Twitter and the rise of corporate behemoths like Meta have only reinforced my decision to step away. Twitter, under new leadership, has become a breeding ground for toxicity and misinformation. Meta, with its sprawling empire of social media products, wields an immense amount of power over our online interactions.

The numerous data breaches and instances of misinformation spread through Meta’s platforms have raised serious concerns about privacy and the potential for manipulation. When a single company controls so much of our digital lives, it isn’t easy to trust that our information is being used ethically and responsibly.

A New Digital Landscape

While I’ve chosen to limit my engagement with mainstream social media, I’m not entirely abandoning the digital world. I’ve found solace in smaller, more community-driven platforms and have rediscovered the joy of writing and sharing my thoughts through my blog.

I’ve also started making a move to other platforms that are based on fediverse and plan, by the year’s end, to have transferred any of my previous social posts, that I wish to keep, either to my blog or to the fediverse platform if I can find a way, I may write a post on that in the future if I ever get it to work.

Hubzilla 

One of the first self-hosted platforms I tried was Hubzilla, I have done a little research I thought it might be a good starting point as it would let me write long form blog posts like this, small micro blog (think tweets) as well as posts photos and video all in one platform hosted by me, there was even a bit about having a static website as part of it that tempted me to move my blog there too.

Unfortunately, it wasn’t meant to be for me. I spent multiple days trying to get the platform installed (I’ll pop some instructions below describing how I finally managed to get it working) and then when I did get through all the setup to writing a post I just couldn’t get on with the bbCode formatting. If I was writing a blog page or a wiki then I’d also have the option of markdown which I could probably get used to but the bbCode near enough finished me off whilst trying to write down a step-by-step guide on how to install Hubzilla.

Installing Hubzilla

Getting Docker Installed

Add Docker’s official GPG key:

sudo apt-get update

sudo apt-get install ca-certificates curl

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

Add the repository to Apt sources:

echo \

“deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \

$(. /etc/os-release && echo “$VERSION_CODENAME”) stable” | \

sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Boot up a LAMP Stack Container

  • Create a place to store your docker files and move into it:


    • mkdir /.docker


    • cd /.docker


    Clone the Lamp stack and enter it


    • git clone https://github.com/sprintcube/docker-compose-lamp.gitcd docker-compose-lamp/


    copy & rename the envorment file
    cp sample.env .env


  • and the modify it as needed

    nano .env

  • docker compose up -dUpdate the dns records for your domain to point to the PHP container

Install Hubzilla

Enter the PHP container

docker exec -i -t lamp-php83 bash

move to the /var/www/ folder

cd /var/www

Clone the hubzilla repo

git clone https://framagit.org/hubzilla/core.git hubzilla

cd hubzilla

Make the storage folder

mkdir -p “store/[data]/smarty3”

Download the adons

./util/add_addon_repo https://framagit.org/hubzilla/addons.git hzaddons

Set permissions so everything loads correctly

sudo chmod -R 755 /var/www

Open up a browser and head to your chosen domain

Complete the database and server setup

Head back to your docker container and disable email verification (if you don’t need it)

./util/config system verify_email 0

Head back to the browser and register your account using the same email address as you did for the site setting and your done!

Castopod 

Castopod is a self-hosted podcast server that integrates with the fediverse through the ActivityPub Protocol. It’s quite simple to setup but lacks in feature when compared to other Content Management Systems (CMSs). for example when you create a post for one of your podcasts you can only use markdown there no WYSIWYG editor which is not great for those not accustomed to markdown. You also can’t customize the podcast pages themselves except to change the main colour of the theme. If your just looking for an easy way to self host your own podcast and generate an RSS feed to podcast service this is a really simple way of doing that.

Castopod Docker Compose

version: “3.7”

services:
ncastopod:
nimage: castopod/castopod:latest
ncontainer_name: “castopod”
nvolumes:
n- castopod-media:/var/www/castopod/public/media
nenvironment:
nMYSQL_DATABASE: castopod
nMYSQL_USER: castopod
nMYSQL_PASSWORD: changeme // //
nCP_BASEURL: “https://castopod.example.com” // //
nCP_ANALYTICS_SALT: changeme // //
nCP_CACHE_HANDLER: redis
nCP_REDIS_HOST: redis
nCP_REDIS_PASSWORD: changeme // //
nnetworks:
n- castopod
n- castopod-db
nports:
n- 8000:8000
nrestart: unless-stopped

mariadb:
nimage: mariadb:11.2
ncontainer_name: “castopod-mariadb”
nnetworks:
n- castopod-db
nvolumes:
n- castopod-db:/var/lib/mysql
nenvironment:
nMYSQL_ROOT_PASSWORD: changeme // //
nMYSQL_DATABASE: castopod
nMYSQL_USER: castopod
nMYSQL_PASSWORD: changeme // //
nrestart: unless-stopped

redis:
nimage: redis:7.2-alpine
ncontainer_name: “castopod-redis”
ncommand: –requirepass changeme
nvolumes:
n- castopod-cache:/data
nnetworks:
n- castopod

volumes:
ncastopod-media:
ncastopod-db:
ncastopod-cache:

networks:
ncastopod:
ncastopod-db:

WriteFreely 

This platform is built solely around writing, providing a distraction-free environment where you can focus on your craft. No news feeds, notifications, or unnecessary likes and claps to pull you away from your train of thought. Just you, your words, and a clean, uncluttered space to create.

But WriteFreely isn’t just about solitary writing. It also empowers you to share your work effortlessly. Through federation via ActivityPub, you can reach audiences beyond your own site. Imagine your blog posts being shared seamlessly on platforms like Mastodon, Pleroma, and other ActivityPub-enabled services. Readers can follow your blog, bookmark your posts, and share them with their followers – all without leaving their preferred social network.

WriteFreely is also incredibly lightweight and versatile. Built with Go (golang), it runs smoothly on any system, even a Raspberry Pi. Installation is a breeze, requiring only a simple download and a few supporting files. No complicated dependencies or technical headaches. WriteFreely is the perfect platform for writers who value simplicity, clarity, and effortless sharing.

Unfortunately, WriteFreely isn’t for me either. whilst it may be good for blog posts, i wouldn’t be able to host some of my other tools or create status update. That and due to the ultra minimalist design of the instance, I can make much in the way of changes.

Installing WriteFreely

download the latest rrelease for your operating ststem – https://github.com/writefreely/writefreely/releases/tag/v0.15.1


Extract the files and go into the project folder (this will vary depending on your platform)


run writefreely config start and follow the promps


Generate encryption keys writefreely keys generate


run WriteFreely writefreely

Is what I want out there yet? 

After trying out a few other options and checking out a few posts on Reddit I came to the conclusion what I’m truly after isn’t out there, yet and I have no idea how to build it. I think what I would like an all-in-one platform, such as a federated cms that can act as a base for content creation and somewhere that can bring my various feeds from across the fediverse into one place.

Imagine a single, centralized hub where you can create, manage, and distribute all your content across the fediverse. That’s the power of a Federated CMS. No more switching between different interfaces or worrying about missed interactions. With a Federated CMS, you can streamline your workflow and focus on what you do best: creating amazing content.

I did come across some work on making BuddyPress work with activity pub but from the last update a couple of years ago it looks like they only go one way publishing to the network working and not the ability to see who you are following or subscribed to. the other downside, for me at least and probably not for other is that there isn’t dedicated podcast support but there may be a workaround with plugins. Something I’ll be looking into when I have a bit more time.

Key Features of a Federated CMS

Unified Interface: A single platform where users can create and manage all types of content, including blog posts, status updates, photos, videos, audio, and podcasts.


Multi-Protocol Integration: Seamless integration with the various decentralized standards, ensuring that content is distributed across the fediverse in a decentralized and interoperable manner.


Comment and Reply Management: A centralized system for managing comments and replies, regardless of where they originate.


Customization and Branding: The ability to customize the CMS to match the user’s branding and preferences.


Analytics and Insights: Tools to track content performance and audience engagement.

Benefits of a Federated CMS

Increased Efficiency: Streamline content creation and management processes.


Enhanced Reach: Expand audience reach by distributing content across the fediverse.


Improved User Experience: Provide a more cohesive and user-friendly experience for both content creators and consumers.


Greater Control: Give content creators more control over their data and distribution.


Support for Decentralization: Contribute to the growth and development of the decentralized web

Imagine a world where creating and sharing content across the fediverse is as seamless as posting a status update. That’s the vision behind a Federated CMS. With a Federated CMS, you can break free from the silos of traditional social media and embrace the true spirit of decentralization. No more worrying about algorithm changes, data privacy concerns, or the whims of corporate overlords. Your content belongs to you, and you have the power to share it wherever you choose.

A Federated CMS empowers you to connect with like-minded individuals, build vibrant communities, and participate in meaningful conversations. It’s a platform that fosters authentic connections, encourages diverse perspectives, and promotes a sense of belonging. By breaking down silos and bridging the gap between different platforms, a Federated CMS can help to create a more inclusive and interconnected online world.

Imagine a place where you can find your tribe, share your passions, and learn from others who share your interests. A Federated CMS can be that place, a digital space where you can connect with people from all walks of life and build lasting relationships. Whether you’re an artist, a writer, a scientist, or simply someone who wants to share their thoughts with the world, a Federated CMS can provide you with a platform to do so.

A Federated CMS could revolutionize the way content is created and distributed within the ActivityPub ecosystem. By providing a centralized platform for content management, while also leveraging the power of decentralization, such a tool could offer significant benefits to both content creators and consumers.

For content creators, a Federated CMS could streamline the process of managing multiple social media accounts and platforms. By consolidating content creation and distribution into a single interface, creators could save time and effort while ensuring consistency across their various channels. Additionally, a Federated CMS could provide valuable analytics and insights into content performance, allowing creators to optimize their strategies and reach a wider audience.

For consumers, a Federated CMS could offer a more unified and personalized experience. By aggregating content from various sources within the fediverse, a Federated CMS could provide users with a curated feed of content that aligns with their interests and preferences. This could help to reduce information overload and make it easier for users to discover new and relevant content.

Furthermore, a Federated CMS could play a crucial role in promoting decentralization and fostering a more equitable online ecosystem. By providing a platform for content creators to distribute their work independently, without relying on centralized intermediaries, a Federated CMS could help to reduce the power of large corporations and empower individuals and communities. Additionally, by leveraging the ActivityPub standard, a Federated CMS could contribute to the development of a more interoperable and decentralized web

Ironically, It looks like until the fediverse becomes more mainstream, I’m going to be stuck using multiple self-hosted applications to interact with the fediverse. I really wish I had the time to learn how to program something myself, or at least know how to develop Plugins & Themes for WordPress as I think, All the current WordPress Drama aside, it could be a great jumping-off point. For example, WordPress also generates blog posts, if you were able to add the ability to add other post types, such as Status updates, Photos, Videos, Audio and Podcasts for example, that would be the majority of the work CMs side of things done. The next thing to implement would be the connections to the various Fediverse stands such as ActivityPub, AT Protocol, nostr, Diaspora, xmpp, and other open standards.

So that’s where I’m at so far. Have you come across any all in one platforms that I haven’t? Do you think the fediverse will replace our mainstream social media in the long run? I’d love to know what you think. Either let me know in the comments below of the social post that bought you here.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *