microhive.social is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
I already wrote about caching here
Now I extended what I cache a bit.
This was because after enabling Option to proxy media I've seen access to the file paths /x/ and /y/ in addition to the path were snac stores the media that I include in my own posts ( /s/ ).
There are two locations to proxy media, depending if you requests the media via the mastodonapi or via the web. (/x/ and /y/), oh and I added the nodeinfo2 path too, because I've noticed it was queried all the time by a lot of instances and it gives me pleasure to see something cached handed out in the access logs 🙂 (I guess it is actaully irrelevant for the system resources).
This is the updated setup:
Enable the relevant modules:
a2enmod expires cache cache_disk
Be sure "htcacheclean" is running to clean up old disk cache. (under debian see /etc/default/apache-htcacheclean or else the relevant systemd service or whatever)
Then add to the snac Virtualhost config:
<LocationMatch "^/social/[^/]+/[xys]/|^/social/nodeinfo_2_0">This will use the disk cache to cache everything under the /s/, /x/ and /y/ Path, as well as for /$username/nodeinfo20, utilizing the mod_expires to generate the appropriate cache headers (for lazy ones like me), In this case caching it for 1 day.
CacheEnable disk
Header set Cache-Control "max-age=86400, public" "expr=%{REQUEST_STATUS} == 200"
ExpiresActive On
ExpiresDefault "access plus 86400 seconds"
</LocationMatch>
The Header that I set here, on the condition of Status code 200, is needed for the path /y/, because snac defaults to set no-cache
on that location and the modexpires will honor that if we don't override it. I set it to the same Cache-Control value as modexpores woud. (mod_expires will additionally calculate the date and put that in the expires
header. (hence the name I guess 😀 )
#Fediverse #Hosting #ITNotes #apache2 #httpd #Ownyourdata #Server #Snac #Snac2 #Tipsandtricks #Tutorial #Debian #caching
Just published a guide on setting up Snac on an Ubuntu VM using NGINX Proxy Manager. Snac is an incredibly lightweight #ActivityPub server. A true nom nom among fediverse platforms.
If you're curious about minimal fediverse instances, check it out:
As of now, it is the biggest and most premier #snac2 instance in the entirety of the Czech republic! (And possibly somewhere in the top 5 in Europe).
Thank you to all the members of our instance, who bled tears and cried phlegm to get us to where we are today, thank you to snac's author: @grunfink@comam.es , who's project remains a continuous source of hope and inspiration, but most importantly - thank you, the boosters, the favoriters, the bookmarkers, the reply-guys, the friends and foes, the consumers of content, for making the fediverse the place to be!
Good night.
Thanks for all you do! #snac2