Skip to main content

Friendica Admins reshared this.


Large database


!Friendica Admins
Hi everyone,

last week, I struggled with the size of my database for opensocial.at .. It went full (80GB) .. I added additional 10GB to the volume, but it seems to constantly increase and I think in a few weeks, I will be at the same situation like the last week.

Is there a possibility to shrink the database, or to wipe old data?
I recently deleted about 1.200 spam accounts (and set the register option to approval first ... lessons learned...). Are there leftovers inside the db which I can delete?

It's not that I don't have enough space, but I'm afraid of my backup borg-backup space in the near future ^^

Friendica Admins reshared this.

nope, there're no active relays "Das System hat derzeit keinerlei Relays abonniert."

Friendica Admins reshared this.

Disable the avatar cache in the admin settings. The avatar cache is most likely the biggest table in your database. Also enable a maximum lifetime for posts (See the performance section in the admin settings)

Squeet.me with now around 5.000 users has da database size of around 100 GB.


haha, I think I will try to call her with that name and see what happens :D
d778af0b0ee3462d6cff943e0a8d8a9a5364c67f
What I did:

  • Clicked at "Friendica Developers" under "Forums" inside the left navbar
  • Opened a new Topic per pencil-button

Friendica Developers reshared this.


New Github/Gitea Label


!Friendica Developers
I'd like to introduce `Refactoring` as a new label. I feel like we should distinguish between "real" enhancements and "just" refactorings. What do you say?
We never had any regression issue during refactoring tasks. 🤥
@Philipp Holzer Refacturing tasks are not fixing (maybe they even break some old stuff, AKA regressions) any code nor they add any new functionality. Therefore they can be seen as neither a bug (as nothing is fixed, just heavily rewritten and/or cleaned up) nor a new feature (as nothing new is added).

Friendica Developers reshared this.


Locks with hostname


!Friendica Developers
Calling @Hypolite Petovan and @Michael Vogel for support at https://github.com/friendica/friendica/pull/10601

I do want to alter the way how locks are working to make parallel hosts/nodes possible. I think the logic itself is pretty straight forward and final.

BUT - how can I upgrade the lock table without using it during the update process itself, it's a gordon knot :-/
I think about using a new method at DBStructure: https://github.com/friendica/friendica/pull/10601/files#diff-eda5315231a6379d57916642e302e3525c3de2161e7dedb209526c7cfc8afcd6R543 and execute it before using the lock.

Do you think it works? At least my local nodes are working, but I'm totally unsure about it yet ..

I'd like to finish this PR for 2021.12 as another preparation for making Friendica "cluster ready" :D
This entry was edited (8 months ago)
@Michael Vogel @Hypolite Petovan @Friendica Developers but wouldn't that possibly create a race condition, because a 2nd worker would start another update and wouldn't find the lock anymore so update it again?
You could add a functionality to disallow all locks.

Friendica Developers reshared this.


Questions Depository


!Friendica Developers
Calling @Hypolite Petovan for help :-)

Why did you introduce a separate "Navigation" directory under "src"?

My guess: this is really a DDD practice using a directory for a use cases and define the different class-types under it (creating boundaries between differently purposed code). But if so, why don't you include the Modules/Notification as well?
And "Navigation/Notification" triggers for me, that the focus of this class is only the notifications at the top of the navbar, am I right?
I'm trying to follow your pattern and refactor the ProfileField / PermissionSet.

Would it be a new "src":
"src/Profile" , where PermissionSet and ProfileField are Entities/ValueObjects ? Or how would you structure these repositories/models?
This entry was edited (8 months ago)
Aaahh sounds like the "good old" Model View Controller (MVC) pattern:
- Model --> where the business logic is (=> Entity, Depository, ...)
- View --> the presentation layer (=> Renderer / smarty templates)
- Controller --> The logic to show the right business logic (glue between model & view) (=> Modules)
=> And I like it :-)

I'll give it a try after finishing the WebDav class ;-)
I didn't think in so many terms, but it looks like it, indeed!
I'm sorry, I'm mostly thinking that way ^^..

@Philipp Holzer So I can finally setup my @Nextcloud instance as storage back-end for files being uploaded here on my Friendica instance or how do I have understand it? That is I was looking for!
Yes you can :-)

But Disclaimer: I was the only one who tested it yet, so please test it for your own before using it in production


A test Post from Friendica


Hi all, I'm trying to reach Twitter with my new Friendica Twitter plugin :-)
Fine, I can see my post at twitter
--> checked the PHP8.0 library compatibility @Hypolite Petovan ;-)
@Hypolite Petovan I got a lot of posts mirrored to my feed as well .. Do you know any other test for twitter plugin?
Please also perform a post with an attached picture.