Hey there, I thought about starting my own Lemmy instance, yet I’d really like to use my already running MariaDB server for the database. I haven’t found anything in the docs (might be me though). Is that possible or will I have to set up Postgresql?

@JudithHowery
link
fedilink
English
110M

@rice purity test Set up a separate PostgreSQL server for Lemmy. This is the recommended approach, as it aligns with Lemmy’s default configuration and reduces potential compatibility issues.

Commenting so I can figure this out too. Have you gotten it to work in docker without ansible? I only want to run this is a single docker server.

I’m running my instance fully in docker and only use docker compose

@frankblack@lemmy.world
link
fedilink
English
31Y

Would you mind sharing your docker yaml with me? Please?

poVoq
link
fedilink
English
4
edit-2
1Y

Currently only Postgres is supported. However internally it uses the Diesel middleware, so I think it would be feasible to add MariaDB support in the future.

Dark Arc
link
fedilink
English
51Y

I’m going to plus one what others are saying here. As someone who wears dev and sysadmin hats, Postgres is just a way better database. For new projects, Postgres should be the go to unless you’ve got a niche use case.

Even with Diesel (or some other query builder) in use, it’s not uncommon for apps to use special features specific to a database. It can also be a major pain just to test that your app actually works on these other databases, and then support weird slow downs, migrations, etc

I’ll give the example that MySQL and MariaDB don’t support transactions for SQL DDL. Basically what that means if that if you want to write a database migration to update the layout of one of your tables, there’s no way in MySQL to have the database automatically revert your changes if something fails during the database changes… You’re just screwed unless you have a backup. Meanwhile with Postgres, you just say rollback in your transaction, and things are back to normal.

There are also other less serious quirks like if you insert a NULL into and Integer field that’s specifically marked not null, Postgres will error, MySQL/MariaDB will just silently convert that to a 0.

Like in a way, MySQL is the “JavaScript” of databases, and that’s not what you want at all.

Jamie
link
fedilink
English
51Y

Possible, but I don’t see it happening. Postgres provides functionality that MySQL/MariaDB don’t, so if a lot of that functionality is used, the primary devs probably aren’t going to want to take on the extra overhead of maintaining and testing it. In those cases, it would require additional rewriting on the Lemmy side to make it work seemlessly. A fork could likely do it, though.

Sifr Moja
link
fedilink
11Y

@Jamie @poVoq best thing about PostgreSQL is PGAdmin4 since it supports OAuth2.

@takeda@lemmy.world
link
fedilink
English
25
edit-2
1Y

If the application doesn’t say anything about MariaDB or MySQL then it won’t work. The SQL statements are different enough that there needs to be an explicit support.

You could contribute and add support, but that might be a bit of work.

Also the glory days of MySQL are over. MySQL started with goal to be fast, and placed correctness as an afterthought. Meanwhile PostgreSQL placed correctness as the most important goal. As time passed, PostgreSQL made many speed optimizations, while MySQL was forced to replace fast MyISAM engine with slower but more correct InnoDB, but the old design decisions still cause issues. As an SRE I’ve seen multiple times where MySQL and MariaDB also corrupted its own data.

I actually don’t know your reasons to still sticking with it, but if you can I would recommend to give PostgreSQL a try it is much better experience for developers as well as for operations. There’s a reason that less and less apps support MySQL/MariaDB.

Applications frequently employ functionality unique to a database, even when Diesel (or another query builder) is being used. Additionally, testing that your application functions properly on these other databases and supporting strange slowdowns, migrations, etc. https://testflight.apple.com/join/o9m6BbyU geometry dash world May be rather difficult.

I’ve been working with fethiye tour lately. I’m frankly kind of shocked at how well documented the API is and how well it all works. And it’s mostly open. I haven’t done anything with ESP32 Cams I bought, yet. No idea what is possible there or where to start.

Create a post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

  • 1 user online
  • 161 users / day
  • 415 users / week
  • 1.04K users / month
  • 3.77K users / 6 months
  • 1 subscriber
  • 3.9K Posts
  • 79K Comments
  • Modlog