this post was submitted on 15 Oct 2024
73 points (97.4% liked)

Selfhosted

40219 readers
940 users here now

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!

founded 1 year ago
MODERATORS
 

I need to record information about what my cat eats and does, as she might have a food allergy and I need to track down what it is.

So I am after some kind of a user friendly locally hosted database (maybe via some kind of app), preferably Linux friendly.

It would be nice if it had similar relationships to the added image, some kind of relational DB that I can fill with data. But essentially I need to have a bunch of lookup tables to return some data specific to difference events.

Its a bit of a pain (and takes time) to have to write an entire webapp to manage all this from scratch, that's why I am looking for some kind of user friendly GUI way to do it. Surely there must be some kind of relational database managing "application" that lets you set up some lookup tables and enter data in a nice and easy GUI way to do it? sqllitebrowser doesn't count as it doesn't handle linked tables in a nice way (would be nice if its friendly for my wife to use) :)

Cheers!

all 48 comments
sorted by: hot top controversial new old
[–] [email protected] 30 points 1 month ago

I use dbeaver on ubuntu and windows.

https://dbeaver.io/download/

[–] [email protected] 27 points 1 month ago* (last edited 1 month ago) (2 children)

Personally, I would use a simple spreadsheet for this.

But if you have your heart set on a db, you can use Access or LibreOffice Base for ease of initial setup.

Maybe SQL (or PRQL, if you're feeling cutting edge) with some dbms (SSMS Community I think is still free, or maybe Heidi SQL) but this will require you maintain a server as well. PostgreSQL is what I generally use if I want to spin up something quickly. I do like SQL quite a bit, but it seems overkill for this task.

Edit: autocorrect

[–] [email protected] 11 points 1 month ago

LibreOffice Base seems like a good idea for something like this. SQL based with a UI to create forms, reports, etc.

It's probably one of the few times it would be an appropriate tool to use!

[–] [email protected] 2 points 1 month ago

Yea, talk about overcomplicating a simple task.

[–] [email protected] 13 points 1 month ago

The database app in LibreOffice, based on the Firebird database engine, can do all that.

[–] [email protected] 13 points 1 month ago (2 children)
[–] [email protected] 3 points 1 month ago (1 children)

I use DBeaver at work when I am having problems with psql commands in terminal. It's prevented me from pulling out my hair a few times.

[–] [email protected] 5 points 1 month ago

Question is, what is its Wife Acceptance Factor (WAF)?

[–] [email protected] 2 points 1 month ago

I also suggested this. Friendly on lots of operating systems too.

[–] [email protected] 10 points 1 month ago (2 children)
[–] [email protected] 4 points 1 month ago* (last edited 1 month ago)

Perfect application for NocoDB in my opinion. They have a relationship view like the one shown in the screenshot and a form builder for easily adding new data. Setting up the relationships is easy. I find it much easier to use than DBeaver and the GUI is more modern.

The data is accessible by programs such as DBeaver, and they have a REST API too, should you need it.

[–] [email protected] 1 points 1 month ago

Hmm, nocodb is a webapp first and foremost. It does have binaries to run directly on the host, but I'm not entirely sure to recommend this over libreoffice actual app for database management. I believe it would be more in line with OPs requirement.

[–] [email protected] 8 points 1 month ago (1 children)

check out SQLiteStudio. It looks a good deal simpler than using dbeaver and it works on Linux. https://www.sqlitestudio.pl/

[–] [email protected] 2 points 1 month ago

Yessss this program is amazing. One of the few things I've donated to.

[–] [email protected] 7 points 1 month ago

I think Grist would definitely fit your needs.

[–] [email protected] 7 points 1 month ago (2 children)

Why wouldn't a simple spreadsheet and some pivot tables work?

[–] [email protected] 3 points 1 month ago

The data is relational. Spreadsheets are a pain to use for that.

[–] [email protected] -2 points 1 month ago (1 children)

Never use a spreadsheet to do a database job.

[–] [email protected] 19 points 1 month ago (1 children)

Tracking a single cat doesn't seem like DB work

[–] [email protected] 5 points 1 month ago (1 children)

But it's not just the cat. OP wants to track the foods the cat is eating and the allergens in the food, and then look for correlations and trends. You could manage most of that with a spreadsheet, but you'd have to update reference tables every time you add a new entry. OP wants something user friendly.

[–] [email protected] 2 points 1 month ago* (last edited 1 month ago) (1 children)

Sure, but how many foods are we talking here? This sounds like probably <20 rows on a sheet, with columns for ingredients.

[–] [email protected] 2 points 1 month ago* (last edited 1 month ago) (1 children)

Looking to replicate something like this (with a weekly/monthly/ect views, maybe monthly view can look different since it would be too long to scroll, but anyway, it looks like arse but was just giving it a go), but didn't want to have to create a full webapp (with CRUD data inserts, pagination ect... its certainly doable, but just annoying to implement). This is just a simple index view in a random framework I found, with some real, but pre-canned data via db seeding (so at least I can re-create it easily). Just thought there could be something easier that already exists and i wouldn't have to be re-inventing the wheel. Have a paper version of this, but its too hard to keep track of different foods via paper.

Spreadsheet sounds interesting (read easier) to try, though I am not quite sure how to do the lookup bits. Would it be something like one table (sheet) of events feeding from say, food type table (sheet) and some kind of a month view that can accumulate events on the same day?

PS: yes got a vet appointment coming up soon.

[–] [email protected] 1 points 1 month ago

I'm not sure about libre office, but Excel has lookup and lookup. I've not personally used those. But might be of help.

[–] [email protected] 5 points 1 month ago* (last edited 1 month ago) (1 children)

I was looking for something similar for a while, like something for simple relational data with some GUI for data entry, aka "I don't wanna write a little web app just for this". I had used AirTable at work before at work so that's what came to mind and my searching was basically for "open source or selfhosted alternative to AirTable".

Came across some decent candidates, can't remember all the names, but the one I tried, Grist, was pretty straightforward and did the job: easy relational data setup, GUI for all basic data types including file uploads, easy to create input forms, and widgets that talk to the API and you can customize with JavaScript. Setup was easy with docker

EDIT: other names that came up when looking were NocoDB and BaseRow ( I don't remember why I didn't try them for my specific needs)

[–] [email protected] 4 points 1 month ago* (last edited 1 month ago)

Thank you for the suggestions, I tried a bunch and nothing immediately fit. Most were either too complicated for me to create the relationships or I couldn't get the thing locally running (or there wasn't a self hosted option)... Basically stupid user syndrome 😑 😤.

So went back to the drawing board of writing a webapp and after a few experiments realised that... All I needed was a calendar with pre-canned event titles, groups for colour to highlight different events... silly me, all I needed was a calendar...

Ended up re-inventing something looking very much like a calendar... sigh... do I carry on or look for some kind of lightweight calendar :/ Just need to have ability to quickly create pre-canned events, would be nice if the events could be related...

On the other hand, its kinda fun to re-invent a calendar haha!

Here is a colour version... totally a calendar 🤣

[–] [email protected] 4 points 1 month ago (1 children)

Not locally hosted, but pretty powerful and has a free tier.

https://airtable.com/

Basically spreadsheets but superpowered.

[–] [email protected] 9 points 1 month ago

Grist is a selfhostable alternative to Airtable

https://www.getgrist.com/blog/grist-v-airtable/

[–] [email protected] 4 points 1 month ago

postgresql db (e.g. in Docker) + Dbeaver as GUI client

[–] [email protected] 4 points 1 month ago (1 children)

Many thanks for all the replies, il take a look at them!

[–] [email protected] 3 points 1 month ago

I'd love you to check back later with your conclusions.

[–] [email protected] 4 points 1 month ago (1 children)

It's already been recommended, but I think Grist or a lowcode/nocode thing like baserow or nocodb might work for you.

Also, I'd love to see what you come up with! My cats are picky eaters and I've been wanting to keep track of what wet food they like or not.

[–] [email protected] 1 points 1 month ago

That's an interesting point, I decided to carry on with the webapp route, but it would be easy to make it "multi-cat" actually. What I really wanted was a lightweight calendar but I couldn't find one that had pre-canned events or had too many other things I didn't want.

[–] [email protected] 3 points 1 month ago

I think for this it is over the top but I found rei3 one oft the best database webapp low-code builders: https://rei3.de/en/home

[–] [email protected] 3 points 1 month ago

I found this site which might help you in your search.

https://selfh.st/apps/

Food for thought (no pun intended), but unless you’re willing to build an app (could be a great app; I doubt you’re the only person who could use this), you might be over engineering this quite a bit. A spreadsheet could be made to do what you’re looking for, with much less effort.

[–] [email protected] 3 points 1 month ago
[–] [email protected] 2 points 1 month ago
[–] [email protected] 2 points 1 month ago* (last edited 1 month ago)

I've been looking for th8s for awhile too.

Not a locally run tool, but a self hosted web app (that I wire up to my self hosted db) that has a web portal I login to, and then can manage my db with a nice slick UI to define tables, relations, etc.

There's been some I've found but they vastly lacked basic features and were clearly in very early beta.

[–] [email protected] 2 points 1 month ago

https://sqlitebrowser.org/ is great or aSQLiteManager for android

[–] [email protected] 2 points 1 month ago (2 children)

https://mermaid.live This might handle a lot of the GUI in combination with some scripting and a few other bits tossed in the mix.

But mostly came to demand cat tax!

[–] [email protected] 2 points 3 weeks ago (1 children)

Apologies for delay, mandatory cat tax!

[–] [email protected] 1 points 3 weeks ago

Très jolie!

[–] [email protected] 1 points 3 weeks ago (1 children)

doesn't vscode have an extension that does that?

[–] [email protected] 1 points 3 weeks ago (1 children)

If you know the name, I'd be curious 🥺

[–] [email protected] 1 points 3 weeks ago

I think it's literally called "SQLite". I haven't used it though, so idk how good it is...

[–] [email protected] -1 points 1 month ago (1 children)
[–] [email protected] 3 points 1 month ago

lol what, a graph database for spreadsheet work?