/kbin - Sunny June Announcement

Hi everyone, it seems that we have quite a gathering here, and many of you I haven't had the chance to greet yet :) As some of you may know, /kbin is still in its early stages of development. Every day, improvements and new features are being worked on. Unfortunately, this may result in occasional short downtimes. However, the recent changes should address the issue of logging out after a break. Soon, I'm also planning a slightly bigger environment update, which might involve a slightly longer downtime.

However, it will be worth the wait because it will bring a few changes:

  • Swapping favorites and boosts, meaning it will work similarly to Lemmy instances. Based on your feedback, I've decided it doesn't make sense to complicate it further.
  • Improved communication with some instances (get sign request).
  • Italian language (https://translate.codeberg.org/user/ambitras/) and Japanese language ( @dannekrose ) (I'd like to link your profiles in the project's readme if possible. Let me know where the link should lead).
  • And it seems that German language is also incoming :O (https://translate.codeberg.org/projects/kbin/#languages)
  • Ability to mark content in Hebrew language.
  • New PWA icons.
  • I also plan to move thumbnails to external storage and switch to queue-based generation. This will significantly speed up the website.
  • In the meantime, you can catch up on what's happening in /m/kbinDesign ( @cody ) or try the BetterKbin plugin ( @FediExt ) - your feedback will be appreciated.

Thanks to everyone for your contributions. The most beautiful thing is that it all comes naturally, from word to word. I feel like we're on the good side of the Internet ;) I've also prepared a short guide on how to set up your own instance - I'll be gradually improving it. /kbin works quite well as a small community.

I'll be partially absent as I need to focus on these tasks, so please mention me in posts if something important happens. And I also need to catch my breath a bit. Like other admins, the recent time has taken its toll on me. I feel like I've been to a four-day beach party ;p Once everything settles down, I will definitely return to your questions and comments.

Finally, I would like to thank @NGIZero for their support. Thanks to them, we have reached this stage.

Kbin platform logotype
MrsEaves avatar

Thank you so much for all your hard work! /kbin is what I needed to make the switch to the Fediverse for link aggregation. I looked at Lemmy a while back and for whatever reason, it wasn’t quite a fit for me. Pulling in Mastodon content automatically and threading it is one of my favorite features. Looking forward to the login timeout and upvote/favorite changes!

Warped avatar

A one of the many new invaders/users/refugees* I can only say a huge thank you for all the hard work. After lurking around the Fediverse, I settled here, simple because it suited me best. It certainly seemed more welcoming. The recent changes at Reddit gave me the push I needed to pick a new digital home. Whilst this place is still growing and improving, may need features added, etc... The foundations seem strong. Not just from the design aspect, but the users as well.

So thanks, keep up the good work. But don't wreck yourself doing it.

  • delete as applicable
WorriedGnome avatar

I'm preferring /kbin over lemmy as it just fits my needs better - thank you for creating it! Being part of /kbin and the fediverse is awesome - I've stopped using reddit and I feel like this place is fresher, nicer and just a better experience overall


Thanks for the hard work! I look forward to seeing the improvements.

It would be cool if the kbin api could be similar to Lemmy's. That way apps and user interface's that support Lemmy would support kbin too.

ernest avatar
@XLRV@lemmy.ml avatar

Yeah, it would be great to streamline the APIs, and apps would have a easier way to support both Lemmy and Kbin.

dragfyre avatar

Allons-y pour kbin en français o/


C'est merveilleux ! :D

dragfyre avatar

tou(te)s les francophones rentrez icitte: /m/lacabine


Thank you for the time that was put into this, working on familiarizing myself with the features. Looking forward to watching this app grow.

JungleGeorge avatar

Thank you so much for all the amazing work on kbin 😊

symfonystation avatar

@ernest Don’t over do it, bro.

jdp23 avatar

Great progress and more on the way! Thanks to you and everybody else for all your hard work on /kbin!


Hi, is federation mandatory in kbin? Also is portuguese language planned?

ernest avatar

No, federation is optional. It can be disabled in the admin panel globally or in the user interface (sidebar). As for Portuguese, we need to find someone capable who can take care of it. Or I'll have to ask my wife very nicely ;)


Yes, i noticed that i can disable federation for me in sidebar, my question was indeed globally. As for portuguese translation, i think i could help, i'm a portuguese native speaker. How can i help?
Also i think i didn't received notification of your reply

dannekrose, (edited )

@ambliopia For the translation, go to translate.codeberg.org and create an account (or log in using GitHub). Find the kbin/kbin project and create a new translation.


Then click on Languages and you should have an option to create a new translation. Good luck!

ernest avatar

That would be great, thanks!

kjr avatar

@ernest What does it mean "Ability to mark content in Hebrew language"?

ernest avatar

@kjr I mean that the Hebrew language will be added to this list. Marking a post with a language allows filtering on Mastodon and other supporting platforms later on. kbin will soon also allow filtering content by language. I noticed that there are a few people on the instance who speak Hebrew :)

kjr avatar

מעולה, שמח לשמוע !!
It sounds excellent!!
Then (a little unrelated here maybe) makes it sense to add additional languages in the translations?
And is possible to publish here in other languages than English, using the language mark? (I thought it was an English-only instance)

ernest avatar

@kjr That was the assumption. But hey... why not, the fediverse is so diverse that a lot of content in other languages ends up here anyway. Since there's an option for tagging, feel free to use it. I'll do what I can to ensure the filtering option is available as soon as possible.

Personally, I like having the option to choose the interface in my own language ;) If you're interested, take a look here: https://translate.codeberg.org/projects/kbin/kbin/

kjr avatar

Good, then I will add Spanish (bigger language) and maybe after that I can collaborate in Hebrew.


@ernest @kjr A quick question: Can individual users select which language to display the UI in? I can't seem to find a way to change the UI language for kbin.

I see that the server .env settings has a default language setting, but how can a client change that to show a different UI translation? Is this possible or does the admin have to change the entire instance's language to a different one for all clients/users?

ernest avatar

Currently, the language is automatically selected based on the system/browser settings. However, this will change after the mentioned update is released. There will be an option to choose the language in the footer.


@ernest Hmm. Ok! I must be doing something wrong then since I couldn't get the Japanese language translation to show. I downloaded the .yaml and put it with the other translations, but maybe I'm missing a piece.

Thank you

ernest avatar

I use a browser plugin that overrides headers for testing purposes. On my local kbin installation, I set the Accept-Language header to "ja," and it seems to be working ;)


@ernest Do I have to re-build anything? My header is also set to ja, but I must be missing something. Does the language need to be added to a list somewhere as well as the .yaml file?

ernest avatar

I simply uploaded the translations to the folder. APP_ENV=dev. You can try clearing the cache by running the following command: docker-compose exec php bin/console cache:clear


@ernest That last command is what I needed. Thanks!

ernest avatar

@dannekrose Wow, I see that you managed to set up your own instance. Are you familiar with PHP/Symfony? How would you rate the difficulty of this process?


@ernest I did!

I am not very familiar with PHP nor Symfony. I set up a PixelFed instance from scratch as well and that uses PHP Larval and that experience did help some, but I'm not a PHP developer at all.

As for the experience, after I got everything set up, I can see where the lack of documentation caused me to get stuck, but if I were to try again right now while using my experience as a guide, I can imagine a "relatively" straightforward set of steps to set up.

The only piece that I'm still not 100% clear on are what are the optimal configuration values for the JWT tokens (.env only mentions one token, but mercure's Caddyfile mentions both a publisher and subscriber), and which daemons should be run under which accounts. There are a lot of pieces:


Also, setting up the worker threads via supervisord was unexpected and only mentioned in that other issue raised on codeberg.

I've done my share of documentation in the past and have thought about editing the wiki, but due to work at the moment I didn't have the time to record all my steps down in detail for this deployment.

I do hope to have some time soon, though and might try to take a look at the wiki and do a "test" deploy again.

My personal preference, though, is to not use Docker so I also understand that can add a LOT of complications.

I'm happy to share anything specific if you like as well about the experience. I used it as a learning experience and ... I did learn a lot for sure.

As for difficulty - with the state of the documentation as it was when I tried, it was quite difficult. However, once you have all the correct pieces and software parts installed, the configuration isn't any more complicated I think that other platforms (Mobilizon, Pixelfed, etc). There are a lot of pieces to get running correctly, though and any documentation should probably focus on making the installation of those different pieces as easy as possible as well.

On a scale from 1-10 with 10 being basically imposssible, I'd say without documentation completed - 8
With documentation completed - 4?
These assume at least a basic level of comfort working with Linux and installing software like this, though.

Thank you again!


@ernest I'll give that a try! If it works, I can then tune the translation better being able to see where the different elements are actually used! Thank you!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • kbinMeta
  • kavyap
  • DreamBathrooms
  • mdbf
  • Durango
  • everett
  • magazineikmin
  • InstantRegret
  • ethstaker
  • Youngstown
  • slotface
  • cisconetworking
  • tester
  • rosin
  • khanakhh
  • bokunoheroacademia
  • thenastyranch
  • GTA5RPClips
  • osvaldo12
  • Leos
  • cubers
  • normalnudes
  • modclub
  • tacticalgear
  • lostlight
  • relationshipadvice
  • anitta
  • HellsKitchen
  • sketchdaily
  • All magazines