I am another self coder using my own ideas not stuck with legacy ideas and using a web design with mysql db I happen to use php and dont use a cms like many seem to these days. I find use of a CMS somewhat restricting to the use of the database for full speed. You may get a CMS up quickly but it can bite you when you try to scale later, some have poor use of the database behind, I have lurked and helped in #mysql for a number of years and seen that problem a number of times.
Search is possible on smaller systems you just need to implement an inverted index on the data you want to search this can be complex and large, Solr, or Sphinx or even the one mysql has built in a fulltext index. I went the way of creating the index in my application, that gives me a multi table search. http://www.collection.archivist.info/searchv13.php?searchstr=steam I went beyond marc because I store subject info in the database. http://www.collection.archivist.info/searchv13.php?searchstr=proceedings A good example is http://www.collection.archivist.info/searchv13.php?searchstr=bk2108 As mine is for my own personal book collection, some data is only available on an internal view of the data eg shelf, or if I've lent to someone and who. The search "engine" can be separated out from the code and used in other db schemas, I tried this on a partial marc import cherry picking a few of the fields, this is web viewable too http://www.marc.archivist.info/searchv10.php?searchstr=james applied to another set of data with computer manuals http://manx.archivist.info/search.php?search=altos I thought this would easily fit your system till I looked at django, wrong language I use PHP, which will run anywhere almost. If running your own server on own IP address then you just need to buy a domain name and have it pointed to you, I happen to do similar except I run the dns name server too so I can add as many sub domains as I wish. Running a name server means you need a secondary name server, get a friend to do that. Dave Caroline