{"id":21204393,"url":"https://github.com/acidvegas/dram","last_synced_at":"2026-01-02T13:32:28.648Z","repository":{"id":218292657,"uuid":"728043396","full_name":"acidvegas/dram","owner":"acidvegas","description":"Decentralized Remotely Accessed Memory","archived":false,"fork":false,"pushed_at":"2024-01-21T01:22:46.000Z","size":4,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-21T15:21:39.381Z","etag":null,"topics":["ram","random-access-memory","remote-memory"],"latest_commit_sha":null,"homepage":"https://downloadmoreram.com","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/acidvegas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-06T05:25:39.000Z","updated_at":"2024-06-25T03:24:32.000Z","dependencies_parsed_at":"2024-01-21T02:24:10.516Z","dependency_job_id":"417c192e-81d3-44bd-bca0-53dea9bfc523","html_url":"https://github.com/acidvegas/dram","commit_stats":null,"previous_names":["acidvegas/dram"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidvegas%2Fdram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidvegas%2Fdram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidvegas%2Fdram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidvegas%2Fdram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acidvegas","download_url":"https://codeload.github.com/acidvegas/dram/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243658185,"owners_count":20326465,"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":["ram","random-access-memory","remote-memory"],"created_at":"2024-11-20T20:32:17.520Z","updated_at":"2026-01-02T13:32:28.621Z","avatar_url":"https://github.com/acidvegas.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Decentralized Remotely Accessed Memory\n\nEver joked about [downloading more RAM](https://downloadmoreram.com/)? 🤣 WELL NOW YOU CAN MOTHER FUCKER!\n\n**Here's the deal:** we use a [tmpfs](https://en.wikipedia.org/wiki/Tmpfs) on the donor machine to pretend a chunk of its RAM is a hard drive. Then, we get fancy with [NFS](https://en.wikipedia.org/wiki/Network_File_System) to share this faux-drive over the network 🌐. On the recipient's side, we mount this networked RAM-drive and set up a swap file.\n\nGo insane with it \u0026 donate RAM from multiple machines...decentralize the RAM of a single server all over the planet! Latency is the devil 😈 LOL\n\n## The make-it-happen Magic\n#### Setup RAM Donator\n1. Create an entry in `/etc/fstab` to create the RAM partition:\n\n`tmpfs /mnt/ramote_send tmpfs nodev,nosuid,noexec,nodiratime,size=1G 0 0`\n\n**Note:** Change `1G` to the amount of RAM you want to donate.\n\n2. Create the RAM partition directory \u0026 mount it:\n\n```bash\nmkdir -p /mnt/ramote_send\nmount /mnt/ramote_send\n```\n\n3. Download \u0026 install an NFS server daemon of your choice:\n\n```bash\napt-get install nfs-kernel-server\n```\n\n4. Configure \u0026 start the NFS server:\n- Edit your `/etc/exports` file:\n\n`/mnt/ramote_send \u003cclient-ip\u003e(rw,sync,no_root_squash,no_subtree_check)`\n\n- Start \u0026 enable the service:\n\n```bash\nsystemctl start nfs-kernel-server\nsystemctl enable nfs-kernel-server\n```\n\n---\n\n#### Setup RAM Receiver\n1. Create a directory \u0026 mount the NFS:\n\n```bash\nmkdir -p /mnt/ramote_recv\nmount \u003cnfs-server-ip\u003e:/mnt/ramote_send /mnt/ramote_recv\n```\n\n2. Create \u0026 enable a swap file inside the NFS directory:\n```bash\ndd if=/dev/zero of=/mnt/ramote_recv/swapfile bs=1M count=1024\nchmod 600 /mnt/ramote_recv/swapfile\nmkswap /mnt/ramote_recv/swapfile\nswapon /mnt/ramote_recv/swapfile\n```\n\n**Note:** Change the swap file size according to what you allocated on the donator.\n\n3. Create an entry in `/etc/fstab` to for the NFS mount \u0026 the swap file:\n\n```\n\u003cnfs-server-ip\u003e:/mnt/ramote_send /mnt/ramote_recv nfs defaults 0 0\n/mnt/ramote_recv/swapfile swap swap defaults 0 0\n```\n\nYou can do this across various machines \u0026 use multiple swap files for decentralize even more.\n\n___\n\n###### Mirrors for this repository: [acid.vegas](https://git.acid.vegas/dram) • [SuperNETs](https://git.supernets.org/acidvegas/dram) • [GitHub](https://github.com/acidvegas/dram) • [GitLab](https://gitlab.com/acidvegas/dram) • [Codeberg](https://codeberg.org/acidvegas/dram)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facidvegas%2Fdram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facidvegas%2Fdram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facidvegas%2Fdram/lists"}