In my post about joining the small web, I discussed integrating this site with the IndieWeb network. Another community I’ve been eager to join is the Fediverse.

I went ahead and added Mastodon to my services and set up a personal network. I found a few users to follow, but encountered a persistent issue: images from posts outside my server displayed only as ‘placeholders’.

A temporary fix was to execute tootctl media refresh --days=2, which worked for existing posts but not for new ones. I read through forums and issues trying to find a similar issue, but anything that looked the same ended up being slightly different. My frustration was growing and honestly without images the experience of Mastodon was poor enough I might have just scrapped the whole idea.

Then it hit me(while in the shower, where all great ideas are formed), I recalled an initial setup error related to /opt/mastodon/public/system/cache permissions. The resolution was mounting this directory as a volume not only for the Mastodon web instance but also for the sidekiq container.

Here’s how the volumes are now configured:

volumes {
	container_path = "/mastodon/public/system"
	host_path = "/var/docker-service/mastodon/public/system"

volumes {
	container_path = "/opt/mastodon/public/system/cache"
	host_path = "/var/docker-service/mastodon/cache"

Curiously, there are two distinct system and cache directories. The official docker-compose.yml only references /mastodon/public/system. I need to investigate more to determine whether this was an error on my part or an issue worth reporting.

Hopefully, this post aids another soul looking to venture into the Fediverse.

How to reply to this post