{"id":17526705,"url":"https://github.com/patrikx3/ramdisk","last_synced_at":"2025-09-22T17:31:39.127Z","repository":{"id":57317523,"uuid":"90404287","full_name":"patrikx3/ramdisk","owner":"patrikx3","description":"💾 Linux Persistent RAM disk","archived":false,"fork":false,"pushed_at":"2024-07-15T05:56:48.000Z","size":416,"stargazers_count":60,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-09-17T03:32:35.026Z","etag":null,"topics":["bash","boot","idea","intellij","linux","patrikx3","ramdisk","service","symlink","systemd","timer","trash","unix"],"latest_commit_sha":null,"homepage":"https://www.corifeus.com/ramdisk","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patrikx3.png","metadata":{"files":{"readme":"README.md","changelog":"change-log.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-05T18:14:39.000Z","updated_at":"2024-08-02T07:57:57.000Z","dependencies_parsed_at":"2023-11-17T01:09:45.075Z","dependency_job_id":"a676ff73-4531-4c85-aa03-60ebca3cac11","html_url":"https://github.com/patrikx3/ramdisk","commit_stats":{"total_commits":296,"total_committers":1,"mean_commits":296.0,"dds":0.0,"last_synced_commit":"8eab58fb3d77ee360f39662d092c988c9bd9b6e0"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrikx3%2Framdisk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrikx3%2Framdisk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrikx3%2Framdisk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrikx3%2Framdisk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrikx3","download_url":"https://codeload.github.com/patrikx3/ramdisk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233869029,"owners_count":18743094,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","boot","idea","intellij","linux","patrikx3","ramdisk","service","symlink","systemd","timer","trash","unix"],"created_at":"2024-10-20T15:02:13.409Z","updated_at":"2025-09-22T17:31:39.120Z","avatar_url":"https://github.com/patrikx3.png","language":"JavaScript","readme":"[//]: #@corifeus-header\n\n  [![NPM](https://img.shields.io/npm/v/p3x-ramdisk.svg)](https://www.npmjs.com/package/p3x-ramdisk)  [![Donate for PatrikX3 / P3X](https://img.shields.io/badge/Donate-PatrikX3-003087.svg)](https://paypal.me/patrikx3) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) [![Corifeus @ Facebook](https://img.shields.io/badge/Facebook-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software)  [![Uptime ratio (90 days)](https://network.corifeus.com/public/api/uptime-shield/31ad7a5c194347c33e5445dbaf8.svg)](https://network.corifeus.com/status/31ad7a5c194347c33e5445dbaf8)\n\n\n\n\n\n# 💾 Linux RAM disk persistent with Systemd timer, service and suspend v2025.4.122\n\n\n  \n🌌 **Bugs are evident™ - MATRIX️**  \n🚧 **This project is under active development!**  \n📢 **We welcome your feedback and contributions.**  \n    \n\n\n\n### NodeJS LTS is supported\n\n### 🛠️ Built on NodeJs version\n\n```txt\nv22.13.1\n```\n\n\n\n\n\n# 📝 Description\n\n                        \n[//]: #@corifeus-header:end\n\n## Change log\n[Change log](change-log.md)\n\n\n## Breaking change \n\n[readme](artifacts/readme/breaking-change.md)\n\n# Install\n\n```bash\nsudo npm install -g p3x-ramdisk --unsafe-perm=true --allow-root\n```\n\n\n## IntelliJ Speed\nBased on:\nhttp://sheroz.com/pages/blog/improving-development-performance-moving-intellij-idea-cache-ramdisk.html  \n  \n![http://sheroz.com/pages/blog/improving-development-performance-moving-intellij-idea-cache-ramdisk.html](http://cdn.corifeus.com/git/ramdisk/artifacts/original-idea.png \"After all these tricks I tried to open my current project with IntelliJ IDEA 12 …\")  \n  \n```text\nAfter all these tricks I tried to open my current project with IntelliJ IDEA 12 … \n\nWow!!! It is fantastic! Works like a … sword!!! \n\nWhy sword?! I don’t know exactly. May be because of Darcula theme. This is just first thought what came to my mind seeing the overall results. \n\nThe Intellij IDEA 12 now works as a lightsaber sword, as a weapon of a Jedi Knight, which you can trust in Java world! \n```\n\n## Features\n\n* Requires tmpfs, bash, fstab, rsync, memory :)\n  * Usually, all requirements are available in many Unix flavors\n* SystemD\n  * Service\n  * Timer\n  * Suspend\n  * RAM disk to HDD\n* Linux for sure, easy to extend for Unix, BSD, macOS\n  * Should might need some tuning, but the functions are there, I just only tested in Linux. \n\n## Intel Optane\nI think my ramdisk is faster. Ciao!!! (:\n\n# Use case\nSpeed up IntelliJ and development Node. (Tons of files.)  \nThe result is that the development is many folds faster. No waiting at all.\n\n# Changelog\n\n* [Since **v2019.2.1**, BREAKING CHANGELOG](artifacts/readme/breaking-change.md#v201921)\n\n# Install\n\n## Warning\n\nDo not use the ```$USER``` variable, use the actual username, like ```p3x-robot```.\n\n## So actual install\n\n```text\npatrikx3@workstation ~ $ p3x-ramdisk install --help\n\n  Usage: install [options] \u003cuid\u003e\n\n  \nInstall a p3x-ramdisk    \n\n\n  Options:\n\n    -h, --help               output usage information\n    -r, --rampath [path]     The path of the ram disk, default /home/{{USER}}/ramdisk\n    -p, --persistent [path]  The path of the ram persistent, default /home/{{USER}}/ramdisk-persistent\n    -g, --gid [group]        The gid, it you omit it is the current user\n    -t, --timer [minutes]    The timer in minutes, minimum about 10 minutes, Default is 20 minutes, the best\n    -s, --size [megabytes]   Ramdisk in size of megabytes, default is 4096 megabytes\n```\n\n# IMPORTANT\n\nTrash is disabled in GNOME with p3x-ramdisk. It will ask for confirm to delete data.\nYou might have it in the previous save. It is possible to enable trash bin, but for me is not important now, so I disabled, memory is not cheap.\n\n# Setup\n\n **Use GitHub for info, NPM hides wide strings.**  \n \n https://github.com/patrikx3/ramdisk  \n\n```bash\n# of course your data will never be deleted,\n# double persistence (current, previouse, saves every 20 minutes)\n# load on boot, plus at shutdown and suspend it saves\n\nsudo npm install -g p3x-ramdisk --unsafe-perm=true --allow-root\n\n# install\n# if you need less/more memory, add -s 1024 or even more, 10GB is good :)\nsudo p3x-ramdisk install {{USER}}    \n\n# Get the output, add to /etc/fstab\necho \"tmpfs   /home/{{USER}}/ramdisk tmpfs   gid=10000,uid=10000,size=4096M   0 0\" | sudo tee -a /etc/fstab\nsudo mount -a\n# you should verify the ramdisk is existing now, you might have to reboot\n# on linux it can show your settings, like below:\ndf -h\n\n# if there is an error, you can \nsudo p3x-ramdisk stop {{USER}}\n\n# if all good\n# STARTUP THE RAMDISK PERSISTENT\nsudo p3x-ramdisk start {{USER}}\n\n# you can work like here (this a symlink, so you can't accidentally delete\n# so next time boot, it will re-create the symlink ...)\n# /home/{{USER}}/ramdisk/p3x-persistence\n\n# SOME DEBUG\np3x-ramdisk watch {{USER}}\n\n# to trigger a savs\np3x-ramdisk save {{USER}}\n\n# you don't need usually to save\n# the default is 20 minutes\n# the systemd service saves on suspend and shutdown\n\n\n# to stop the services\n# removes sync, so the ramdisk files will be unavailable,\n# only be in /home/username/ramdisk-persistent/current\nsudo p3x-ramdisk stop {{USER}} \n\n# your duplicate copies are\nls -all /home/{{USER}}/ramdisk-persistent/current/\nls -all /home/{{USER}}/ramdisk-persistent/previous/\n\n# you are done\n# the default use case is to speed up working with IntelliJ and my projects to ramdisk\n# if you just want persistent folder and that's all\n# there is a special folder, .p3x-ramdisk-link\n# everything there is linked into /home/{{USER}}\n# if there is nothing in .p3x-ramdisk-link\n# no linking is. to test it, you might not need it.\n```\n\n## Linkin' in /home\n\n```bash\n### //LINKING:START\n# LINKING - IS NOT REQUIRED, but is good as a sword :)\np3x-ramdisk save {{USER}}\nsudo p3x-ramdisk stop {{USER}}\nmkdir -p /home/{{USER}}/ramdisk-persistent/current/.p3x-ramdisk-link\n\ncp -avr /home/{{USER}}/.IntelliJIdea2019.2 /home/{{USER}}/ramdisk-persistent/current/.p3x-ramdisk-link\n\n# backup\nmkdir -p /home/{{USER}}/backup\nmv /home/{{USER}}/.IntelliJIdea2019.2 /home/{{USER}}/backup/ \n\n# need to delete the originals, since they become symlinks\nrm -rf /home/{{USER}}/.IntelliJIdea2019.2\n\nln -s  /home/{{USER}}/ramdisk-persistent/current/.p3x-ramdisk-link/.IntelliJIdea2019.2 /home/{{USER}}/.IntelliJIdea2019.2\n\nsudo p3x-ramdisk start {{USER}}\n### //LINKING:END\n```\n\n# Output \n  \n## Install\n  \n```text\npatrikx3@laptop:~/ramdisk/.p3x-ramdik-persistence/content/.p3x-ramdisk-link/Projects/patrikx3/ramdisk$ sudo p3x-ramdisk install patrikx3 -s 6144\n2018-05-08 00:30:08: terminal install\n\n2018-05-08 00:30:08: terminal copy\n\n2018-05-08 00:30:08: terminal suspend\n\n2018-05-08 00:30:08: terminal reload services\n\n2018-05-08 00:30:08: terminal install done\n\n\nSettings: {\n  \"rampath\": \"ramdisk\",\n  \"persistent\": \"ramdisk-persistent\",\n  \"uid\": \"patrikx3\",\n  \"uidNumber\": 10000,\n  \"gid\": \"patrikx3\",\n  \"timer\": 20,\n  \"size\": \"4096\",\n  \"home\": \"/home/patrikx3\",\n  \"script\": \"/home/patrikx3/.p3x-ramdisk\"\n}    \n    \nFinal commands:\n--------------------------\n1) You only have to do it once, if you haven't done it before\n\necho \"tmpfs   /home/patrikx3/ramdisk tmpfs   gid=10000,uid=10000,size=4096M   0 0\" | sudo tee -a /etc/fstab\nsudo mount -a\n\n--------------------------\n2) verify that ramdisk is working, see it here\n\ndf -h\n\n--------------------------\n3) if everything is ok, start the persistent ramdisk\n\nsudo p3x-ramdisk start {{USER}}\n\npatrikx3@laptop:~/ramdisk/.p3x-ramdik-persistence/content/.p3x-ramdisk-link/Projects/patrikx3/ramdisk$ \n```\n\n## Watching the RAM disk\n\n```bash\np3x-ramdisk watch {{USER}}\n```\n\n```text\nFilesystem                                                 Size  Used Avail Use% Mounted on\ntmpfs                                                      4,0G  2,0G  2,1G  50% /home/patrikx3/ramdisk\n\n              total        used        free      shared  buff/cache   available\nMem:            31G        3,3G         18G        2,0G        9,8G         25G\nSwap:          8,0G          0B        8,0G\n                         \n                         \nLoad: 2018-05-27 09:01:49  2018-05-27 09:01:56  0 minutes 7 seconds\nSave: 2018-05-27 09:20:00  2018-05-27 09:20:16  0 minutes 16 seconds\n\n2018-05-27 09:20:00: timer save, ramdisk to current\n2018-05-27 09:20:00: timer save /home/patrikx3/ramdisk/.p3x-ramdik-persistence/content to /home/patrikx3/ramdisk-persistent/current\n2018-05-27 09:20:16: timer saved\n2018-05-27 09:20:16: timer save done\n2018-05-27 09:20:16: timer 0 minutes 16 seconds\n\n5/27/2018, 9:24:45 AM | Persistence 20 minutes | Watch 1 second\n```\n\n# LOGS\n\n``` /home/{{USER}}/ramdisk-persistent/ramdisk-persistent.log ```  \n``` /home/{{USER}}/ramdisk-persistent/update-at-load.log ```  \n``` /home/{{USER}}/ramdisk-persistent/update-at-save.log ```\n\n\n## LOG info\n\n```text\n2018-05-06 02:57:37: boot loading\n2018-05-06 02:57:37: boot load /home/patrikx3/ramdisk-persistent/current to /home/patrikx3/ramdisk/.p3x-ramdik-persistence/content\n2018-05-06 02:57:47: boot loaded\n2018-05-06 02:57:47: boot link\n2018-05-06 02:57:47: boot link /home/patrikx3/ramdisk/.p3x-ramdisk-persistence/content/.IntelliJIdea2018.3 to /home/patrikx3/.IntelliJIdea2018.3\n2018-05-06 02:57:47: boot link /home/patrikx3/ramdisk/.p3x-ramdisk-persistence/content/Projects to /home/patrikx3/Projects\n2018-05-06 02:57:47: boot link done\n2018-05-06 02:57:47: boot 0 minutes 10 seconds\n\n2018-05-06 02:57:47: timer save\n2018-05-06 02:57:47: timer save, current to previous\n2018-05-06 02:57:47: timer save /home/patrikx3/ramdisk-persistent/current to /home/patrikx3/ramdisk-persistent/previous\n2018-05-06 02:57:50: timer saved\n2018-05-06 02:57:50: timer save, ramdisk to current\n2018-05-06 02:57:50: timer save /home/patrikx3/ramdisk/.p3x-ramdisk-persistence/content to /home/patrikx3/ramdisk-persistent/current\n2018-05-06 02:57:53: timer saved\n2018-05-06 02:57:53: timer save done\n2018-05-06 02:57:53: timer 0 minutes 6 seconds\n```\n\n## LOG Update\n\n```text\n2018-05-06 03:31:51\n2018-05-06 03:31:57\n0 minutes 6 seconds\n```  \n\n# Thunder ramdisk persistence\n```text\npatrikx3@workstation ~/ramdisk-persistent/current/.p3x-ramdisk-link $ ll\ntotal 32\ndrwxr-xr-x  8 patrikx3 patrikx3 4096 May  7 13:04 ./\ndrwxr-xr-x  3 patrikx3 patrikx3 4096 May  7 13:02 ../\ndrwxr-xr-x  4 patrikx3 patrikx3 4096 Apr 25 17:51 .IntelliJIdea2018.3/\npatrikx3@workstation ~/ramdisk-persistent/current/.p3x-ramdisk-link $ \n```\n\n[//]: #@corifeus-footer\n\n---\n\n## 🚀 Quick and Affordable Web Development Services\n\nIf you want to quickly and affordably develop your next digital project, visit [corifeus.eu](https://corifeus.eu) for expert solutions tailored to your needs.\n\n---\n\n## 🌐 Powerful Online Networking Tool  \n\nDiscover the powerful and free online networking tool at [network.corifeus.com](https://network.corifeus.com).  \n\n**🆓 Free**  \nDesigned for professionals and enthusiasts, this tool provides essential features for network analysis, troubleshooting, and management.  \nAdditionally, it offers tools for:  \n- 📡 Monitoring TCP, HTTP, and Ping to ensure optimal network performance and reliability.  \n- 📊 Status page management to track uptime, performance, and incidents in real time with customizable dashboards.  \n\nAll these features are completely free to use.  \n\n---\n\n## ❤️ Support Our Open-Source Project  \nIf you appreciate our work, consider ⭐ starring this repository or 💰 making a donation to support server maintenance and ongoing development. Your support means the world to us—thank you!  \n\n---\n\n### 🌍 About My Domains  \nAll my domains, including [patrikx3.com](https://patrikx3.com), [corifeus.eu](https://corifeus.eu), and [corifeus.com](https://corifeus.com), are developed in my spare time. While you may encounter minor errors, the sites are generally stable and fully functional.  \n\n---\n\n### 📈 Versioning Policy  \n**Version Structure:** We follow a **Major.Minor.Patch** versioning scheme:  \n- **Major:** 📅 Corresponds to the current year.  \n- **Minor:** 🌓 Set as 4 for releases from January to June, and 10 for July to December.  \n- **Patch:** 🔧 Incremental, updated with each build.  \n\n**🚨 Important Changes:** Any breaking changes are prominently noted in the readme to keep you informed.\n\n---\n\n\n[**P3X-RAMDISK**](https://corifeus.com/ramdisk) Build v2025.4.122\n\n [![NPM](https://img.shields.io/npm/v/p3x-ramdisk.svg)](https://www.npmjs.com/package/p3x-ramdisk)  [![Donate for PatrikX3 / P3X](https://img.shields.io/badge/Donate-PatrikX3-003087.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=QZVM4V6HVZJW6)  [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) [![Like Corifeus @ Facebook](https://img.shields.io/badge/LIKE-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software)\n\n\n\n\n\n[//]: #@corifeus-footer:end\n\n","funding_links":["https://paypal.me/patrikx3","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=QZVM4V6HVZJW6"],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrikx3%2Framdisk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrikx3%2Framdisk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrikx3%2Framdisk/lists"}