Possibly dumb #snac #snac2 question, but what is the best way to install the latest version without affecting the existing users and posts, etc.? I thought I needed to use the command line option "snac upgrade" but looking at the manuals again, I don't think that's actually what that option is for? Is there a write up for just updating to the latest version out there anywhere?
snac
#FediMeteo #FediMeteoStatus #FediMeteoAnnouncements #snac #snac2
#CrazyFediverseAnalogies
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:
anyone have a #snac instance and want to give me an account on for some good old fashion fediverse compatibility testing? excited to see how it now handles gancio and mobilizon events
https://comam.es/snac/grunfink/p/1737710445.095224
I tried it last evening and it was failing but I think it was just a caching issue.
And now, let's start!
#Fediverse #snac #snac2 #NewWeekNewInstance
This happened because, for every remote instance, Nginx was requesting the multimedia file from snac. However, due to saturated connections, it took several seconds, leading to thread exhaustion in snac.
I resolved this issue by caching the multimedia files myself using Nginx, which significantly improved performance.
This matter will be covered in a subsequent (simple) blog post.
#snac #snac2 #OwnYourData #SelfHosting
https://it-notes.dragas.net/2025/01/29/improving-snac-performance-with-nginx-proxy-cache/
Notifications are now shown in a more compact way (i.e. all reactions are shown just above your post, instead of repeating the post ad nauseam for every reaction).
New command-line option unmute to, well, no-longer-mute an actor.
The private timeline now includes an approximate mark between new posts and "already seen" ones.
Fixed a spurious 404 error in the instance root URL for some configurations.
https://comam.es/what-is-snac
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
#snacAnnounces
This release has been inspired by the song The Answers to the Questions by #Christabell and #DavidLynch.
Thank you @grunfink ❤️
https://codeberg.org/grunfink/snac2
Each post can have more than one attachment from the web UI. The maximum number can be configured in server.json via the max_attachments value (default: 4).
Each notification includes a link labelled Context, that leads to a page with the full conversation tree the post is a part of.
Each followed hashtag has now a directly accesible link.
Fixed a search bug (some matches were missed).
Fixed more crashes (contributed by inz).
Fixed link detection in posts (contributed by inz).
Allow multiple editors for command-line posts (contributed by inz).
Separated maximum and default timeline entry count, allowing larger timelines to be requested without having to increase the default (contributed by lxo).
Turned message date into a link to the local post, so that it can be loaded into a separate tab for interacting with (contributed by lxo).
Special thanks to fellow developer inz for bringing my attention to code places where I should have been more careful.
https://comam.es/what-is-snac
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
#snacAnnounces
This release has been inspired by the song Songe d'un ange by #KyrieKristmanson and #BrendanPerry.
Looking for nice software to selfhost on very moderate hardware these days is like:
"add this to your kubernetes cluster // terraform something....// This is your docker compose file..."
I just want an efficient program, bare metal, also not three reverse proxys in a row.
And also I'm not running some supercluster in the "cloud".
Seems everyone virtualizes everything and abstracts everything, containers in containers in VMs. Even "normal" mastodon hosters, I mean I understand if people use it for running something like running Instagram, OK.
And then many still have quite often some downtime because (I guess?) in all this complexity, that exists to add reliability, there are config errors or incompatibilities.
[/rant]
I Love I've found snac and the prosody xmpp server, they run on a potato, snac only since this year, prosody since 10y, started on a raspberrypi1b. And they have no downtime. I want more like that. I don't know the right Hashtags. Is this #permacomputing? I guess that's even much more basic and closer to the hardware?
#keepitsimple
#snac #prosody #xmpp #tinyweb #tinyfedi #rant #shitpost
ingin cerita soal relay. Di #snac ane pasang dan subscribe ke beberapa relay. Kemudian langganan toot's melalui hashtags. Dengan ini instance ane yang sepi (karena tidak follow banyak akun) menjadi ramai dengan tema/topik yang ane subscribe tadi.
salah satu hal yang ane suka dari fediverse setelah sekian lama.
job fifo size (cur): 655
job fifo size (peak): 1291
thread #0 state: waiting
thread #1 state: output
thread #2 state: output
thread #3 state: output
I assume it is my instance delivering this to all subscribers, is that correct?
And the last thread will stay idle to maybe wait for incoming requests, so that they can be answered too?
I've never seen another status then waiting or output so far.
I guess if I post a picture that might then happen and all workers will be busy? Maybe even too busy to keep up?
Is that assumption about how the waiting worker and what it is for correct?
If yes I guess I'll increase the threads, if they are intentional low for low ram systems, that's not my issue with snac. (I've not much ram, but I assume snac is by default tuned to be very very very conservative?)
(adding Pic to simultaneously test my theory)
#snac2
I already wrote about caching here.
Now I extended what I cache a bit.
This was because after enabling the 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 mastodon api or via the web. (/x/ and /y/), oh and I added the nodeinfo2.0 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 actually 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 the old disk cache. (under debian see /etc/default/apache-htcacheclean or else the relevant systemd service or whatever)
Then add this to the httpd Virtualhost config:
<LocationMatch "^/social/[^/]+/[xys]/|^/social/nodeinfo_2_0">
CacheEnable disk
Header set Cache-Control "max-age=86400, public" "expr=%{REQUEST_STATUS} == 200"
ExpiresActive On
ExpiresDefault "access plus 86400 seconds"
</LocationMatch>
Further reading and all options are explained under https://httpd.apache.org/docs/2.4/caching.html (and ff)
The Header that I set here, on the condition of Status code 200, is needed for the path /y/, because snac set no-cache on that location and mod_expires will honor that if we don't override it. I set it to the same Cache-Control value as mod_expires would. (I use mod_expires because it 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

Acabo de solicitar a integração de mais uma versão do arquivo com novas sequências de caracteres traduzidas.
Estou escrevendo isto para incentivar você a também contribuir com o que puder para com os projetos de software livre que utiliza. O senso de comunidade nos permite fazer parte da construção de um mundo melhor a cada linha de código.
#snac2 #snac #SoftwareLivre #FreeAsInFreedom
Added Spanish (default, Argentina and Uruguay) translation (contributed by gnemmi).
Added Czech translation (contributed by pmjv).
Added Brazilian Portuguese translation (contributed by daltux).
Added Finnish translation (contributed by inz).
Added French translation (contributed by Popolon).
Added Russian translation (contributed by sn4il).
Added Chinese translation (contributed by mistivia).
Added German translation (contributed by zen and Menel).
Added Greek translation (contributed by uhuru).
Added Italian translation (contributed by anzu).
Mastodon API: added support for /api/v1/custom_emojis (contributed by violette).
Improved Undo+Follow logic (contributed by rozenglass).
Reverted (temporarily) the Markdown code that converted text between underscores to italics, because it was causing more problems that what it was worth.
Fixed bug in bookmark CSV import.
Don't indent Twitter-like "threads" (i.e. chains of short posts from the same author that are self-replies).
https://comam.es/what-is-snac
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
#snacAnnounces
https://snac.9front.club/thedaemon
#snac2 #snac #FreeBSD
Added support for scheduled posts (for this to work correctly, users will have to set their time zone, see below).
The user can now select a working time zone. This will be used to correctly parse the local date and time of a scheduled post.
Fixed incorrect poll vote format, which was causing problems in platforms like GotoSocial.
Mastodon API: added support for /api/v1/instance/peers.
Added a new snac-admin helper script (contributed by shtrophic).
In the web UI, posts are separated by the <hr hidden> tag; it's invisible in graphical browsers, but it separates post clearly in text-based browsers.
Some Finnish, Spanish, Czech and Russian translation updates and fixes.
https://comam.es/what-is-snac
If you find #snac useful, please consider buying grunfink a coffee or contributing via LiberaPay.
#snacAnnounces
This release has been inspired by the song Pictures on the Wall by #MichelleGurevich.