[Solved] Home Library Management

Hi there!

I would like to index my paper books and actually I do not have any feeling at the moment what may work for me.

I clicked through the demo of Koha, I am aware of existence of Alexandria and PMB as well. But here is the thing. When setting up something accessible via a web interface I would need to host it somewhere. What works here then for such a purpose? Is it making sense to setup say something raspberry pi like for this? Or is it better to get some cloud service where I can setup hosting for - just for example - pmb scripts and the dedicated database? Once a while I run some PC as a hypervisor but this is just for tests not 24/7. So a hosted VM at a home based hypervisor is not an option here. And actually relying on an individual desktop application can also be a choice since I would need to turn on a computer to use this library management thing anyway.

A friend of mine, a non tech senior lady, is perfectly managing her books via a calc sheet desktop application, which actually has got a number of benefits including - just from my tech perspective - manageable approach to converting her stuff into cvs and uploading to some database should it ever be needed. So this suggests me that I can efficiently use some online spreadsheets like Zoho or whatever. Because all in all it is about the usability and I see it all as a process and not a ready made solution with all the book data available since day one.

When it comes to my expectations I believe that apart from typical bibliographical stuff (author, title, issuer, year, ISBN, etc) I might like to extend the info with the following:

  • where I bought a book,
  • its price,
  • in which room on which bookshelf I keep the book,
  • picture of the book,
  • picture of the bookshelf (or a part of it),
  • possibly I may keep indexed books which I resold.

I am not saying the list above is a must. I imagine that I can start doing some cvs like file in any spreadsheet app, at some point uploading it to some database, linking it with an interface and uploading pictures and so on.

If you could share your experience on managing home libraries that would be great!

Thanks in advance!

You could take a look at

Tellico is an application for organizing your collections. It provides default templates for books, bibliographies, videos, music, video games, coins, stamps, trading cards, comic books, and wines.

It is in the OSS repo as package: tellico, which will draw in tellico-lang.

As indicated in the short description above, you can find there some predefined collection templates, but you can add, remove, etc. items from it (they are templates) or create something new.

I use it for music CDs. Now and then the GUI is a bit weird, but with some adventurous clicking I managed to cope with it. :wink:

Personally I think the main drawback is that it does not use a known database, but stores everything in one big file. But OTOH I never had any actual problems with that and making a backup is of course very easy with only one file to do.

I would also suggest taking a look at Tellico. It can initially be a little “quirky” to use, but is fairly powerful, can be customised relatively easily, and is actively maintained.

Further details are here: https://tellico-project.org/

I clicked through Tellico and it looks to be likeable. Adding extra fields within my extra categories looks to be handy. Identifying books by ISBN and downloading already provided info works smoothly as well.

I noticed export possibilities to Alexandria, should I ever wanted it.

So indeed I can stick to Tellico making it the first KDE app in years on my desktop. :slight_smile:

The question:
Say you want to enable the same Tellico resource on a couple of computers in your home network. How would you handle this?
A) Some network fileshare resource on which you keep the .tc file (I have got a ddwrt based router which should allow file sharing).
B) Tellico does not like A like scenarios at all, so maybe a remote desktop session to the target machine where the application with the database file is stored (so a physical computer or a VM with a dedicated account just for Tellico).
C) You just stick to editing your database in a single user mode.
D) Any other ideas?

I do not know how it works internal. E.g. if at opening a collection the .tc is read completely and made into an internal structure on which changes are done, writing all back when Tellico closes. Or if data are read all the time they are needed for presentation to the users on the screen and changes are written back immediatly.

In fact I doubt that more then one session that changes a collection should run in the same time. It might be OK to use the collection read-only by more sessions at the same time.

You could ask the designer/maintainer. I once (years ago) had a question for him and got a reaction in no time. Kudos from me.

I am not sure I understand your points A - C.

A) It does not matter at all if the sessions I mention above work on a file “local” on the system where the user is logged in, or if it is NFS mounted from another system. That is where NFS is for: to make the place where the file is transparent to the user. As long as this in the LAN, the router does not come into play at all. Routers are only involved if network traffic leaves the LAN. Thus I think you must explain more about your network setup to let me understand why you mention the router.

B) It does not matter if the session is a remote session from elsewhere or from the system where the collection happens to be stored. The same restrictions (on more “collection changing” sessions at the same time) apply.

C) Single user mode in Unix/Linux is a special state of the operating system where only one user (root) has access and where there is not network and of course no X running. I doubt you want to try Tellico (or any user application) on a single user mode system.


Situation here.

Two systems. Both have one main user (but users are configured on both systems for several reason, e.g. fall-back).
One Tellico collection. The .tc file is on system “boven” in a part that is NFS exported and that is NFS mounted in the other system “beneden”.

Now this is a rather small set-up, easy to oversee. And in fact only one of the users ever changes the collection. So I never tried what happens when the other user starts to edit at the same time.
Because both users are members of the same group (no, not the group “users”) I assume that I could implement this behaviour by having the user that may edit as the owner (which is already the case) and then remove the write permission for group. That will force he other user to read-only opening the collection.
Maybe, when I really get into troubles with my wife about this collection, I will do that rotfl!

My home network is quite simple:


Using a router with file sharing capabilities would allow avoiding having a more powerful machine (raspberry pi like?) running to provide nfs or (even more powerful) being a tellico work station itself for a remote desktop session or (yet more powerful) being a hypervisor for a vm with a desktop distro with tellico and a desktop session to it.

So anyway the files sharing does not work for me for this purpose. With proftpd I needed imitating a regular directory structure to open a file in tellico (I used curlftpfs for this purpose). But after opening a .tc file I could not both save the file itself and save it as a new file.

With samba it was a bit more interesting as I could open a .tc file and I could not save to it, but I could save to the new file on the same smb share. And I did not even started trying a second session to this file.

Just in case: I did not have any troubles with accessing a text file and saving to it from gedit including getting nice notification that the content of the file in the drive had changed against the cache (by another gedit session to the file).

I am not sure if I want to try with some cloud resource for this case.

And… by the single user mode I did not mean runlevel 1 of sysvinit. I just meant the concept of working with the tellico app in a completely isolated manner: an individual desktop and no shared database file fullstop, as this was the most handy way to work with this application in one’s opinion (possibly).

Meanwhile I am feeding the data to tellico. :slight_smile:

Sorry, but I am afraid that we are on a different track here.

I have no idea what a router has to do with, what you call “file sharing”.
I am a simple Unix/Linux system manager. I repeat: A system can export directories from it’s directory tree and other systems can mount these where they need them. If the network between those systems involves router or not is not important (except when those routers also have a firewall function, then packages may be blocked of course when the firewall is not allowing them).

I do not even know the names of what seems to be products related to ftp. But when they are in fact ftp ciemts/servers, then IMHO that is not a solution. FTP is for transferring files from one system to another. Not for access to a file on another system in the same way you work with any file on your own system.

You also mention Samba. I do not know why, but you never mentioned above anything of MS Windows systems involved. Thus I never took the presence those types of system into my advice above.

BTW better upload images to https://susepaste.org/ . That does not require me to allow all sorts of scripts of untrusted websites.

ddwrt on a router hardware behaves like a very smalll Linux distro. I tried to use its capabilities as it already exists within the network (doing routing stuff mainly). And… should I want it to be a network storage resource I can use either proftpd or samba as they have been added there. The internal traffic for ftp and smb is not blocked.

I use one or another laptop once a while. So I do not have another idea how to make my .tc file available in the network without using another device in the network if my ddwrt based router is disapproved for this purpose.


BTW better upload images to https://susepaste.org/ . That does not require me to allow all sorts of scripts of untrusted websites.

I replaced it. On the other hand I do miss resizing options for images in the BBcode dialect we use here (unless I missed something).

Another possible option is KBibTeX which is a front end to the BibTeX database; BibTeX is (infinitely) extensible and can contain links. I have not used KBibTeX myself because I find it easier for my purposes to edit the BibTeX files directly but KBibTeX may give you what you need.

Have been with Tellico for a month or so and since I have been updating my collection database every now and then I should state it it looks to be not discouraging me.

Solved. Thanks!