I haven’t touched my gramps installation for about a year. Yesterday I started looking back at both the Docker installation of Gramps Web, and Gramps Desktop, and noticed that Gramps Web had updated to v5.2.2 while my Gramps Desktop was still at v5.1. So I tried reinstalling Gramps Desktop to the newer v5.2.3, and I had to reinstall the plugins. But I’m not able to access any of the Family Trees, I have no Tools menu and I can’t seem to figure out how to synch from remote to local.
So I thought I would try to export data from Gramps Web, but the export wasn’t working and looking at Chrome Developer Tools I saw that all API endpoints seemed to be erroring out. So I thought, maybe I should restart the docker container. But on restarting the container it seems to not find the database anymore, and launched the firstrun screen. Only way I could get in was to recreate my user account, but on entering with the new account it looks empty.
I inspected the docker container with docker exec -it grampweb sh
, and it seems like the database is still there, in /root/.gramps
I see:
drwxr-xr-x 1 root root 4096 Apr 28 11:39 gramps52
drwxr-xr-x 3 root root 4096 Aug 28 19:10 grampsdb
-rw-r--r-- 1 root root 266 Aug 28 19:20 recent-files-gramps.xml
And `recent-files-gramps.xml` has:
<?xml version="1.0" encoding="utf-8"?>
<RecentFiles>
<RecentItem>
<Path><![CDATA[/root/.gramps/grampsdb/257944e6-d772-424c-b37d-e87d34935d59]]></Path>
<Name><![CDATA[Gramps Web]]></Name>
<Timestamp>1724872800</Timestamp>
</RecentItem>
</RecentFiles>
The grampsdb/257944e6-d772-424c-b37d-e87d34935d59
directory has:
-rw-r--r-- 1 root root 6 Aug 28 19:10 database.txt
-rw-r--r-- 1 root root 10 Aug 28 19:10 name.txt
-rw-r--r-- 1 root root 196608 Aug 28 19:10 sqlite.db
-rw-r--r-- 1 root root 49152 Aug 28 19:10 undo.db
Which seems to me like there is quite a bit of information in the database.
If I inspect the docker logs I see:
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> c89728e71264, empty message
INFO [alembic.runtime.migration] Running upgrade c89728e71264 -> e5e738d09fa7, Added configuration table
INFO [alembic.runtime.migration] Running upgrade e5e738d09fa7 -> e176543c72a8, Add tree column to User
INFO [alembic.runtime.migration] Running upgrade e176543c72a8 -> 66e56620891a, Add trees table
INFO [alembic.runtime.migration] Running upgrade 66e56620891a -> 22c8d1fba959, Add trees.enabled
INFO [alembic.runtime.migration] Running upgrade 22c8d1fba959 -> b0582f54029c, Use BigInt for usage_media
INFO [alembic.runtime.migration] Running upgrade b0582f54029c -> 84960b7d968c, Use BigInt for quota_media
[2024-08-28 19:38:10 +0000] [35] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/gunicorn/workers/sync.py", line 134, in handle
req = next(parser)
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gunicorn/http/parser.py", line 42, in __next__
self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gunicorn/http/message.py", line 257, in __init__
super().__init__(cfg, unreader, peer_addr)
File "/usr/local/lib/python3.11/dist-packages/gunicorn/http/message.py", line 60, in __init__
unused = self.parse(self.unreader)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gunicorn/http/message.py", line 281, in parse
self.parse_request_line(line)
File "/usr/local/lib/python3.11/dist-packages/gunicorn/http/message.py", line 445, in parse_request_line
raise InvalidHTTPVersion(self.version)
gunicorn.http.errors.InvalidHTTPVersion: <exception str() failed>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/gunicorn/arbiter.py", line 609, in spawn_worker
worker.init_process()
File "/usr/local/lib/python3.11/dist-packages/gunicorn/workers/base.py", line 142, in init_process
self.run()
File "/usr/local/lib/python3.11/dist-packages/gunicorn/workers/sync.py", line 126, in run
self.run_for_one(timeout)
File "/usr/local/lib/python3.11/dist-packages/gunicorn/workers/sync.py", line 70, in run_for_one
self.accept(listener)
File "/usr/local/lib/python3.11/dist-packages/gunicorn/workers/sync.py", line 32, in accept
self.handle(listener, client, addr)
File "/usr/local/lib/python3.11/dist-packages/gunicorn/workers/sync.py", line 158, in handle
self.handle_error(req, client, addr, e)
File "/usr/local/lib/python3.11/dist-packages/gunicorn/workers/base.py", line 225, in handle_error
mesg = "Invalid HTTP Version '%s'" % str(exc)
^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gunicorn/http/errors.py", line 56, in __str__
return "Invalid HTTP Version: %r" % self.version
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
TypeError: not all arguments converted during string formatting
[2024-08-28 19:38:10 +0000] [35] [INFO] Worker exiting (pid: 35)
[2024-08-28 19:38:10 +0000] [18] [ERROR] Worker (pid:35) exited with code 255
[2024-08-28 19:38:10 +0000] [18] [ERROR] Worker (pid:35) exited with code 255.
Where can I go from here to get my database restored?