Insomnia is a tool use for test, design, and debugs API. It’s a Postman competitor, this kind of software only has limited player. Insomnia had 2 different product Insomnia Core which is competitor of Postman, then Insomnia Designer which is similiar to Swagger Editor.
Insomnia stays free even after Kong brought them from the original developer, for a personal project the free version is enough. If you need the ability to share workspace between teammates, one must purchase the Teams plan, which is enhanced for collaboration between developers.
Download Insomnia
For Linux I prefer using the AppImages because it can run directly as an executable and compatible with most Linux distro. Insomnia had a dedicated url to get the latest version of their Insomnia Core product
wget --content-disposition https://updates.insomnia.rest/downloads/linux/latest
Check the file permission
$ ls -l Insomnia.Core-2020.4.1.AppImage -rw-rw-r-- 1 atetux atetux 115013045 Sep 23 05:55 Insomnia.Core-2020.4.1.AppImage
Before we able to run the Insomnia, set the permission to execute-able
chmod +x Insomnia.Core-*.AppImage
Let’s check again to make sure the Insomnia has correct permission
$ ls -l Insomnia.Core-2020.4.1.AppImage -rwxrwxr-x 1 atetux atetux 115013045 Sep 23 05:55 Insomnia.Core-2020.4.1.AppImage
Run the Insomnia
./Insomnia.Core-2020.4.1.AppImage
Troubleshooting
If Insomnia refuse to opened and gave following error
A JavaScript error occurred in the main process Uncaught Exception: Error: /tmp/.org.chromium.Chromium.Up51qo: failed to map segment from shared object at process.func [as dlopen] (electron/js2c/asar.js:140:31) at Object.Module._extensions..node (internal/modules/cjs/loader.js:1034:18) at Object.func [as .node] (electron/js2c/asar.js:149:18) at Module.load (internal/modules/cjs/loader.js:815:32) at Module._load (internal/modules/cjs/loader.js:727:14) at Function.Module._load (electron/js2c/asar.js:769:28) at Module.require (internal/modules/cjs/loader.js:852:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.<anonymous> (/tmp/.mount_InsomnLDwukl/resources/app.asar/node_modules/node-libcurl/dist/Easy.js:4:18) at Module._compile (internal/modules/cjs/loader.js:967:30)
that because the /tmp
folder didn’t allow any executable there, the solution is set the file in the folder as executeable
sudo mount /tmp -o remount,exec