10 ms·
Pleroma 2.0: a free, federated social networking server built on open protocols
- kick 7y agoPleroma is significantly more lightweight than Mastodon, is compatible with both Twitter and Mastodon clients, and is one of the bigger (maybe the biggest that isn't working on Elixir itself?) free software Elixir projects. Worth giving a look if any of that interests you!
- seemslegit 7y agoIt still requires the user to install and admin a postgres instance which already makes it a non-starter for 99% of the target audience, this design choice is tragically stupid - the chance that an instance of pleroma will reach a usage volume that can't be handled by sqlite and basic caching is not on the horizon, if they ever reach this problem they could then develop a version that works against an actual rdbms.
- kick 7y agoIt's pretty much fire-and-forget. I know a bunch of non-technical people who are running Pleroma instances: you don't have to worry about it that much.
- claudiawerner 7y agoPleroma is built using Elixir + Phoenix (iirc), which has excellent Postgres support with Ecto. That could have been a design decision. Postgres also supports some features SQLite doesn't, such as array types. For certain applications (such as tagged imageboards, boorus), that makes anything but Postgres nearly a non-starter. SQLite data type storage can also be a concern. Chances are, if you have a server capable of running the Elixir + web framework stack, storage space for cached images, and a proxying web server, Postgres probably isn't much of an overhead on top of that. Bare in mind that each fedi instance dosen't only host the content generated by users, but also whatever content they repeat/reply to. The fact it needs to be stored (or cached) is one reason why there's so much blocklisting/defederation - because people may not want to host certain content from instances known to commonly host it. It may even store more from the public timeline (I'm not sure about the specifics of Pleroma). Nevertheless, even with five users, you can fill up quite a lot of space in a database and on the filesystem.
- hau 7y agoYour strong statement about postgres doesn't sound right to me. You can't use an array values as foreign keys. Array column wouldn't be my first choice even it could do this: you're limited and constricted in usage overall for a little gain if any. Which imageboard/booru engines use array column for tags?
- claudiawerner 7y agoDanbooru (and forks like Moebooru) and Philomena use string arrays in the database for tags. Edit: nevermind, Philomena has a table for the many-to-many relationship and uses Elasticsearch for the heavy lifting.
- hau 7y agoWhy arrays are preferable over m2m tables? What so special about pg arrays that makes anything but them inferior in "tagging" case? I genuinely don't get it.
- claudiawerner 7y agoAccodring to these rough benchmarks, it's faster to use arrays rather than joins: https://shon.github.io/2015/12/21/postgres_array_performance.html https://shon.github.io/2015/12/21/postgres_array_performance... https://gist.github.com/joevandyk/031cf5812bd656887623 https://gist.github.com/joevandyk/031cf5812bd656887623 To search for a post with multiple tags, you need to do a join for each tag. You don't have that problem with arrays.
- hau 7y agoThanks, that looks cool.
- lainsoykaf 7y agoWe do provide a step-by-step guide, which also involves installing postgres. In general, I think installing Elixir and Erlang is the much scarier part for most people, because few people have ever used them. Sadly, we can't just use SQLite because we use Postgres-only features like jsonb extensively.
- seemslegit 7y agoNot suggesting that sqlite could be dropped-in as replacement but https://sqlite.org/json1.html https://sqlite.org/json1.html
- sneak 7y agoYou’re not entirely incorrect, but you’re not being kind, either. Really all we’re talking about here is whether or not the thing that writes the files is in-process or an adjacent process. If they can manage to run Pleroma, they can manage to run a Postgres beside it. I think the hurdle you are describing is to self-hosting anything in general. Standing up a self-hosted postgres is actually easier/simpler/better supported than some random weird elixir app.
- seemslegit 7y agoSorry, but it's true for the other steps as well with postgres being a particularly pain because it is a networked service that requires administration, security minding etc. The end result is a high-friction onboarding process and the fact that it is technically justifiable is besides the point for people who just want to use the thing not to hack on it. The "if they can manage to run Pleroma" is not a very helpful approach to actually get more people to run Pleroma.
- elcritch 7y agoHaven't looked into the Plemora code myself, but it'd likely be feasible to patch it to be sqlite compatible. Unless there's a lot of Postgres specific SQL (triggers? mat views? hyperlog data types?) and the older version of Ecto the SQLite adapter uses. Still it would be fun to something like Plemora run on a RPi4 without needing Postgres. Then again, maybe Postgres would run alright... :-)
- lainsoykaf 7y agoIt's no feasible, we use a lot of postgres specific features. Pleroma with postgres runs fine even on Raspi 2.
- elcritch 7y agoThanks for the info! Well maybe someday I'll see if I can bake a Nerves image with Postgres running on it. If I'm going to install it might as well on an RPI right?
- mxuribe 7y agoI think standing up pretty much ANY type of server might be a non-starter for 99% of the audience...But then proper documentation would resolve that. In the case of pleroma, the database stuff is simpler, while the elixir and erlang stuff is what is dark magic...though that could be because my background is mostly LAMP sort of stuff. Thankfully, there is documentation for setting up/administering a pleroma instance, and as with most things, better versions of the documentation will surface more and more as time goes by.
- vorpalhex 7y agoIt's sort of a "doomed if you do, doomed if you don't issue". SQLite lowers the barrier to start, but if your community grows even modestly then you'll be facing a very scary database migration (or at least scary for small admin teams). I suspect a soft fork or subversion targeted towards small instances might be more sustainable, but that obviously requires more developers to build and maintain that.
- seemslegit 7y agoMe hearing about the fediverse for the first time: "Man this thing looks really promising, just think of the potential of a social network unhindered by the dark machinations of the googtwitface !" Me after ten minutes on the public feed of mastodon.social: "So do the furries post for the sex workers or is it the other way around or what ?"
- stevenicr 7y agoI've been thinking about these kinds of things for some time and starting to talk about it. I think we need an open source set of 'bouncers / blockers' - that people can use, perhaps best as a chrome / ffx extension? That blocks content from various portals or individual posts or posters that you may not want to see. Different people want to censor different things, and some want to censor the same things less and some more.. so by have an open source set of blocker bots people can discussion the blocking lists.. people can pick and choose what they see / not see.. That's on a basic beginning - I could see them also getting into 'unsubsbrcibe to stuff from server A and mastadon B' can take it further.. Since cloudflare came out as censor friendly - I've given up hope the big players will be all 'open info utopia' ever again. I think the best we can hope for is to get individual blocking bots and open up the web more. Otherwise we will have more censoring across the board and will succumb to whichever lowest common denominator of whoever gets to be in charge and make new rules. This way some people can choose to filter sex workers and not furries and some can choose to censor furries but not sex.. Of course I am sure many people will choose some broad auto-block and stick with that, making their internet more like fbook's daycare.. but having transparent options will certainly have many people turning off the 'safesearch' and explore the whole world, or larger parts of it. You are right in that we may need more tools for individual users to take control in this expanded universe.. but things like 'peter's ad block list' kind of things can be more beneficial than depending on MostPopular Mastadon Server being pushed to choose what to block for the masses and what to let through and the whack-o-mole that tends to create. If they are open and clone-able / editable - some might want peter-and-pauls-block-more lists.. and some may like furfriendlyButnotPron lists.. and I hope many more options for choose your own censor.. rather than having them chosen for us as most have succumbed to. My current random thoughts on the subject - hope others chime in to make it better and more of a possibility instead of just napkin notes.
- deleted 7y ago[deleted]
- grizzles 7y agoA screenshot / feature matrix would be a nice addition.
- kick 7y agoThere...was a screenshot, though? What exactly were you expecting?
- self 7y agoA screenshot isn't as useful as you'd think. You can very easily point a third-party web frontend to it, like the ones at https://wedistribute.org/2019/04/your-guide-to-alternative-frontends-for-mastodon-and-pleroma/ https://wedistribute.org/2019/04/your-guide-to-alternative-f...
- hombre_fatal 7y agoImo a screenshot is more useful than people think. Developers think "well, you see, any number of arbitrary clients can load the data and even impl their own UI features so a screenshot doesn't really make sense because...". But people mainly want to know what that even looks like at all. Especially with how open-ended "social network" can be. That the screenshots just look like Twitter answers some preliminary questions.
- mxuribe 7y agoAn older post might help you: https://blog.soykaf.com/post/what-is-pleroma/ https://blog.soykaf.com/post/what-is-pleroma/ Admittedly, this is dated, but is still valid, and should help you get a basic understanding of what pleroma is - including a few screenshots. I hope that helps!
- Yolta 7y agoIt saddens me that every time I see a fediverse-related post on HN, it gets inundated by people who don't "get it" and that is to be expected: fediverse is not Twitter and everybody gets Twitter. That change in mentality is not easy. Fun story: massive influx of users from India recently and the timelines got flooded by posts indirectly asking: "what is the way to fame here? How do I get followers?". Fediverse doesn't work like that. You just… talk with others. There's no "you and your followers". There's "us". Analogy: you are not in a metropole. You are in a village that is extremely well connected to all other villages. You do not need to shout to be heard. I'm on a FOSS-focused instance. We talk all kinds of stuff and FOSS is one of them. I have my Home timeline where I follow all the people I want to hear from (both my instance and all others). I have my Instance timeline where I'm basically guaranteed to read interesting stuff I can reply to and meet new people who also considered this instance to be their haven. And the Known Fediverse timeline… Well, it's fun to browse but come on, imagine a timeline of all tweets on Twitter: mostly useless. Choosing the right instance also involves choosing the right moderators for you. Mods can block other instances. If you don't like what the mods do, change instance or start your own community. After all, it's not Twitter, the people decide how content is moderated, not a for-profit company. That's the fediverse for ya. Hope to see you there!
- MrGilbert 7y agoI like to run mastodon as a single-user, and actively connect to other instances by following certain people. What I find lacking (but that might be a configuration issue): I cannot seem to get the replies to other people statuses, which are not from my server (so, basically, all). That'd be a bummer if that doesn't work.
- zimpenfish 7y agoPleroma v2.0.0[1] lets you hover over the "Reply to" text to get the replied to status in a little popup (which might be new in v2.) But also a little "popout" icon that will open the entire thread in another window (which previously existed pre-v2.) [1] running as essentially a single-user instance.
- skrowl 7y agoI tried the federated social thing with Mastodon after Twitter started really ramping up their censorship of conservative views. A social justice warrior complained to the admin of my instance that I was conservative and they banned me. That was my first and last foray into the federated socials. You trade a big corporate censor for a mom and pop censor, but none of them appear to actually be "free" (as in speech)
- girvo 7y agoThough the point of the fediverse is that you can run your own and connect to others. You’re not at the mercy of a single instance, unless I’m misunderstanding what happened.
- robrtsql 7y agoFor what it's worth, there's a decent number of 'free-speech' instances out there. They tend to be populated by the sort of thick-skinned people who playfully call each other slurs, which you may or may not be into.
- cjslep 7y agoI'm sorry someone promised you the Fediverse as if it is "free speech heaven". It isn't. Which is fine by me. To be honest, I think your view of what "free speech" is, is a ridiculous extreme. Go use FreeNet. If I don't seem compelling, I've put together an essay to address this in more detail [0] [0] https://cjslep.com/c/blog/censorship-is-a-tool https://cjslep.com/c/blog/censorship-is-a-tool
- nenolod 7y agoAs you are somebody who is responsible for stewarding the ActivityPub specification, I am seriously disappointed by this dismissive attitude.
- cjslep 7y ago> As you are somebody who is responsible for stewarding the ActivityPub specification I am not associated with the W3C in any way, and had absolutely no hand in creating ActivityPub. Chris Webber and many others deserve that credit. I don't attend the SocialCG meetings either (which are open to all). The most I can say is I've implemented a library implementation in Go (there are other Go projects), and I voice my opinion in the community. > I am seriously disappointed by this dismissive attitude. Dismissive? My apologies, that's not what I am going for. I'm precisely showing how certain folks' expectations in the free speech community were unrealistic and showing a mature technology that precisely delivers what they want. Consider what ActivityPub is not: it is not a way to physically get your free-speech in byte form forcefully delivered to others on the network. That's what multiple free-speech folks have repeatedly drawn the line at when I poked and prodded what their disappointment stems from. Instead, to get this technological capability, one needs to switch to blockchain or FreeNet protocols as this is what they do. The former actually requires consensus whereas the latter doesn't! ActivityPub as a technology does not guarantee any of this. I think free speech is important (I wrote a whole damn blog post about it, and here I am writing more), and I think there are important conversations to be had around it. But complaining about ActivityPub not being a censorship-proof technology ("I got banned from one instance for being too conservative") is not a productive discussion to be had. There's better ones out there.
- kixiQu 7y agoPleroma is mostly great except that you click follow and.... it doesn't work. The devs are mysteriously dismissive of this issue despite it being reported very, very consistently. I switched to running a ~single user Mastodon instance despite Pleroma being otherwise perfect for my needs (IT'S SO MUCH MORE RESOURCE-EFFICIENT). I was really hoping to see something about this issue in the release notes.
- nenolod 7y agoIt does work, but AP follows are asynchronous so it may take a minute for the relationship to update.
- kixiQu 7y agoNope, never started working. I asked kaniini; she suggested extending a particular timeout config value. No values for this worked. I heard this a lot from other people, though I'll acknowledge I shut down my instance a while ago so maybe it's been fixed?
- FalconSensei 7y agoIt's interesting that I didn't find a single link on the post or main page to join/try it. There's only a link to the Pleroma IRC channel. A link to the "main" instance, or a list of instances to join would help. Without that, I don't see the average person using it
- d3ntb3ev1l 7y agoToo bad we can’t name things simply with less Grandiosity and cleverness. Just call it leaf, cheese, or poppy. Cheese 2.0 that’s some killer tech
- TheJoYo 7y ago> Breaking: Removed 1.0+ deprecated configurations Pleroma.Upload, :strip_exif and :instance, :dedupe_media What did these configuration flags become?