Today, I migrated my read-later list (and archived links) from Wallabag to Karakeep.
I self-host both of these applications on my Synology DS224+ NAS.
It turned out, that migrating the links from Wallabag to Karakeep is not as straight-forward as exporting from Wallabag and importing into Karakeep. The reason being that there were no file-format that Wallabag could export to that could be imported to Karakeep.
What I ended up doing is exporting the links from Wallabag as json, converting that to html and importing that into Karakeep. Worked flawlessly.
From this discussion on GitHub I found axilleas comment that included a ruby script that I used to do the conversion.
I’m using Bluefin on my Framework 13 laptop so here’s what I did step-by-step:
- Exported the links from Wallabag as json file into a folder on my computer (let’s say
~/Temp)
and renamed the file as archived_links.json - Spun up Ubuntu container using Distroshelf
- Used terminal to enter the container, updated it and installed ruby (and nano) with
sudo apt-get update && sudo apt-get install ruby-full nano
- The way Distroshelf works (at least on Bluefin) is that it mounts my home folder to any created container, so I only had to run
cd ~/Temp
to enter the folder with the exported file - I created a new file with
touch wallabag-json-to-html-karakeep.rb
- I opened the file with
nano wallabag-json-to-html-karakeep.rb
and pasted the code from the link above into it, saved and closed the file - I ran
ruby wallabag-json-to-html-karakeep.rb archived_links.json archived_links.html
That’s it. A new file was created, which could be imported (successfully) into Karakeep. I created a gist of the code, which hopefully makes it a bit more accessible than browsing through GitHub discussions. As said, credits for the code goes to axilleas on GitHub.